地理编码的数据库结构

时间:2012-07-30 19:54:03

标签: database sqlite search

我想尝试做一个地理编码应用程序并访问存储在SQLite数据库中的数据。将提供邮政编码,城镇或城市,我想返回长/拉特。我希望它快速尖叫,但我不确定如何在数据库中组织数据。

以下是我正在使用的数据:

  

城镇,城市,邮政编码,国家,经度,纬度

这可能很简单,但对此我不熟悉,我会从一些建议中受益。

1 个答案:

答案 0 :(得分:0)

人们会错误拼写您建议用作搜索条件的所有内容。因此,请勿在此数据库表中使用城镇,城市,邮政编码和国家/地区的字符串。

一个好的第一步是使用Id,在单独的表(例如Towns表)中查找Id。然后,用户可以使用Id的组合来查找纬度和经度。如果省略一个或多个ID,则可以返回多个结果。例如,如果他们只提供邮政编码和国家/地区的ID,则会匹配多个城市/城镇。

一种更有效的查找纬度和经度的方法是为表中包含纬度和经度的每个条目指定一个特定的地点ID

PlaceId  Latitude  Longitude

允许用户单独查找PlaceId(通过使用城镇,城市,邮政编码,国家/地区的组合,并从多个返回值中选择以获得特定的地点)。使用PlaceId查找纬度和经度。