Arcgis for Android 空间数据WKT与JSON描述
点线面数据标准格式
一、 点
WKT:
POINT(-118.4 -45.2)
JSON:
{
"x": -118.4,
"y": -45.2,
"spatialReference": {
"wkid": 4326
}
}
二、 多点
WKT:
MULTIPOINT(1.01 2.02, 2.01 3.01)
注意:这个结构与OGC标准不同,这是sqlite的几何体的结构。
OGC标准: MULTIPOINT( (1.01 2.02), (2.01 3.01))
JSON:
{
"points": [
[
1.01,
2.02
],
[
2.01,
3.01
]
],
"spatialReference": {
"wkid": 4326
}
}
三、 线
WKT:
LINESTRING(668540.706869 4858267.857562, 668545.871539 4858270.322537, 668535.504206 4858270.059492)
JSON:
{
"paths": [
[
[
668540.706869,
4858267.857562
],
[
668545.871539,
4858270.322537
],
[
668535.504206,
4858270.059492
]
]
],
"spatialReference": {
"wkid": 102100
}
}
四、 多义线
WKT:
MULTILINESTRING((668540.706869 4858267.857562,668545.871539 4858270.322537),(668535.504206 4858270.059492, 668535.504206 4858270.059492))
JSON:
{
"rings": [
[
[
668540.706869,
4858267.857562
],
[
668545.871539,
4858270.322537
]
],
[
[
668535.504206,
4858270.059492
],
[
668535.504206,
4858270.059492
]
]
],
"spatialReference": {
"wkid": 102100
}
}
五、 多边形
注意: 多边形首尾两点坐标是相同的。
WKT:
POLYGON((10172081.707086032 3426616.2980572497,10181098.35305895 3439876.071546833,10188842.060776865 3423858.265171416,10172081.707086032 3426616.2980572497))
JSON:
{
"rings": [
[
[
10172081.707086032,
3426616.2980572497
],
[
10181098.35305895,
3439876.071546833
],
[
1266114.9310351424,
3430468.042044999
],
[
10188842.060776865,
3423858.265171416
] ,
[
10172081.707086032,
3426616.2980572497
]
]
],
"spatialReference": {
"wkid": 102100
}
}
六、 多多边形
WKT:
MULTIPOLYGON(((752912.250297 5028764.989051, 753066.871935 5028928.677375, 753417.249537 5028775.949135, 753828.826422 5027429.54477, 752992.3308 5028072.927877, 752912.250297 5028764.989051)))
JSON:
{
"rings": [
[
[
752912.250297,
5028764.989051
],
[
753066.871935,
5028928.677375
],
[
753417.249537,
5028775.949135
],
[
753828.826422,
5027429.54477
],
[
752992.3308,
5028072.927877
],
[
752912.250297,
5028764.989051
]
]
],
"spatialReference": {
"wkid": 102100
}
}
实际应用开发
1) WKT与JSON格式的相互转换。
WKT转成JSON方法: String WKT.read(String wktsr)
JSON转成WKT方法: String WKT.write(String jsonstr)
2) 基于第一点可将WKT生成Arcgis for Android 的几何体Geometry。
从Spatialite数据库读取几何体的WKT字符串:
SELECT ASTEXT(geometry) FROM test
将WKT字符串转成JSON,通过GeometryEngine的jsonToGeometry方法将JSON转成Geometry对象。
String str= "{\"rings\":[[[1007664.4779535953,3710553.4649297176],[957962.4793888753,3190110.978805308],[1266114.9310351424,3430468.042044999],[1007664.4779535953,3710553.4649297176]]],\"spatialReference\":{\"wkid\":102100}} ";
JsonFactory jsonFactory = new JsonFactory();
try {
JsonParser jsonParser = jsonFactory.createJsonParser(str);
MapGeometry mapgeo = GeometryEngine.jsonToGeometry(jsonParser);
Geometry geo = mapgeo.getGeometry();
} catch (JsonParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
3) 将Arcgis for android Geomtery 存入空间数据库Spatialite中,我是指存入空间数据而不是WKT字符串。
JSON字符串是通过GeometryEngine的geometryToJson方法生成,转成WKT后再插入空间数据库。
将多点数据插入Spatialite数据库:
INSERT INTO test ( geometry) VALUES(GeomFromText('MULTIPOINT(1.01 2.02, 2.01 3.01)', 4326))
Arcgis for Android 空间数据WKT与JSON描述的更多相关文章
- 【Arcgis for android】相关教程收集自网络
请加入qq群:143501213 一起交流和学习 推荐博客: 张云飞VIR http://www.cnblogs.com/vir56k/tag/arcgis%20for%20android/ arcg ...
- ArcGIS for Android离线数据编辑实现原理
来自:http://blog.csdn.net/arcgis_mobile/article/details/7565877 ArcGIS for Android中现已经提供了离线缓存图片的加载功能,极 ...
- (转) Arcgis for js之WKT和GEOMETRY的相互转换
http://blog.csdn.net/gisshixisheng/article/details/44057453 1.wkt简介 WKT(Well-known text)是一种文本标记语言,用于 ...
- ArcGis for Android 工作与学习
ArcGis安装 需求 windows7(32/64) Eclipse3.6以上版本 Android Sdk 2.2以上 Jdk 7 安装步骤 Eclipse安装 下载ArcGis插件 在Eclips ...
- 创建一个ArcGIS for Android 新项目并显示出本地的地图
1.准备工作:首先要配置好android的开发环境,然后在Eclipse中安装ArcGIS for Android的开发控件:在ArcCatalog中发布好本地的地图服务. 2.安装完ArcGIS f ...
- Arcgis for android 离线查询
参考.. 官方API demo ... 各种资料 以及.. ArcGIS for Android示例解析之高亮要素-----HighlightFeatures ttp://blog.csdn.net/ ...
- ArcGIS for Android地图控件的5大常见操作
GIS的开发中,什么时候都少不了地图操作.ArcGIS for Android中,地图组件就是MapView,MapView是基于Android中ViewGroup的一个类(参考),也是ArcGIS ...
- arcgis for android访问arcgis server上自己制作部署的地图服务
转自:http://gaomw.iteye.com/blog/1110437 本项目的开发环境是eclipse3.5 + ADT11插件+arcgis for andorid 插件 + arcgis ...
- ArcGIS for Android学习(一)
GIS的开发中,什么时候都少不了地图操作.ArcGIS for Android中,地图组件就是MapView,MapView是基于Android中ViewGroup的一个类(参考),也是ArcGIS ...
随机推荐
- TT 安装前配置 共享内存,在页,信号量
以下各节描述的步骤在Linux系统上安装的TimesTen之前执行: 共享内存(Linux的):PermSize + TempSize + LogBufMB + 64 MB # vi /etc/sys ...
- linux 期中架构之 nginx 安装与排错
1, 安装 nginx 所需要的pcre库 即:perl 兼容正则表达式 yum install pcre pcre-devel -y rpm -qa pcre pcre-devel 检查是否安装好p ...
- (转)Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步
Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步原文:http://www.summerspacestation.com/linux%E4%B8%8B%E9%80 ...
- os.popen('python hello_out.py')中Python程序执行时默认的当前路径为MS-DOS CMD的默认路径
>>> import os >>> os.getcwd() 'D:\\pythonCode\\pp4e' >>> os.chdir('Stream ...
- 阿里云centos 7 中tomcat 自启动
这里我的tomcat的安装路径为 /usr/local/tomcat 1 为tomcat添加自启动参数 catalina.sh在执行的时候会调用同级路径下的setenv.sh来设置额外的环境变量,因此 ...
- TOJ 1883 Domino Effect
Description Did you know that you can use domino bones for other things besides playing Dominoes? Ta ...
- JDBC的PreparedStatement启动事务使用批处理executeBatch()
JDBC使用MySQL处理大数据的时候,自然而然的想到要使用批处理, 普通的执行过程是:每处理一条数据,就访问一次数据库: 而批处理是:累积到一定数量,再一次性提交到数据库,减少了与数据库的交互次数, ...
- Beautiful Soup库介绍
开始前需安装Beautiful Soup 和lxml. Beautiful Soup在解析时依赖解析器,下表列出bs4支持的解析器. 解析器 使用方法 Python标准库 BeautifulSoup( ...
- [转]Debugging into .NET Core源代码的两种方式
本文转自:http://www.cnblogs.com/maxzhang1985/p/6015719.html 阅读目录 一.前言 二.符号服务器 三.项目中添加ASP.NET Core源代码 四.写 ...
- height百分比以及高度自适应问题
1. 你曾经是否说想要 高度占页面或者占div百分比无效的问题,相信你也搜索过了,就是说 需要 设置父亲父亲一直到祖宗html都要设置百分比,才有效果. 总之一句话:想用百分比设置他的高度,则它的父 ...