2017-06-01 1 views
1

J'utilise R pour lire dans un fichier de formes à analyser avec les polygones sp des champs pétrolifères (longitude-latitude avec WGS84) et leurs zones respectives. Malheureusement, je ne connais pas l'unité de la sortie de la zone. Par exemple. la production de la zone est en moyenne de 0,85 unité (maximum 4,34), ce qui n'est probablement pas en kilomètres car cela serait beaucoup trop petit pour les champs pétrolifères.R sp: unité d'aire du polygone

Est-ce que quelqu'un connaît l'unité de la sortie de zone de polygones dans le paquet sp? Merci beaucoup!

Répondre

2

Pour obtenir un calcul de surface correct pour un polygone en coordonnées lat-lon, il serait préférable de les convertir en projection métrique à surface égale en utilisant "spTransform" au préalable. Sinon, vous pouvez utiliser package geosphere qui permet de faire

"pour les applications trigonométrie sphérique géographiques. Ainsi, calculer distances et RE- mesures pour lated angulaires (longitude/latitude) emplacements"

par exemple, ceci:

require(geosphere) 
areaPolygon(mypoly) 

(avec mypoly étant un objet spatialPolygons) vous donnera sa superficie en kilomètres carrés.

HTH.

+0

Merci beaucoup, LoBu! – schimo

1

Lorsque vous utilisez sf, vous avez réellement obtenir les unités résultantes:

> library(sf) 
Linking to GEOS 3.5.1, GDAL 2.1.3, proj.4 4.9.2, lwgeom 2.3.2 r15302 
> demo(nc, ask = FALSE, echo = FALSE) 
Reading layer `nc.gpkg' from data source `/home/edzer/R/x86_64-pc-linux-gnu-library/3.4/sf/gpkg/nc.gpkg' using driver `GPKG' 
converted into: MULTIPOLYGON 
Simple feature collection with 100 features and 14 fields 
Attribute-geometry relationship: 0 constant, 8 aggregate, 6 identity 
geometry type: MULTIPOLYGON 
dimension:  XY 
bbox:   xmin: -84.32385 ymin: 33.88199 xmax: -75.45698 ymax: 36.58965 
epsg (SRID): 4267 
proj4string: +proj=longlat +datum=NAD27 +no_defs 
> st_area(nc[1:2,]) 
Units: m^2 
[1] 1137388604 611077263 
> units::set_units(st_area(nc[1:2,]), km^2) 
Units: km^2 
[1] 1137.3886 611.0773 

Pour les données longlat, comme ici, il utilise geosphere dans les coulisses.