在移动设备上进行离线反向地理编码的技术?

2023-12-10

我正在开发一个移动地图应用程序(目前是 iOS,最终是 Android) - 我正在努力解决如何在不使用在线服务的情况下最好地支持从纬度/经度到国家/州的反向地理编码。

Apple 的反向地理编码 API 依赖于 Google 作为后端,并且在连接时运行良好。我也可以使用 Open Street Maps 项目或任意数量的其他 Web 服务来实现类似的功能。

然而,我真正想要的是创建一个 C 库,即使在应用程序中离线时我也可以调用该库,传递 GPS 坐标,并让它返回这些坐标处的国家/地区和/或州。我不需要比州级更细的粒度,因此数据集并不大。

我见过如何在服务器上执行此操作的示例,但从未见过任何适合移动设备的示例。

我听说空间石可能是一个解决方案,但我不确定如何让它在 iOS 上工作,我想知道这是否对这个问题来说是矫枉过正。

有哪些推荐的技术可以实现这一目标?


Radven

您将需要获取所有行政实体(美国各州、国家等)的 Shapefile(纬度/经度轮廓)。这些有很多公共领域的资源。例如,NOAA 有美国各州和地区的 shapefile,您可以下载:

http://www.nws.noaa.gov/geodata/catalog/national/html/us_state.htm

获得形状文件后,您可以使用形状文件阅读器来测试纬度/经度是否在形状内。 C语言有开源阅读器,google一下就可以了。我在 sourceforge 上看到过关于 shapefile 的东西,但我自己没有使用过。

