首页 > 解决方案 > 如何使用 R 从谷歌地图中提取区域?

问题描述

当我在谷歌地图上写一个行政区域(邻居)的名称时,它会显示该区域的边界。从中可以看出: https ://www.google.com.tr/maps/place/Atatürk+Mahallesi,+45215+Akhisar%2FManisa/@38.910799,27.7995369,3278m/data=!3m1!1e3!4m5!3m4 !1s0x14b9ce021b62e939:0x9b2718a9f0234be8!8m2!3d38.9129396!4d27.8106269

我的问题是可以用 R 提取有界区域吗?

注意:我的目标是通过计算照片中的像素数来计算该区域的面积。也欢迎任何其他解决方案。

标签: rgoogle-maps

解决方案


我一直无法找到获得社区边界的方法。

但是,如果您的目标是计算区域的面积,则可以按照以下步骤操作。

首先从GADM网站
获取公开数据 这里选择R(sp) level2。它将以SpatialPolygonsDataFrame可用的最精细级别下载土耳其行政区域。

然后,require("sp")这使您能够将 GADM 地图加载到 RSpatialPolygonsDataFrame中。

接下来,通过简单的方式readRDS()将文件读入R.

your_GADM_file <- readRDS("gadm36_TUR_2_sp.rds")

接下来,让我们获取您感兴趣的多边形:

polygons <- your_GADM_file[your_GADM_file@data$NAME_1 == "Manisa" &
                                   your_GADM_file@data$NAME_2 == "Akhisar", ]

计算多边形的面积:

require(raster)
area(raster(your_GADM_file))

推荐阅读