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

简介: 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

相关文章
MyBatisPlus+PostGIS实现Geometry数据的通用读写
MyBatisPlus+PostGIS实现Geometry数据的通用读写
1118 0
|
消息中间件 网络协议 物联网
MQTT常见问题之物联网设备端申请动态注册时MQTT服务不可用如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
数据可视化 前端开发 关系型数据库
基于Mybatis-Plus实现Geometry字段在PostGis空间数据库中的使用
本文讲解在mybatis-plus中操作geometry空间字段,同时实现查询和插入操作​。通过geojson,结合前端可视化组件即可完成​矢量数据的空间可视化。
3286 0
基于Mybatis-Plus实现Geometry字段在PostGis空间数据库中的使用
|
开发工具 git
IDEA中如何使用Git 图文超详细
IDEA中Git使用,实战教程
9590 1
IDEA中如何使用Git 图文超详细
|
JavaScript 前端开发
JS之url进行编码和解码(三种方式)
JS之url进行编码和解码(三种方式)
19822 2
|
8月前
|
Java Maven 微服务
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的 maven 依赖
在项目中使用Swagger2工具时,需导入Maven依赖。尽管官方最高版本为2.8.0,但其展示效果不够理想且稳定性欠佳。实际开发中常用2.2.2版本,因其稳定且界面友好。以下是围绕2.2.2版本的Maven依赖配置,包括`springfox-swagger2`和`springfox-swagger-ui`两个模块。
334 0
|
移动开发 Java API
大疆无人机对接
本文介绍了大疆无人机对接第三方云平台的方案,包括设备对接和CloudAPI对接两种方式,重点讨论了CloudAPI对接。CloudAPI对接方案通过DJI Pilot 2或大疆机场将无人机与第三方云平台连接,实现低门槛接入,无需重复开发APP。方案优势在于让开发者更专注于业务开发,而非无人机功能适配。文章详细阐述了对接流程,包括环境准备、申请APPKey、对接流程、直播功能及获取无人机实时数据等内容,并提供了丰富的接口说明和技术支持资源。
7407 4
大疆无人机对接
|
Java Spring
SpringBoot: 启动Banner在线生成工具
SpringBoot: 启动Banner在线生成工具
35882 1
SpringBoot: 启动Banner在线生成工具
|
Java Maven Spring
如何在idea中创建Springboot项目? 手把手带你创建Springboot项目,稳!
文章详细介绍了在IDEA中创建Spring Boot项目的过程,包括选择Spring Initializr、配置项目属性、选择Spring Boot版本、导入依赖、等待依赖下载以及项目结构简介。
14048 1
|
移动开发 JavaScript 安全
js的常见的三种密码加密方式-MD5加密、Base64加密和解密和sha1加密详解总结
js的常见的三种密码加密方式-MD5加密、Base64加密和解密和sha1加密详解总结
779 0

热门文章

最新文章