OpenGeoCode.Org 团队

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在移动设备上进行离线反向地理编码的技术? 的相关文章

  • 当前图像选择模式会擦除 UI

    我下面有一个非常简单的视图控制器 UI 实际上只是一个带有底部标签栏的按钮 import UIKit class ImageAdderViewController UIViewController override func viewDid
  • 如何跟踪 SwiftUI 应用程序中的所有触摸

    我正在尝试在 SwiftUI 应用程序中实现锁屏 我需要跟踪每个事件才能重新启动锁定计时器 在 UIKit 应用程序中 我使用了这种方法 重写 UIApplication 它允许了解应用程序中的任何事件 override func send
  • 如何在 SwiftUI 中将变量从一个视图传递到另一个视图

    我正在尝试将一个变量从一个视图传递到 SwiftUI 中的另一个视图 我有一个重置按钮 我想在另一个视图中将变量设置为零 我尝试在视图一中创建一个新结构并在视图2中访问该变量 View 1 State var count MyNumber
  • 使用 Swift 在 Sprite Kit 中构建棋盘游戏? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在使用 Swift 的 Sprite Kit 中 我试图构建一个国际象棋棋盘 实际上是一个类似国际象棋的棋盘 平铺网格 那么一般来说
  • 如何在UiView中添加UIImagePickerController

    如何在TabBarApplication中的UiView中添加UIImagePickerController 无论您是否在选项卡中 此代码都会进入您视图的 ViewController 类 当您需要时创建一个选择器 UIImagePicke
  • Google Cardboard - Cardboard VR 套件有 iPhone / iOS 入门项目吗?

    我正在看Google Cardboard 套件 一种廉价的 VR 设置 https developers google com cardboard 使用 Android 设备玩 3d VR 游戏 我看到他们有一个 Android 演示项目
  • iOS-将图像转为视频时,CVPixelBufferCreate内存无法正确释放

    我正在将图像制作成视频 但总是因为内存警告而崩溃 分配太多CVPixelBufferCreate 我不知道如何正确处理 我看过很多类似的主题 但没有一个能解决我的问题 这是我的代码 void writeImagesArray NSArray
  • iOS SecItemCopyMatching RSA 公钥格式?

    我正在尝试从已生成的密钥对 两个SecKeyRefs 以便通过线路发送 我所需要的只是一个简单的 modulus exponent 对 它应该正好占用 131 个字节 模数为 128 指数为 3 但是 当我获取关键信息时NSData对象 我
  • 从软件查找服务返回无效结果

    我尝试通过 XCode 组织者提交 iOS 应用程序 但在身份验证后失败 组织者说 从软件查找服务返回的结果无效 我怎么解决这个问题 检查 iTunes Connect 中您的应用程序状态是否为 等待上传 您可以更改状态以按 准备上传二进制
  • 如何在 UITextView 中禁用放大功能

    我想摆脱 UITextView 中的放大和文本选择 但我需要电话号码 链接和地址检测器 我在用 void addGestureRecognizer UIGestureRecognizer gestureRecognizer if gestu
  • Draggable Boxview 不更新 Xamarin

    我的第一个问题是框视图生成在左上角 而不是我指定的设计网格第 10 行和网格第 3 列 第二个问题在于可拖动视图 在代码本地可拖动视图的第一部分中 它正确地调用了触摸事件 但也许它没有在GUI中更新
  • iOS 中系统日期更改后如何更改带有日期的标签?

    我有一个简单的查询 但不知道该怎么做 这就是我想要实现的目标 1 我有一个带有今天日期的 UILabel 即 29 04 12 2 在午夜 我希望该标签自行更新为 30 04 12 而无需更改视图或按任何内容 这是第2步 我不知道该怎么做
  • 在 UITableViewCell 内动态更改标签宽度

    我正在尝试建立一个自定义表格视图 正如您在图片中看到的 我在故事板一侧将标签的宽度默认设置为 160 磅 并在加载表格时动态更改宽度 我通过修改 cellForRowAtIndexPath 委托方法来实现此目的 因此 根据日期的长度 我设置
  • WKWebView在后台,几个奇怪的断言

    我想找出iOS中当前浏览器的userAgent 所以在 Xcode 创建的默认项目中我添加了 import ViewController h import
  • 在两个可移动 uiview 之间画线

    我有一个带有节点的 滚动视图 UIViews 可以拖动 我正在尝试在选定的之间绘制边缘UIViews使用 calayer 但我不知道当视图位置发生变化时如何重新绘制线条 In my viewControllerI 类在节点数组中添加第一个和
  • UINavigationBar 滑开而不是留在原处

    我创建了演示项目来展示问题 我们在 UINavigationController 中有两个视图控制器 MainViewController这是根 class MainViewController UIViewController lazy
  • 如何在 iOS 应用程序中检测所有可用的 Wifi 网络并连接到其中之一

    在我的 iOS 应用程序中 我想检测所有可用的 wifi 网络 然后从列表中选择一个网络并连接到它 目标是不打开应用程序内置的设置来连接 Wi Fi 而是在我的应用程序中完成这一切 首先 这可能吗 如果可能的话 请指出要使用哪些框架和方法
  • dyld:无法加载插入的库,但可以在模拟器和另一部 iPhone 上使用

    所以我在过去的几个小时里在我的应用程序上编码 在某个时候我决定在我的 iPhone 8 13 3 1 上启动我的应用程序而不是使用模拟器 13 3 它立即崩溃并出现以下错误 dyld warning could not load inser
  • 使用自定义格式将字符串转换为 NSDate [重复]

    这个问题在这里已经有答案了 可能的重复 NSString 到 NSDate https stackoverflow com questions 1353081 nsstring to nsdate iPhone 如何将 yyyyMMddTh
  • 构建 iOS 应用程序后退出代码 1 错误

    我正在尝试使用 RestKit 构建我的项目 当我构建它时 我收到以下错误 我尝试使用 Apple LLVM 3 0 和 LLVM GCC 4 2 进行编译 两者都产生相同的结果 任何人有任何想法是什么导致了这个问题 Ld Users Ji

