我想尝试做一个地理编码应用程序并访问存储在 SQLite 数据库中的数据。将提供邮政编码、城镇或城市,我想返回长/纬度。我希望它快速尖叫,但我不确定如何组织数据库中的数据。
这是我正在使用的数据:
城镇、城市、邮政编码、国家、经度、纬度
这可能很简单,但我对此很陌生,我会从一些建议中受益。
人们会拼错您建议用作搜索条件的所有内容。因此,请勿在此数据库表中使用字符串表示 Town、City、Postcode 和 Country。
一个好的第一步是使用一个 Id,在一个单独的表(例如 Towns 表)中查找 Id。然后,用户可以使用 ID 的组合查找纬度和经度。如果省略一个或多个 Id,可能会返回多个结果。例如,如果他们只提供 Postcode 和 Country 的 Id,那将匹配多个 Cities/Towns。
专门查找纬度和经度的更有效方法是将特定地点 ID 分配给包含纬度和经度的表中的每个条目
PlaceId Latitude Longitude
允许用户单独查找 PlaceId(通过使用 Town、City、Postcode、Country 的组合并从多个返回值中进行选择以获取特定的 Place)。使用该 PlaceId 来查找纬度和经度。