Lorsque j'ouvre QGIS, ajoute la couche et calcule les zones du fichier de formes via la calculatrice de champ, j'obtiens une zone différente de celle lorsque j'ouvre QGIS et coche «Activer la transformation CRS à la volée» et calcule la zone. Ceci malgré le fait que le projet et le calque ont le même système de coordonnées (même numéro EPSG). Qu'est-ce que je fais mal?
J'ai un fichier de formes avec des calculs de zone effectués avec ArcGIS (pas moi, les données m'ont été remises et je n'ai aucune idée pour quel CRS la zone a été calculée avec ArcGIS). La couche de fichiers de formes CRS est EPSG: 21781 (Suisse). Dans QGIS, si je ne modifie pas les paramètres OTF et que je laisse le projet CRS comme EPSG: 4326 (WGS84), j'obtiens la même valeur que la valeur de la zone ArcGIS. Cependant, si je modifie l'OTF avant d'ajouter le calque à EPSG: 21781, j'obtiens des valeurs de zone différentes. Si je comprends bien, cela suggère que la zone ArcGIS a été calculée avec le CRS EPSG: 4326.
Premier workflow:
- ouvrir QGIS
- projet CRS: EPSG 4326
- ajouter un calque
- le projet CRS s'adapte automatiquement et est maintenant EPSG 21781
- calculer $ surface avec calculatrice de champ
Deuxième workflow:
- ouvrir QGIS
- projet CRS: EPSG 4326
- Activez OTF, définissez le projet CRS sur EPSG 21781
- ajouter un calque
- calculer $ surface avec calculatrice de champ
L'étape 5 des premier et deuxième workflows NE produit PAS la même zone.
la source
$area
dans la calculatrice déposée. En bref, à la volée affecte la façon dont la géométrie est affichée sans altérer de facto les données. Il est donc plus probable que l'erreur soit due au flux de travail.!shape.area!
devrait donner l'aire en fonction des crs de la couche; que de calculer la géométrie peut fonctionner différemment. Il est donc difficile de dire exactement ce qui a été fait dans arcgis, mais si vous obtenez le même résultat, par exemple des degrés et non des mètres, cela signifie que le calcul de la surface était en effet basé sur l'ESPG: 4326.Réponses:
EDIT - Avertissement: je voudrais renvoyer les lecteurs à la discussion avec ChrisW ci-dessous. Il se pourrait que l'obtention d'une zone basée sur un OTF CRS ne soit pas un bug après tout; c'est-à-dire, au moins, en arcgis, il est également utilisé pour permettre le géotraitement de deux couches à partir de différents CRS.
Pour développer la question ci-dessus. Comme AndreJ comme suggéré et le montre - c'est probablement un bogue dans la version actuelle de qgis. Pourtant, il convient de noter que le problème n'est pas la mauvaise zone, mais que la transformation à la volée affecte de toute façon les calculs de zone.
La transformation / projection à la volée a pour but d'aligner les données de différentes sources et avec différents CRS. C'est principalement à des fins d'affichage. EG arcmap effectue automatiquement une projection à la volée dans tous les cas, une couche CRS ne correspond pas à la trame de données CRS.
Arcmap offre également la possibilité de modifier les données lors de la projection à la volée, mais note également que: ( source )
C'est-à-dire: à la volée, la transformation est moins précise que de simplement projeter les données vers un CRS différent (ce qui introduit également ses propres problèmes).
Cela dit, il n'est pas surprenant que, sur la base d'une transformation à la volée, une mauvaise zone soit calculée, mais il est surprenant que le fait que la volée ait été activée affecte de quelque manière que ce soit le calcul de la géométrie, qui devrait être basé sur les données. Ainsi, peu importe si la transformation à la volée est basée sur le même CRS ou un CRS différent, le calcul de la surface doit être identique à chaque fois.
Pour être plus pratique, si votre objectif est de calculer la zone, ne l'utilisez pas à la volée. Si vous avez le mauvais CRS, projetez vos données.
la source
!shape.area@meters!
Je peux confirmer que cela semble être un bug.
Créez un fichier csv avec le contenu suivant:
Importez-le sous forme de texte délimité avec EPSG: 21781, activez l'accrochage et dessinez un fichier de formes polygonales sur les quatre points.
Sans OTF, le résultat
$area/1000000.0
est de 10000 m² (ce qui est évidemment correct).Mise FTO sur , et en sélectionnant le même EPSG: 21781, vous 9988,2338 m².
Le choix d'un CRS différent, comme l'EPSG: 4326, délivre 9990,5339 m², car le calcul se fait sur un ellipsoïde différent (WGS84 au lieu de bessel).
Vector --> Geometry Tools --> Export/Add Geometry Columns
semble fournir des valeurs correctes.Le bug a déjà quelques tickets: https://issues.qgis.org/issues/10966 et https://issues.qgis.org/issues/12473
la source