随机推荐

  • 如何在docker容器中优雅地关闭tomcat中的servlts?

    到目前为止我发现了什么 docker stop 向容器中的进程 ID 1 发送 SIGTERM 容器中的进程ID 1是运行tomcat的java进程 是的 tomcat 本身会正常关闭 但 servlet 不会这样做 Servlet 会在
  • 在javascript中如何动态获取对象的嵌套属性

    var arr foo 1 bar baz 2 bee 3 function getter variable return arr variable 如果我想要 foo 与 bee 我可以这样做arr variable 这很简单 函数就可以
  • Apache CXF 初始化上的调用方法

    我正处于 如何做 阶段Apache CXF并想知道是否有办法在服务器启动时调用方法 它类似于JSF网络应用程序 当我使用 ApplicationScoped托管 Bean 与eager true 当容器启动时 带注释的类被实例化 我可以从它
  • 改变WinForm边框的样式?

    是否可以更改 WinForm 边框的样式 我知道 如果删除边框 就会失去调整程序大小的功能 因此 有没有办法改变它的样式 但保持它的大小可调 你所寻求的并不简单 因为边界是由操作系统划定的 然而 CodePlex 上有一个库确实可以做到这一
  • OpenMP 卸载了在主机和目标设备中执行的目标区域

    我正在开发一个项目 需要使用 Clang 将 OpenMP 卸载到 Nvidia GPU 我能够按照提到的说明安装 Clang 以支持卸载here 系统规格 操作系统 Ubuntu 16 04 LTS 铿锵 版本 4 00 处理器 Inte
  • 在 Oracle PL/SQL 中从 xml 中提取值

  • 使用 \copy 时的 Postgres 变量替换

    我正在使用 psql 命令 copy 并且我想从 shell 向它传递一个变量 用于表名 就像我在编写查询脚本时所做的那样 我在文档中读到 该命令的语法与 SQL COPY 命令类似 请注意 因此 特殊的解析规则适用于 copy 命令 特别
  • 使用 web.config 文件在 IIS 中看似简单的重定向

    我重组了一个托管在 Windows 服务器上的 WordPress 网站 因此我尝试使用 web config 文件进行重定向 我已经尝试了几十种示例的变体 但无法使其工作 新的 url 已更改为 www mysite com wp wha
  • 在 Folium 中突出显示一个特定国家

    我有一张由folium绘制的地图 如下 m folium Map location 51 1657 10 4515 zoom start 6 min zoom 5 max zoom 7 如何摆脱邻国而只保留德国 或者邻国变得褪色 模糊 苍白
  • 如何从 LotusScript 代理调用 SOAP 1.2 Web 服务?

    我在 Windows 服务器上使用 Lotus Domino 9 我必须打电话给Soap 1 2不再维护的网络服务 莲花Web 服务消费者只接受Soap 1 1web 服务 所以我不能使用这个很好的功能来绑定我的 web 服务 是否可以致电
  • 在 C 中转换向量的 C++ 实现

    我用 C 编写了以下代码 但是发现我必须将其转换为 C 我不是 C 甚至 C 程序员 请帮忙 有人可以帮我将此方法更改为 C 指令 特别是向量实现 以下将无法编译我已经删除了复杂性以保持简单 感谢期待 declspec dllexport
  • 编码的共享 URI 中的站点无效

    我尝试使用 Microsoft Graph 从共享链接中提取一些文件 但是 当我尝试使用 Microsoft Graph Explorer 执行此操作时 它返回 error code invalidRequest message The s
  • 我无法全局安装nodemon,“nodemon”无法识别

    我想使用 nodemon 来监视我的 node js 应用程序 然后执行下一行命令 npm install g nodemon or npm install nodemon g 当我移动到我的应用程序文件夹并尝试 nodemon app j
  • 引用计数降至零后多久调用 __del__ ?

    引用计数达到零后多久 del 方法调用 该语言是否承诺在任何其他使用代码执行之前它会立即完成 或者每个实现都可以做它喜欢的事情 可能会延迟对 del 任意长 请忽略程序即将退出时的情况 我认为这意味着给定块中的最后一条语句已完成 并且堆栈为
  • 以高于屏幕分辨率的 dpi 打印表单

    Problem 我们需要有关如何使用 WinForms 自动缩放到不同 DPI 的功能的帮助 以便我们能够以 600 dpi 而不是屏幕 DPI 打印表单 对于 所见即所得 打印 我们只是简单地使用布局精美的窗口并打印它 关闭滚动条和按钮等
  • pandas drop_duplicates 不可散列类型:'numpy.ndarray'、'set' 和 'list'

    我正在尝试使用drop duplicates在a的一列上dataframe A len 1 2 2 1 2 2 3 1 4 5 2 4 5 2 结果dataframe应该看起来像 A len 1 2 2 3 1 4 5 2 我努力了df d
  • AffineTransform 截断图像

    我有一个图像 我必须将其旋转 45 90 135 180 度 我在做什么 try BufferedImage src ImageIO read new File src png double ang Math toRadians 90 Af
  • Imagick 制作动画 GIF 而不是动画?

    我正在向 imagick 发送图像 当它是动画 gif 时 它会删除动画并留下单个静态图像 这是因为调整大小代码吗 或者它是 imagick 库中固有的东西 下面是我的代码 这里有什么问题吗 if isset FILES image all
  • 在 Windows 上通过 putty 通过 ssh 编写脚本

    我需要编写从 Windows 机器恢复 Linux 机器的 mysql 脚本 我有 putty 并且我知道它有 ssh 功能 这是我所拥有的 C Progra 1 Putty putty exe ssh root 10 1 2 3 mysq
  • 在移动设备上进行离线反向地理编码的技术?

    我正在开发一个移动地图应用程序 目前是 iOS 最终是 Android 我正在努力解决如何在不使用在线服务的情况下最好地支持从纬度 经度到国家 州的反向地理编码 Apple 的反向地理编码 API 依赖于 Google 作为后端 并且在连接