5

我是新来的,这是我的第一个话题。我在 iOS 平台上很新,我正在尝试使用 sqlite3 的空间扩展,但我不能这样做。这让我发疯了。我不知道如何以及从哪里开始。有人可以给我建议吗?

谢谢。

4

4 回答 4

14

我是在 http:// 上共享库的人;-) 我在简化 iOS 空间空间的集成方面取得了一些良好进展。现在我能够构建一个完全独立的空间静态库(2.3.1 嵌入了所需的 GEOS 和 PROJ,因此不必使用它们)。

只需下载 zip http://lionel.gueganton.free.fr/spatialite/spatialite2.3.1.zip,您将获得 x86 和 arm + 标头的 .a,以便您可以直接使用这些标头中的 spatialite 接口。

一旦你拖放了 .a (两者都需要在模拟器和真实硬件上工作),你可以通过调用spatialite_init(1).

您的控制台日志中应显示以下内容:

SpatiaLite version ..: 2.3.1    Supported Extensions:
    - 'VirtualShape'    [direct Shapefile access]
    - 'VirtualText      [direct CSV/TXT access]
    - 'VirtualNetwork   [Dijkstra shortest path]
    - 'RTree'       [Spatial Index - R*Tree]
    - 'MbrCache'        [Spatial Index - MBR cache]
    - 'VirtualFDO'      [FDO-OGR interoperability]
    - 'SpatiaLite'      [Spatial SQL - OGC]
PROJ.4 version ......: Rel. 4.6.1, 21 August 2008
GEOS version ........: 3.1.1-CAPI-1.6.0

于 2011-02-01T14:29:26.223 回答
3

卷起来,卷起来,趁热把它们拿走!

高手,谷歌福在这一点上很强!

不能说我写了这个(我确实计划为 iPhone SQLite 和 Spatialite 提供 CMake 脚本,很快就会实现),但我建议你在 404 之前访问这个站点

http://lionel.gueganton.free.fr/spatialite/

去下载一些好东西,包括预编译的 Spatialite + extensions 2.3.1 二进制文件!!!。

有一个SQLite-on-OSX Cmake 脚本(最初在此处找到),可能只需很少的工作,就应该可以在 SQLite-iPhone 构建中重新定位(我会做,只要我有时间)。这应该允许您使用最新的 SQLite 版本(我读过 Apple 包含的版本略有残缺)。然后,假设您只需要以本地方式引用的头文件,即使用引号

(例如“sqllitexxx.h”)

而不是使用尖括号:

( <sqllitexoldx.h> )

那么,我得到那些多汁的分数了吗 ;-) ?

干杯

大富翁

于 2011-01-28T17:35:52.740 回答
2

iOS 版 Spatialite 只需 3 个简单步骤:

  1. 从https://github.com/gstf/libspatialite-ios获取 Makefile 和补丁
  2. 输入品牌
  3. 没有第 3 步

向 Gustaf Lindqvist 致敬,感谢您提供此功能!

于 2013-05-26T16:32:01.387 回答
1

您可能必须编译为 armv7 目标(优化构建),您还应该与 stdlib++.dylib 链接。

于 2011-02-01T14:39:12.503 回答