Suite

Trouver quelles valeurs de latitude et de longitude tombent dans quelles cellules raster


Je suis un débutant absolu dans l'analyse de données géographiques avec R.

J'ai une base de données avec la longitude et la latitude d'environ un million de bâtiments dans un pays. J'aimerais connaître la densité moyenne de ces bâtiments. Pour cela, j'ai divisé l'ensemble du pays en plusieurs cellules à l'aide de Raster et appliqué une projection avec le profil proj4 approprié. Maintenant, je veux vérifier quels bâtiments se trouvent sous quelle cellule pour trouver la densité.

> meterCoordinates <- totalMeterDatabase[,c("longitude","latitude")] > coordinates(metersCoordinates) <- ~longitude+latitude > r <- raster(ncols=6000, nrows=2000) > r[] <- 0 > crs(r) <- "+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=6000 +y_0=2000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0 ,0 +units=m +no_defs" > projection(r)

Pourriez-vous s'il vous plait me dire comment le trouver ?


Si je comprends votre question, vous pouvez utiliser la fonction extract(). Tout d'abord, attribuez à chaque cellule raster une valeur unique lorsque vous créez le raster. Je recommanderais également de donner au raster l'étendue de vos coordonnées. Donc:

meterCoordinates <- totalMeterDatabase[,c("longitude","latitude")] coordinates(metersCoordinates) <- ~longitude+latitude r <- raster(matrix(seq(1,6000*2000), ncol=6000, nrow=2000 ), xmx=max(metersCoordinates$longitude), xmn=min(metersCoordinates$longitude), ymx=max(metersCoordinates$latitude), ymn=min(metersCoordinates$latitude)) totalMeterDatabase$cellnumber <- extract(r, meterCoordinates)

Et utilisez-le pour faire votre agrégation/analyse.


Voir la vidéo: Finding Latitude and Longitude of Points on a Map Using ArcMap (Octobre 2021).