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

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(使用前将#替换为@)

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

  • 部署目标是什么意思?

    这是我假设的一个非常简单的问题 有人可以告诉我部署目标是什么意思吗 如果我选择 iOS 10 是否意味着只有 iOS 10 的用户才能下载该应用程序 选择较低的部署目标是否不好 另外 继续部署目标 是否不建议在较低的部署目标上运行 假设您已
  • 在 Android 上使用 opus 剪辑从 IOS 发送的声音

    我正在 IOS 中从 audioUnit 录制音频 用 opus 编码字节并通过 UDP 将其发送到 android 端 问题是播放的声音有点削波 我还通过将原始数据从 IOS 发送到 Android 来测试声音 效果非常完美 我的 Aud
  • iPhone iOS 保存从 UIImageJPEGRepresentation() 获得的数据第二次失败:ImageIO: CGImageRead_mapData 'open' failed

    我的 UIImage 操作遇到了一个奇怪的问题 我正在进行保管箱同步 并且必须将我的图像存储为本地文件 为此 我使用以下命令保存它们UIImagePNGRepresentation image or UIImageJPEGRepresent
  • 允许的 APNS 持续连接数量是多少?

    我正在尝试编写服务器端代码来为我的应用程序发送推送通知 根据 Apple 的建议 我计划保留连接并根据需要发送推送通知 Apple 还允许打开和保留多个并行连接以发送推送通知 您可以与同一网关或多个网关实例建立多个并行连接 为此 我想维护一
  • iOS 中如何清除特定域的 cookie?

    我已经搜索了 StackOverflow 上的几乎所有问题来寻找我的问题的答案 我还没有找到任何有用的链接或教程来说明哪种方式最好清除特定域的 cookie 如果有人可以帮助我 请 我自己找到了解决方案 如果您想删除 UIWebView 中
  • 自定义字体显示在 IB 中,但不显示在模拟器中

    我已经设置了一个UITextView and a UILabel使用自定义字体 它是垂直镜像的蒙古文字体 但我还添加了英文文本 以便您可以看到效果 这些文字显示在 Interface Builder 中 但在模拟器中大部分字符都在UITex
  • XMPPFramework - 如何创建多用户聊天室?

    我如何使用XMPPFramework在iPhone中实现GroupChat 我尝试了以下代码 但房间没有创建 我如何知道房间是否创建 XMPPRoomDelegate没有被调用 当Stream断开连接时 调用handleDidLeaveRo
  • ios 用户如何取消 Facebook 登录?

    当用户到达此屏幕时 无法取消 我能做些什么 为了首先获得这个视图 我正在运行 NSMutableDictionary params NSMutableDictionary dictionaryWithObjectsAndKeys vid l
  • 将永久字符添加到 UITextField

    有没有办法将字母永久添加到 UITextField 中 用户无法删除它 我想添加一个字符 用户无法删除它 但他们仍然可以在之后添加字母 Cheers 附注这是适用于 iOS 的 A UITextField有一个名为 应该更改范围内的字符 的
  • 从 UIImagePickerController 相机视图推送 viewController

    我正在开发一款消息应用程序 类似于 WhatsApp 用户可以互相发送文本和图像消息 当用户想要发送图像时 他可以从相机胶卷中选择一张图像 也可以用相机拍摄一张图像 这就是我介绍的方式UIImagePickerController对于这两种
  • 如何打开定位服务

    当有人第一次拒绝时 如何从实际应用程序重新打开定位服务 我可以选择关闭或打开它 您只能提示他们在屏幕上打开定位服务 如下所示 UIApplication sharedApplication openURL NSURL URLWithStri
  • 打乱 NSMutableArray 而不重复并显示在 UIButton 中

    在我看来 我有 12 个按钮 一个数组包含 6 个名称 我想在其中打印数组名称UIButton标题 这是我的代码 texts NSMutableArray alloc initWithObjects 1 2 3 4 5 6 nil UIBu
  • 在 WKWebView 中禁用放大手势

    我正在寻找一种方法来禁用 WKWebView 的 iOS 实现上的 捏合缩放 放大手势 OS X 有一个 magnification BOOL 属性 但在 iOS 上似乎不可用 WKWebView h if TARGET OS IPHONE
  • 如何在 iOS 9 上可靠地检测是否连接了外部键盘?

    在 iOS 9 之前 确定是否连接外部键盘的最可靠方法是监听UIKeyboardWillShowNotification并使文本字段成为第一响应者 如中所述这个问题 https stackoverflow com questions 289
  • UIScrollView setZoomScale 将应用的旋转设置回零

    我已经从事地图替换工作很长一段时间了 整个事情的工作原理是UIScrollView由一个支持CATiledLayer 为了旋转我的地图 我旋转图层本身 使用CATransform3DMakeRotation 到目前为止效果很好 但如果我打电
  • 如何使用AudioKit保存音频文件?

    我有音频文件 我给它做了一些效果 let pitchshifter AKPitchShifter self audioPlayer pitchshifter shift 10 AudioKit output pitchshifter 如果我
  • 如何接收有关与我共享的记录中所做更改的 CloudKit 通知?

    我有两个 iCloud 帐户 A and B 在两个不同的设备上 来自其中之一 A 我将 ckrecord 分享给另一个人 B 像这样 let controller UICloudSharingController controller p
  • 推送动画,没有阴影和停电

    我有一个简单的iOS NavigationController基于应用程序 二UICollectionViews 相继 如果元素打开 第一个合集 被点击时 第二集 将被打开 非常简单 重要的提示 Both UICollectionViews
  • 如何让按钮闪烁?

    我试图在扫描正确时将按钮的颜色 只是闪烁 闪烁 更改为绿色 在出现问题时将按钮的颜色更改为红色 我可以用这样的视图来做到这一点 func flashBG UIView animateWithDuration 0 7 animations s
  • iOS - UITableViewCell 使文本加粗

    我有一个字符串 NSString userInfo James Johnson james 我想做的就是大胆James Johnson并保留 james正常字体 所以我尝试过的是使用NSAttributedString但为了完成这个过程 我

随机推荐

  • 如何在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 作为后端 并且在连接