geojson 简介
官网地址:
-
https://geojson.org/
-
http://geojson.io/
GeoJSON 是一种用于编码各种地理数据结构的格式。
{ "type": "Feature", "geometry": { "type": "Point", "coordinates": [125.6, 10.1] }, "properties": { "name": "Dinagat Islands" } }
GeoJSON 支持以下几何类型:Point、LineString、 Polygon、MultiPoint、MultiLineString和MultiPolygon。具有附加属性的几何对象是Feature对象。特征集包含在FeatureCollection对象中。
wkt简介
WKT(Well-known text)是一种文本标记语言,用于表示矢量几何对象、空间参照系统及空间参照系统之间的转换。它的二进制表示方式,亦即WKB(well-known binary)则胜于在传输和在数据库中存储相同的信息。该格式由开放地理空间联盟(OGC)制定。
WKT可以表示的几何对象包括:点,线,多边形,TIN(不规则三角网)及多面体。可以通过几何集合的方式来表示不同维度的几何对象。
几何物体的坐标可以是2D(x,y),3D(x,y,z),4D(x,y,z,m),加上一个属于线性参照系统的m值。 以下为几何WKT字串样例:
POINT(6 10)
LINESTRING(3 4,10 50,20 25)
POLYGON((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2))
MULTIPOINT(3.5 5.6, 4.8 10.5)
MULTILINESTRING((3 4,10 50,20 25),(-5 -8,-10 -8,-15 -4))
MULTIPOLYGON(((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2)),((6 3,9 2,9 4,6 3)))
GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10))
POINT ZM (1 1 5 60)
POINT M (1 1 80)
POINT EMPTY
MULTIPOLYGON EMPTY
geojson 和 wtk 的区别
WKT是用来单独表示空间点、线、面数据,GeoJSON还可以用来表示空间数据和属性数据的集合 (crs、bbox属性)。
通常在大多数时候,两种会同时使用。例如postgis中可以同时转换geojson(ST_AsGeoJSON(geometry geom) )和wkt(ST_AsText(geometry geom)).
geojson 和 wkt相互转换【java版本】
通过geotools的依赖包转换
官网:https://www.geotools.org/
通常和空间信息数据操作的包均可以通过geotools的包来实现。同时也带来了一些弊端,geotools的包体量较大。
pom
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.13.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.13.2</version> </dependency> <!-- geo --> <dependency> <groupId>org.geotools</groupId> <artifactId>gt-geojson</artifactId> <version>21.0</version