在 R 中读取 TIF 文件时出现问题

Problems Reading in TIF File In R

我正在尝试使用光栅读取 R 中的 Tif 文件。我基本上需要将来自 tif 文件(坐标)的数据匹配到我在另一个 shapefile 中定义的特定城市边界。
我的 TIF 文件大约 7 MB。

问题是我知道如何将这些 tif 文件转换为可用格式的唯一方法是首先将我的 RasterLayer 转换为数据帧。但是,当我尝试这样做时,由于某种原因,数据框最终有大约 3 亿行,而栅格图层最初只有 16,000 行。这会导致一切停滞。我想知道是否有更简单的方法将我的 TIF 文件转换为 R 的可读格式,然后我可以在我的 Over 函数中使用。我的代码如下。任何帮助,将不胜感激。

city_lights <- raster(tif_file)
city_lights_df <- as.data.frame(city_lights, xy = TRUE)
coordinates(city_lights_df)<- ~x +y
proj4string(city_lights_df) <- proj4string(city_boundaries_poly_obj)

city_lights_coords <- over(city_lights_df, city_boundaries_poly_obj)

我不是 100% 清楚你的问题,但我假设你想 return 来自城市边界多边形覆盖的栅格中的值?如果可以,请尝试此操作,如果不能,请提供更多详细信息:

city_lights <- raster(tif_file)
city_lights <- crop(city_lights, city_boundaries_poly_obj)
city_lights <- mask(city_lights, city_boundaries_poly_obj)
res <- rasterToPoints(city_lights)