地理编码的数据库结构

问题描述:

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

这里被处理的数据IM:

镇,市,邮编,国家,经度,纬度

这可能是简单的,但即时通讯新本,我就从一些受益咨询。

+1

你需要问这个问题多少次? http://*.com/questions/11722423/geocode-lookup-in-c http://*.com/questions/11728290/searching-a-file-and-returning-value-super-fast – hatchet 2012-07-30 20:07:44

人们会拼错所有你建议用作搜索条件的东西。因此,请不要在此数据库表中使用Town,City,Postcode和Country字符串。

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

寻找一个更有效的方法,具体经度和纬度将是一个特定的地方ID分配给在表中保存您的纬度和经度的每个条目

PlaceId Latitude Longitude 

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