我有两个项目需要做类似的事情。我有商店的数据集,包括纬度和经度坐标,我需要知道,对于每个商店,半径2英里内是否有其他商店。对于其中一个项目,如果我能在Map上看到半径就特别有用了。我有所有的点Map使用mapview和希望如果我能看到一个圆圈超过每一个这样我就可以看到是否有任何差距(新店不能建在现有商店的2英里范围内)对于另一个项目,我想得到的是一列显示那个半径内其他商店的数量,这个看起来更容易,虽然我还没有弄明白。我是新来的。
我试过geodist,并按照教程得到一个距离矩阵,但我不能很好地阅读它,我不认为这是我需要的。我也试过points_in_circle,它确实告诉我哪些商店在半径内,但我需要它对每对坐标都这样做(我有80行),并理想地给予一个更有用的输出。
1条答案
按热度按时间mzmfm0qo1#
对于第二个问题(一定半径内其他商店的数量),可以使用前面提到的
geodist
函数,然后进行一些数据管理来获得结果。下面的命令将在一个包含五个商店的小数据集上工作。它包含带有纬度和经度坐标的商店ID。
现在计算每个商店和其他商店之间的距离,包括它自己。
距离以米为单位。将此矩阵转换为数据框以便于下一步。
然后,你可以将其转换为长格式,列出或计算出彼此相距一定距离(比如10公里)内的商店数量。
现在团体也算了。
因此,商店“1”在10公里内有1家商店,商店“4”有2家,商店“5”有1家,商店“6”和“10”各有2家。