【发布时间】:2018-02-09 03:48:02
【问题描述】:
我是地理空间统计的新手,无法弄清楚一个简单的问题:
我有两个具有空间坐标的数据集。一个具有特定地区的医院和诊所的坐标。另一个拥有该地区所有家庭的坐标。
这是一些模拟数据
hospital_coord <-data.frame(longitude = c(80.15998, 72.89125, 77.65032, 77.60599),
latitude = c(12.90524, 19.08120, 12.97238, 12.90927))
people_coord <-data.frame(longitude = c(72.89537, 77.65094, 73.95325, 72.96746,
77.65058, 77.66715, 77.64214, 77.58415,
77.76180, 76.65470, 76.65480, 76.65490, 76.65500, 76.65560, 76.65560),
latitude = c(19.07726, 13.03902, 18.50330, 19.16764,
12.90871, 13.01693, 13.00954, 12.92079,
13.02212, 12.81447, 12.81457, 12.81467, 12.81477, 12.81487, 12.81497))
我想计算以下内容:
- 居住在距离最近的诊所/医院 2 公里以上的家庭的百分比
- 在数据框中创建一列,指示哪些家庭在 2 公里距离之内或之外
【问题讨论】:
-
您的
people_coord数据错误。另外,您是否在任何坐标参考系/投影中工作,或者欧几里得距离是否足够? -
请参阅Geographic / geospatial distance between 2 lists of lat/lon points (coordinates),了解计算两个纬度/经度坐标列表之间的距离并选择最近距离和/或位置(在您的情况下为医院)的入门。然后,您可以轻松地将最近的距离转换为医院是否在 2 公里距离内的逻辑指示。
标签: r geospatial