点线面数据标准格式

一、 

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描述的更多相关文章

  1. 【Arcgis for android】相关教程收集自网络

    请加入qq群:143501213 一起交流和学习 推荐博客: 张云飞VIR http://www.cnblogs.com/vir56k/tag/arcgis%20for%20android/ arcg ...

  2. ArcGIS for Android离线数据编辑实现原理

    来自:http://blog.csdn.net/arcgis_mobile/article/details/7565877 ArcGIS for Android中现已经提供了离线缓存图片的加载功能,极 ...

  3. (转) Arcgis for js之WKT和GEOMETRY的相互转换

    http://blog.csdn.net/gisshixisheng/article/details/44057453 1.wkt简介 WKT(Well-known text)是一种文本标记语言,用于 ...

  4. ArcGis for Android 工作与学习

    ArcGis安装 需求 windows7(32/64) Eclipse3.6以上版本 Android Sdk 2.2以上 Jdk 7 安装步骤 Eclipse安装 下载ArcGis插件 在Eclips ...

  5. 创建一个ArcGIS for Android 新项目并显示出本地的地图

    1.准备工作:首先要配置好android的开发环境,然后在Eclipse中安装ArcGIS for Android的开发控件:在ArcCatalog中发布好本地的地图服务. 2.安装完ArcGIS f ...

  6. Arcgis for android 离线查询

    参考.. 官方API demo ... 各种资料 以及.. ArcGIS for Android示例解析之高亮要素-----HighlightFeatures ttp://blog.csdn.net/ ...

  7. ArcGIS for Android地图控件的5大常见操作

    GIS的开发中,什么时候都少不了地图操作.ArcGIS for Android中,地图组件就是MapView,MapView是基于Android中ViewGroup的一个类(参考),也是ArcGIS ...

  8. arcgis for android访问arcgis server上自己制作部署的地图服务

    转自:http://gaomw.iteye.com/blog/1110437 本项目的开发环境是eclipse3.5 + ADT11插件+arcgis for andorid 插件 + arcgis ...

  9. ArcGIS for Android学习(一)

    GIS的开发中,什么时候都少不了地图操作.ArcGIS for Android中,地图组件就是MapView,MapView是基于Android中ViewGroup的一个类(参考),也是ArcGIS ...

随机推荐

  1. win10更新后电脑没声音问题

    2018-07-18 问题描述: win10系统更新之后,发现电脑突然没声音了 解决方案: 找到了一个软件,测试超级好用,下载链接 链接:https://pan.baidu.com/s/1iKTHp7 ...

  2. cas aqs lock之间的关系

    CAS 对应cpu的硬件指令, 是最原始的原子操作 cas主要是在AtomicInteger AtomicXXX类中使用, 用于实现线程安全的自增操作 ++. 对应一个unsafe对象, 根据os平台 ...

  3. Caused by java.lang.IllegalStateException Not allowed to start service Intent { cmp=com.x.x.x/.x.x.xService }: app is in background uid UidRecord(一)

    Caused by java.lang.IllegalStateException Not allowed to start service Intent { cmp=com.x.x.x/.x.x.x ...

  4. C++的一些编程规范

    新规范的目标: 让代码排错更加简单 程序员专心于业务逻辑 将一些错误交给编译器处理 提高代码可维护性 逐步实现插件化 编码 使用array(QT下用QVarLengthArray)代替和vector代 ...

  5. 你还在把Java当成Android官方开发语言吗?Kotlin了解一下!

    导语:2017年Google IO大会宣布使用Kotlin作为Android的官方开发语言,相比较与典型的面相对象的JAVA语言,Kotlin作为一种新式的函数式编程语言,也有人称之为Android平 ...

  6. React.js 小书 Lesson11 - 配置组件的 props

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson11 转载请注明出处,保留原文链接和作者信息. 组件是相互独立.可复用的单元,一个组件可能在不 ...

  7. FZU 1924——死锁——————【topo判环】

    死锁 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Pr ...

  8. could not find an installed version of gradle either in android studio

    问题描述: 很多人在Ionic升级到3之后,无缘无故发现,当我们添加android平台后,build或者run的时候,命令行窗口给我们提示: 如果在Ionic2时add的android platfor ...

  9. Win2D 官方文章系列翻译 - 预乘 Alpha

    本文为个人博客备份文章,原文地址: http://validvoid.net/win2d-premultiplied-alpha/ 在计算机绘图中有两种表示颜色值不透明度的方法.Win2D 中两种方法 ...

  10. MySQL8.0加载文件内容报错: ERROR 1148: The used command is not allowed with this MySQL version

    mysql数据库将文件内容加载到表中报错: mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet LINES TERMINAT ...