根据纬度/经度计算密度

Posted

技术标签:

【中文标题】根据纬度/经度计算密度【英文标题】:Calculate Density based on Lat/Lon 【发布时间】:2021-06-01 21:22:56 【问题描述】:

很抱歉,我没有此问题的任何示例代码。原因是,我一直在寻找一种方法来做到这一点,但我没有任何想法。我不是在寻找具体的代码帮助,更像是一些关于从哪里开始的一般指导。

我为居住在加利福尼亚州的人们提供纬度/经度。根据这些数据的地理分组(县、市、邮编等),我应该计算出密度分数。基本上,每平方英里有多少点,或者沿着这些线。我一直在寻找方法来做到这一点,不幸的是我还没有找到任何似乎正确的方法。我的数据中有 lat/lon/geographic 边界列,因此我可以按各种地理类型进行分组,但我想依靠 lat/lon 进行密度评分。

再次抱歉,我没有任何具体的代码可以分享。任何有关此问题的软件包或工具的建议将不胜感激!

我对 R 和 Python 都很熟悉,但我的同事更喜欢 Python 驱动的解决方案。

以下是一些使用邮政编码和 lon/lat(按此顺序)的示例数据。

Zip Longitude   Latitude
95223   -120.045063 38.467308
95223   -120.040889 38.465436
95223   -120.072499 38.454202
95223   -120.049251 38.462058
95223   -120.041697 38.462194
95223   -120.045757 38.470637
96120   -119.959615 38.703965
96120   -119.937276 38.741337
96120   -119.9382   38.739344
96120   -119.901794 38.776584
96120   -119.936094 38.741865
96120   -119.957587 38.707533
96120   -119.93456  38.74194
95646   -120.072087 38.687061
95646   -120.066752 38.684097
95646   -120.069591 38.684193
95646   -120.071754 38.699738
95646   -120.066111 38.685164
95646   -120.067082 38.683881
95646   -120.070923 38.696049
95646   -120.068004 38.683615
95646   -120.07161  38.699309
95646   -120.07385  38.690719
95646   -120.066131 38.685019
95646   -120.071263 38.686228

【问题讨论】:

我建议使用人口普查边界。虽然远非完美,但它们是人们认为有效的土地面积指定的小区域。邮政编码也可以工作或城市。否则,您可以创建一个任意宽度的纬度/经度点网格,例如一系列纬度/经度增加 0.5 您能否提供您正在使用的数据和数据格式的示例,使用数据描述符代替实际数据,以便我们更好地了解您正在使用的特定数据结构合作? @WickedMongoose,添加了玩具数据。 每一行都是一个人? 为了这个目的,是的。这是玩具数据,所以可能不是真实的人,但它是基于真实地址的。 【参考方案1】:

从此处的人口普查地图的 Pyviz 示例页面: 绘制人口密度的示例代码: https://examples.pyviz.org/census/census.html

划定界限: 这个问题的答案很好地涵盖了这一点,给出了边界检测算法的列表: https://gis.stackexchange.com/questions/5426/finding-boundary-co-ordinates-from-given-set-of-point-co-ordinates

查找多边形的面积(AreaOfZipcode): How to calculate the area of a polygon on the earth's surface using python?

使用累加器算法计算邮政编码人口。

然后: PopDensity = PopOfZipcode/AreaOfZipcode

定义您的高密度/中密度/低密度边界,然后将您的邮政编码分配给每个存储桶。

【讨论】:

以上是关于根据纬度/经度计算密度的主要内容,如果未能解决你的问题,请参考以下文章

如何使用javascript根据纬度和经度值设置计算区域?

mysql中怎么根据经纬度计算距离

用于根据纬度、经度计算重叠区域的Python包[重复]

怎么知道经纬度算距离,

PHP根据经纬度计算距离

PHP,Mysql根据经纬度计算距离并排序