对大型数据集进行地理编码以在 iPhone 应用程序中使用
问题:我有一个包含大约 500000 个美国地址的大型 SQLite 数据库,我将其包含在我的 iPhone 应用程序中。我想在 MKMapView 上显示距离给定位置最近的 10 个作为 MKAnnotations。
选项 1:通过邮政编码搜索数据库以获取较少数量的地址。只需选择前 10 个并对它们进行在线地理编码,然后显示在地图上。
选项 2:对整个数据库进行离线预地理编码,将经纬度存储在 sqlite 数据库中。按邮政编码搜索。使用 CLLocation 查找返回的数据中最接近的 10 个。
还有其他我没有想到的选择吗?我目前正在研究选项 2。我从 OpenStreetMaps 下载了 Planet.OSM 数据库。但我有点迷失了下一步该做什么。我可能需要设置 Nominatim 的本地实例?不太确定。
Problem: I have a large sqlite database of roughly 500000 US addresses that I include in my iPhone application. I want to show the closest 10 to a given location as MKAnnotations on a MKMapView.
Option 1: Search database by zipcode to get a smaller number of addresses. Just choose the first 10 and geocode them online, display on map.
Option 2: Pre-geocode entire database offline, storing lat,lon in the sqlite db. Search by zipcode. Use CLLocation's to find the closest 10 in the data returned.
Is there any other option I haven't thought of? I am currently looking into option 2. I downloaded the Planet.OSM database from OpenStreetMaps. But I got a little lost on what to do next. I probably need to setup a local instance of Nominatim? Not really sure.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论