6

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

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

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

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

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

任何信息将不胜感激。

4

1 回答 1

1

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

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

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

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

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

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

于 2012-10-08T14:29:37.000 回答