ESRI,空间数据处理,WKT,GeoJson
ESRI,空间数据处理,WKT,GeoJson
一、WKT
WKT(well-known text)是一种文本标记语言,用于表示矢量数据中的几何对象,在数据传输与数据库存储时,常用到它的二进制形式,即WKB(well-known binary)。WKT与WKB在GIS中的重要作用在于,它们能利用文本简洁明了的表达矢量空间要素的几何信息,使得几何信息能以字段的形式存储于数据库中。
WKT 示例:
"MULTIPOLYGON (((120.309929 36.060021,120.426772 36.020983,120.309929 36.026087,120.309929 36.060021)))"
二、GeoJson
GeoJSON是一种用于编码各种地理数据结构的格式,基于Javascript对象表示法的地理空间信息数据交换格式。GeoJSON里的特征包含一个几何对象及其其他属性,geoJson可以很好的结合前端展示。
geoJson 示例
{
"type": "Feature",
"geometry": {
"type":"Polygon",
"coordinates":[[[120.309929,36.060021],[120.309929,36.026087],[120.426772,36.020983],[120.309929,36.060021]]]}
},
"properties": {
"name": "Dinagat Islands"
}
}
WKT和GeoJson都是地理位置信息处理常用的工具,二者都支持点、线、面、多点、多面等几何类型,在处理GIS、AIS等数据的时候经常需要二者相互转换结合使用,常用的工具是geotools和ESRI。ESRI比较轻量级。 可以应用于Hadoop、HIve、Storm等大数据平台的开发。支持GeoJson、WKT、Shape等数据格式的读写与相互转换。也包含空间数据集操作的API:面积、距离、包含、交叉等。
三、WKT转GeoJson
val wktString = "MULTIPOLYGON (((120.309929 36.060021, 120.426772 36.020983,120.309929 36.026087,120.309929 36.060021)))"
// WKT 转GeoJson
val geom: Geometry = OperatorImportFromWkt.local
.execute(WktImportFlags.wktImportDefaults, Geometry.Type.Polygon, wktString, null)
val geojson: String = OperatorExportToGeoJson.local().execute(geom)
println(geojson)
返回的GeoJson只包含‘Type’和‘coordinates’属性。
{"type":"Polygon","coordinates":[[[120.309929,36.060021],[120.309929,36.026087],[120.426772,36.020983],[120.309929,36.060021]]]}
四、GeoJson 转 WKT
// GeoJson 转 WKT
val geometry: Geometry = OperatorImportFromGeoJson.local()
.execute(GeoJsonImportFlags.geoJsonImportDefaults, Geometry.Type.Polygon, geojson, null)
.getGeometry
val wktStringParsed = OperatorExportToWkt.local()
.execute(WktImportFlags.wktImportDefaults, geometry, null)
println(wktStringParsed)
MULTIPOLYGON (((120.309929 36.060021, 120.309929 36.026087, 120.426772 36.020983, 120.309929 36.060021)))
ESRI,空间数据处理,WKT,GeoJson的更多相关文章
- (转)R空间数据处理与可视化
前言 很多朋友说在R里没法使用高德地图,这里给出一个基于leaflet包的解决方法. library(leaflet) # 添加高德地图 m <- leaflet() %>% addTil ...
- SuperMap空间数据处理与制图操作短视频汇总
转自:http://blog.csdn.net/supermapsupport/article/details/70227669 空间数据处理与制图是GIS系统建设最基础的部分,这里利用超图桌面软件- ...
- Python空间数据处理环境搭
Python空间数据处理环境搭 Conda的下载和安装 什么是Conda? 官方定义:Package, dependency and environment management for any la ...
- 利用ArcEngine开发地图发布服务,将mxd文档一键发布成wmts,并根据需要对地图进行空间查询,返回客户端geojson
一直想开发一个软件取代ArcGIS Server,该软件使用ArcEngine开发,以Windows Service形式发布,部署在服务端上,解决wmts地图服务发布和空间查询的问题,经过不断的研究. ...
- JavaScript 空间分析库——JSTS和Turf【转】
https://blog.csdn.net/neimeng0/article/details/80363468 前言 项目中有管线的空间拓扑关系查询需求,在npm中检索到JSTS和Turf两个Java ...
- 标准WPS框架下的空间信息处理服务部署方法
笔者第一篇博客里面曾介绍过将专题图制作功能发布为WPS,但随着后面的研究,才发现那时候发布的不是真正WPS框架下的服务,而只是通过Servlet将其发布为可调用的网络服务,所以今天再具体介绍一下真正的 ...
- (数据科学学习手札74)基于geopandas的空间数据分析——数据结构篇
本文对应代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 geopandas是建立在GEOS.GDAL.P ...
- Data Lake Analytics的Geospatial分析函数
0. 简介 为满足部分客户在云上做Geometry数据的分析需求,阿里云Data Lake Analytics(以下简称:DLA)支持多种格式的地理空间数据处理函数,符合Open Geospatial ...
- 开源GIS软件初探
谈到GIS软件,首先让我们想到的便是GIS界的龙头大哥ESRI公司旗下的ArcGIS产品,从最初接触的version 9.2到如今的version 10.1,其发展可谓风生水起.MapInfo软件也不 ...
随机推荐
- Pytest测试框架(一):pytest安装及用例执行
PyTest是基于Python的开源测试框架,语法简单易用,有大量的插件,功能非常多.自动检测测试用例,支持参数化,跳过特定用例,失败重试等功能. 安装 pip install -U pytest ...
- 自动化运维工具-Ansible之5-流程控制
自动化运维工具-Ansible之5-流程控制 目录 自动化运维工具-Ansible之5-流程控制 playbook条件语句 单条件 多条件 多条件运算 示例 playbook循环语句 with_ite ...
- sql操作数据库(3)-->外键约束、数据库表之间的关系、三大范式、多表查询、事务
外键约束 在新表中添加外键约束语法: constraint 外键约束名称 foreign key(外键的字段名称) references 主表表名(主键字段名) 在已有表中添加外键约束:alter t ...
- 【SpringBoot】前缀树 Trie 过滤敏感词
1.过滤敏感词 Spring Boot实践,开发社区核心功能 完成过滤敏感词 Trie 名称:Trie也叫做字典树.前缀树(Prefix Tree).单词查找树 特点:查找效率高,消耗内存大 应用:字 ...
- 本地jar添加到本地仓库 本地jar依赖无效问题
最近工作发生了一个很奇怪的事情,我在本地写了一个项目,打包成jar,然后敲命令mvn install:install-file -DgroupId=com.yzwine -DartifactId=yz ...
- Doris
Doris 基本概念 Doris 是基于 MPP 架构的交互式 SQL 数据仓库,主要用于解决近实时的报表和多维分析. Doris 分成两部分 FE 和 BE ,FE 负责存储以及维护集群元数据.接收 ...
- USB限流IC,输入5V,输出5V,最大3A限流
USB限流芯片,5V输入,输出5V电压,限流值可以通过外围电阻进行调节,PWCHIP产品中可在限流范围0.4A-4.8A,并具有过压关闭保护功能. 过压关闭保护: 如芯片:PW1555,USB我们一半 ...
- k8s之共享存储概述以及演示
共享存储机制 k8s对有状态的容器应用或者需要对数据进行持久化的应用,在之前的篇章说过,可以将容器内的目录挂载到宿主机的容器目录或者emptyDir临时存储卷. 另外,k8s还开放了两个资源,分别是P ...
- CoeMonkey少儿编程第4章 变量
点击这里,现在就开启CodeMonkey的趣味编程之旅. 目标 了解什么是变量 了解变量的命名规则 掌握如何使用变量 变量 什么是变量?顾名思义,变量就是可以变化的量. 和变量相对的是常量,即不可变化 ...
- 为什么MySQL索引使用B+树
为什么MySQL索引使用B+树 聚簇索引与非聚簇索引 不同的存储引擎,数据文件和索引文件位置是不同的,但是都是在磁盘上而不是内存上,根据索引文件.数据文件是否放在一起而有了分类: 聚簇索引:数据文件和 ...