寻找城市的中心点

Posted

技术标签:

【中文标题】寻找城市的中心点【英文标题】:Finding the center point of a city 【发布时间】:2009-08-21 18:40:08 【问题描述】:

我们正在购买邮政编码及其对应的经纬度数据库。我想将城市存储在一个单独的表格中,其中一个纬度/经度点代表城市的中心。我可以根据获取属于该城市的所有拉链、获取每个方向的最小/最大点并获取生成的矩形的中心点来计算吗?

有没有更准确的方法?我想避免购买另一个数据库。我们还没有购买完整的数据库,所以我不能只是尝试并将结果与​​ Google 地图进行比较。

【问题讨论】:

您可以从 geonames.org 免费 DL 的 zip 数据库(以及其他数据) 我们购买的数据库实际上是 IP 地址范围和它们所在的压缩包。我把那部分省略了。 【参考方案1】:

实际上,邮政编码并不总是包含城市。邮政编码是用于定义邮政地址的任意区域。

编辑:您并不总是假设所有邮政编码的总和将对应于城市边界或将检索到正确的质心。

最好的办法是获取一个包含空间数据的县表。

在 PostGIS 中,一个简单的 ST_Centroid(GeometryField) 就足以让您获得多边形的质心。这适用于任何类型的多边形。

如果您在美国,可能存在可在互联网上获得的公共县/市/州数据集。考虑使用 GIS 工具来完成这项工作。

【讨论】:

【参考方案2】:

这会很有帮助吗?这可能会给您提供近似地理中心的信息,但通常当您谈论城市中心时,您指的是城镇广场、商业中心或历史中心。

以谷歌地图为例。如果你搜索纽约,它会直接带你到时代广场。如果您搜索那个城市的中心,这不正是您所期望的吗?

【讨论】:

我不会在任何地方显示这些点,更多的是“这个城市和那个城市之间有 X 英里”。与同事交谈后,我可能想多了,不需要 100% 准确的值。【参考方案3】:

嗯,一个城市的中心是不可能精确计算出来的,因为关于中心的看法可能和人一样多......

您可以获取所有位置的平均值,而不是仅使用邮政编码区域的最小/最大点,这将为您提供更加权的位置。

如果您有每个邮政编码的大致人数,您可以将其用作分数的权重,这将为您提供人口的“重心”。

【讨论】:

【参考方案4】:

市政厅总是用来定义市中心,由国家交通和公路部门、所有地球仪和地图使用。

【讨论】:

【参考方案5】:

我会用城镇四个边界的四个坐标的平均值作为地理中心,使用谷歌地图。

【讨论】:

请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。

以上是关于寻找城市的中心点的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Google Play 管理中心上传特定城市的应用程序?

1068. 寻找数组的中心索引

2022年《开发者创造力指数报告》和《开发者中心城市指数报告》发布

信用卡中心“兴专才”--MySQL数据库技能提升

我厂与张家港市达成全面战略合作,共推数据中心和城市智能化转型

JS leetcode 寻找数组的中心索引 题解分析