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

1,391 阅读1分钟

“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.00.5]

            }

"geometry": {

                "type""LineString",

                "coordinates": [[102.00.0], [103.01.0], [104.00.0], [105.01.0]]

            }


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

 `const { parse, stringify } = require('wellknown');

let _feature = parse('POINT(1 2)');

let _stringdata = stringify(_feature);`

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

参考文章:

GeoJSON说明:
baike.baidu.com/item/GeoJso… 

WKT说明:
baike.baidu.com/item/wkt%20…   

github类库:
github.com/mapbox/well…