GeoJson的mysql和java应用
一、 mysql数据库示例
1、 查询窗口输入SELECT ST_AsGeoJSON(ST_GeomFromText(‘POINT(11.11111 12.22222)’));

2、 返回结果 {“type”: “Point”, “coordinates”: [11.11111, 12.22222]}
3、 type:point 表示数据类型为Point ,“coordinates”: [11.11111, 12.22222]表示X坐标为11.11111,Y坐标为12.22222
4、 mysql官方参考链接
https://dev.mysql.com/doc/refman/5.7/en/spatial-geojson-functions.html
二、 java示例
1、引入maven包,应用geotools工具包
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-geojson</artifactId>
<version>23.0</version>
</dependency>
<dependency>
<groupId>org.locationtech.jts</groupId>
<artifactId>jts-core</artifactId>
<version>1.16.0</version>
</dependency>
Jar包下载仓库地址要单独配置
http://docs.geotools.org/latest/userguide/tutorial/quickstart/maven.html
<repositories>
<repository>
<id>osgeo</id>
<name>OSGeo Release Repository</name>
<url>https://repo.osgeo.org/repository/release/</url>
<snapshots><enabled>false</enabled></snapshots>
<releases><enabled>true</enabled></releases>
</repository>
</repositories>
2、编写测试用例
/** * geotools官方文档地址 http://docs.geotools.org/ * geotools maven配置地址 http://docs.geotools.org/latest/userguide/tutorial/quickstart/maven.html * wkt geojson概念介绍 https://blog.csdn.net/xcymorningsun/article/details/89848096 */ public class GeoJsonTest { @Test void pointTest() { // wkt转geoJson try { String wktPoint = "POINT(11.11111 12.22222)"; WKTReader reader = new WKTReader(); Geometry geometry = reader.read(wktPoint); StringWriter writer = new StringWriter(); GeometryJSON g = new GeometryJSON(); g.write(geometry, writer); String result = writer.toString(); System.out.println("GeoJson结果=" + result); } catch (Exception e) { System.out.println("转换异常!" + e.toString()); } // geoJson转wkt try { String geoJson = "{"type":"Point","coordinates":[11.1111,12.2222]}"; GeometryJSON gjson = new GeometryJSON(); Reader reader = new StringReader(geoJson); Geometry geometry = gjson.read(reader); String wkt = geometry.toText(); System.out.println("wkt结果=" + wkt); } catch (IOException e) { System.out.println("转换异常!" + e.toString()); } } }
3、运行结果

个人学习笔记,记录日常学习,便于查阅及加深,仅为方便个人使用。

浙公网安备 33010602011771号