我想使用GeoDjango进行基本的位置搜索。具体来说,我想输入一个邮编/城市/县作为搜索功能的参数,并找到所有在5mi、10mi、20mi等范围内的邮编/城市/县。我在文档中发现了以下段落:
“使用地理坐标系可能会给开发人员带来一些麻烦。例如,PostGIS没有使用地理坐标系对非点几何体进行距离计算的能力,例如构建查询以找到存储为WGS84格式的县边界内5英里之内的所有点。[6]”
如果我想使用PostGIS并能够在整个美国范围内执行上述搜索,这到底意味着什么?文档建议使用投影坐标系仅覆盖特定区域。我需要覆盖整个国家,所以我想这不是一个选项。
基本上,最终我想能够找到一个起始位置和距离,并给出相邻的邮编/城市/县。我不真正关心这在技术层面上如何实现。
此外,我在哪里可以找到包含美国各州的邮政编码/城市/县地理边界的数据库,以便将其导入GeoDjango模型?
更新
我发现了一个数据库,其中包含了美国所有邮政编码的纬度和经度坐标在这里。我的计划是将这些点导入到GeoDjango模型中,并使用PostGis构建查询,以便可以找到距离给定点x英里内的其他点。这避免了文档中提出的问题,因为所有邮政编码都被视为点而不是多边形。对于我的用例来说,这很好,因为完美的准确性并不是我关心的事情。
优点:数据文件是免费的。
缺点:这些数据来自2000年的人口普查,所以相当过时。
有一定希望的是:美国人口普查局每10年进行一次人口普查,现在已经接近2010年。
结论:对我来说足够好了。
“使用地理坐标系可能会给开发人员带来一些麻烦。例如,PostGIS没有使用地理坐标系对非点几何体进行距离计算的能力,例如构建查询以找到存储为WGS84格式的县边界内5英里之内的所有点。[6]”
如果我想使用PostGIS并能够在整个美国范围内执行上述搜索,这到底意味着什么?文档建议使用投影坐标系仅覆盖特定区域。我需要覆盖整个国家,所以我想这不是一个选项。
基本上,最终我想能够找到一个起始位置和距离,并给出相邻的邮编/城市/县。我不真正关心这在技术层面上如何实现。
此外,我在哪里可以找到包含美国各州的邮政编码/城市/县地理边界的数据库,以便将其导入GeoDjango模型?
更新
我发现了一个数据库,其中包含了美国所有邮政编码的纬度和经度坐标在这里。我的计划是将这些点导入到GeoDjango模型中,并使用PostGis构建查询,以便可以找到距离给定点x英里内的其他点。这避免了文档中提出的问题,因为所有邮政编码都被视为点而不是多边形。对于我的用例来说,这很好,因为完美的准确性并不是我关心的事情。
优点:数据文件是免费的。
缺点:这些数据来自2000年的人口普查,所以相当过时。
有一定希望的是:美国人口普查局每10年进行一次人口普查,现在已经接近2010年。
结论:对我来说足够好了。