ObjectiveC中的Shapefile

7

我想知道是否有一个可以操作shapefile(读/写/编辑)的objective-C类?

我找到了很多关于kml文件的内容,但没有关于shp文件的,但是我肯定想避免转换文件格式(shp->kml)的需要。

谢谢


1
你打算承认这两个答案中的任何一个吗? - Greg Combs
2个回答

11

有一种方法是由 Pascal Brandt 提供的,它是一个CocoaShapeFile,虽然有点简单,但对我来说已经足够了。他只是把 C 语言函数包装成 Objective-C 的形式,但可以用于读取。如果你打算面向 iOS 而不是 Cocoa,则需要进行一些简单的转码/转换。

只要花费一点努力,我就能够在 iPad 上使用 MapKit,并使用引用计数代替垃圾回收(iOS 不支持垃圾回收)运行它。

为了可能减轻你的痛苦(尽管我不知道你计划如何使用 shapefiles),但我发布了一个快速而简单的 git 存储库iOS-Shapefile,它展示了如何将 shapefile 形状(如点和多边形/折线)放入 iOS MKMapView 中。

至于写作和编辑(因为这超出了我的兴趣范围),我认为你可能需要自己编写方法,与我在这里提供的方法不同。


5

查看Shapelib库。它是用C语言编写的,但可以在Objective-C中使用,因为OBJ-C是C语言的超集 :)


1
从技术上讲,您将无法使用Shapelib库,因为它具有LGPL许可证,该许可证与App Store不兼容。 - dbainbridge
你确定吗?我认为你指的是GPL而不是LGPL。你有参考来源吗? - jocull
1
似乎Shapelib实际上是双重许可证,支持MIT。 - mkrus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接