mysql POINT(120.231830086559 29.2610637098551) 这样的字段 java如何获取经纬度
时间: 2024-05-14 20:13:49 浏览: 9
这个字段代表的是 MySQL 数据库中的地理坐标点,其中第一个值代表经度,第二个值代表纬度。要在 Java 中获取这个点的经纬度,你可以使用 MySQL Connector/J 驱动连接到 MySQL 数据库,并使用 SQL 查询语句来获取这个字段,然后使用 Java 的字符串处理方法将其转换为经度和纬度的值。例如,下面的代码片段演示了如何使用 MySQL Connector/J 获取这个字段的经纬度:
```java
// 加载 MySQL Connector/J 驱动
Class.forName("com.mysql.jdbc.Driver");
// 连接到 MySQL 数据库
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
// 执行查询语句
PreparedStatement stmt = conn.prepareStatement("SELECT ST_X(location), ST_Y(location) FROM mytable WHERE id = ?");
stmt.setInt(1, 1);
ResultSet rs = stmt.executeQuery();
// 获取查询结果
if (rs.next()) {
double longitude = rs.getDouble(1);
double latitude = rs.getDouble(2);
// 输出经纬度
System.out.println("Longitude: " + longitude);
System.out.println("Latitude: " + latitude);
}
// 关闭连接
rs.close();
stmt.close();
conn.close();
```
其中,`location` 是存储地理坐标点的字段名,`mytable` 是存储这个字段的表名,`id` 是这个记录的主键值。这个查询语句使用 MySQL 的空间函数 `ST_X` 和 `ST_Y` 来获取这个字段的经度和纬度值。如果你在表中保存地理坐标点的数据类型为 `Point`,则这个查询语句可以改为:
```sql
SELECT ST_X(geometry), ST_Y(geometry) FROM mytable WHERE id = ?
```
其中,`geometry` 是存储地理坐标点的字段名。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)