GIS开发:GeoJSON坐标和WKT的转换

“OpenGIS的说明书中定义了两个表述空间对象的标准方式:一个是WKT(the Well-Known Text)形式,另一个是WKB(the Well-Known Binary)形式。这两种形式都包括对象的类型信息和形成对象的坐标信息。”

下面是用字符来描述要素的空间对象的例子:
POINT(0 0)
LINESTRING(0 0,1 1,1 2)
POLYGON ((90 0,4 0,4 4,0 4,0 0),(1 1 ,2 1, 2 2, 1 2, 1 1))

GeoJSON是一种对各种地理数据结构进行编码的格式,基于Javascript对象表示法的地理空间信息数据交换格式。GeoJSON对象可以表示几何、特征或者特征集合。

GeoJSON中的坐标表现如下:

            "geometry": {
                "type": "Point",
                "coordinates": [102.0, 0.5]
            }
"geometry": {
                "type": "LineString",
                "coordinates": [[102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]]
            }

一般在地图的客户端支持按照GeoJSON的形式进行图层加载,在后端的数据库处理中,一般是支持WKT格式的坐标返回,所以,需要在中间有一个转换过程,当然在新版的PostGIS中,可以直接返回GeoJSON数据。
mapbox 开放js类库,可以将两者的坐标形式进行转换。
github地址:
https://github.com/mapbox/wellknown
wkt和geojson坐标格式:

 const { parse, stringify } = require('wellknown');
let _feature = parse('POINT(1 2)');
let _stringdata = stringify(_feature);

这是nodejs的方式,其他的使用在github上也有对应说明。

参考文章:

GeoJSON说明:
https://baike.baidu.com/item/GeoJson/12011566?fr=aladdin
WKT说明:
https://baike.baidu.com/item/wkt%20ewkt/4299879?fr=aladdin
github类库:
https://github.com/mapbox/wellknown

更多文章请关注公众号支持!
GIS开发:GeoJSON坐标和WKT的转换_第1张图片

你可能感兴趣的:(gis,geojson,wkt)