在Android中映射空间数据

Han*_*ank 6 java gis mapping android

我有一个空间表,我想在Android中将其对象映射到画布上.这是在SpatiaLite数据库中.

我可以以SVG格式获取对象数据并从中创建地图,但效率不高.原始对象数据以blob格式保存.

我的问题是,GIS系统如何映射他们的数据.我想映射对象并能够触摸它们以提取它们的属性信息.

这是一个非常简单的问题,答案很大.但我只是在寻找一个可以开始的地方.

我不打算建立一个GIS系统,只是创建一些类似的功能.

任何信息将不胜感激.

Han*_*ank 1

我发现除了 svg 之外还有几个选项:

查询数据并将其解析为 JTS 几何对象,如果需要,可以通过 JTS 将对象操作为坐标数组。JTS-1.8.jar 是当前最新的库。

使用它来解析: Geometryometry = new WKBReader().read(stmt.column_bytes(2));

OpenGL 1 或 2 似乎不是使用 Canvas,而是灵活地生成高度可配置的地图的方法。要使用此功能,所有几何图形必须转换为浮点数组,然后转换为浮点缓冲区,有很多关于 OpenGL Android OpenGL 的教程 和 Android OpenGL 入门是两个非常好的教程。

Habib:spatialite 和 android 的一个很好的起点是这个例子:spatialite-android

为了使用 OpenGL 选择地图上的几何对象,需要选择单击点周围的缓冲区或区域、更改单击对象的颜色以及在可显示的对象上创建元数据。这可能有点宽泛,但我还没有讲到这一点,所以很多都是理论上的。