Gibt es einen Standard für die Koordinaten von Pixeln in georeferenzierten Rastern?

9

Wir arbeiten mit verschiedenen Raster-Datasets, und die Pixelkoordinaten werden entweder in der Mitte des Pixels oder an einer Ecke gespeichert. Die Informationen werden normalerweise in den Metadaten bereitgestellt, aber manchmal müssen wir raten, und dieser Beitrag zeigt, dass es nicht immer leicht zu finden ist.

Da wir auch einige Ebenen erstellen, habe ich mich gefragt, ob es eine Standardregel und / oder bewährte Methoden gibt, um die Koordinaten für ein Pixel zuzuweisen, idealerweise mit einer Referenz oder mit Vor- / Nachteilen.

Radouxju
quelle

Antworten:

10

Das ist ein bisschen chaotisch. Sie sollten mindestens dieses GeoTIFF-Dokument lesen

http://www.remotesensing.org/geotiff/spec/geotiff2.5.html#2.5.2.2 und einige GDAL-Überlegungen

http://trac.osgeo.org/gdal/wiki/rfc33_gtiff_pixelispoint .

Als Faustregel gilt, dass alle Raster (Luft-, Satellitenbilder) Pixel-is-area verwenden und Messdaten wie DEMs Pixel-is-point verwenden. Aber wie es sich auf Georeferenzierung und Bildausdehnung auswirkt, ist leider nicht so einfach. Bei GDAL befindet sich der Ankerpunkt des Pixels immer in der oberen linken Ecke eines Pixels. Wenn Sie einen neuen Ground Control Point (GPC) speichern, werden die angegebenen Koordinaten immer an die obere linke Ecke des entsprechenden Pixels gebunden, und das spielt eine Rolle wenn Pixel als Bereiche oder Punkte definiert sind. GDAL meldet auch die gleichen Ausmaße für Pixel-ist-Fläche- und Pixel-ist-Punkt-Bilder. Es ist Sache des Benutzers oder der Software, die GDAL verwendet, diese bei Bedarf anders zu behandeln.

Die aktuelle OGC-Regel für die Georeferenzierung von Deckungen besteht darin, ein Raster zu verwenden, das in der 437 Seiten langen GML v.3.2.1-Spezifikation definiert ist. Dies macht einen halben Pixel Unterschied in der Ursprungsposition für Pixel-ist-Punkt und Pixel-ist-Fläche, da im Fall von Flächenpixeln der Ursprung auf die Mitte eines Pixels gesetzt wird. Das folgende Zitat stammt von GML im JPEG2000-Standard:

Hinweis: GMLJP2 folgt der Definition von Gittern in GML 3.2.1 [OGC 07-036], Abschnitt 19.2.2: „Wenn ein Gitterpunkt zur Darstellung eines Abtastraums (z. B. Bildpixel) verwendet wird, repräsentiert der Gitterpunkt die Mitte des Probenraum (siehe ISO 19123: 2005, 8.2.2) “. Dies entspricht dem pixelInCell-Wert von ImageCRS, der gemäß ISO 19111 auf CellCenter festgelegt ist. Dies kann so interpretiert werden, dass der Ursprung des RectifiedGrid der Mittelpunkt des Eckpixels ist.

Um die Dinge nicht zu einfach erscheinen zu lassen, folgen einige Programme wie ERDAS vorstellen (AFAIK) intern dem Pixel-ist-Punkt-Schema sowie MapServer bis zur nächsten Version 7.0 und versuchen, diese im laufenden Betrieb zu ändern das Pixel-ist-Fläche-Schema. Lesen Sie dazu: http://mapserver.org/fr/development/rfc/ms-rfc-107.html .

Für eine optimale Interoperabilität würde ich empfehlen, Pixel-is-Area und GeoTIFFs für alle natürlichen Raster (Luft- und Satellitenbilder, topografische Karten) zu verwenden. Dies ist eine bekannte und damit zuverlässige Kombination. Wenn Sie mit DEMs und anderen Mess- / Sensordaten spielen und eine halbe Pixelverschiebung sinnvoll sein kann, müssen Sie sich bewusst sein, dass sie möglicherweise als Pixel-ist-Punkt gekennzeichnet sind und verschiedene Programme möglicherweise eine halbe Pixelverschiebung einführen oder nicht.

user30184
quelle
Danke für die Antwort. Meinten Sie nicht Pixel-ist-Punkt für die Messung?
Radouxju
Klar, jetzt korrigiert. Im wirklichen Leben kann die Situation jedoch anders sein: Ich habe mir gerade einige GeoTIFF-DEM-Dateien aus einigen Ländern angesehen - alle haben Metadata: AREA_OR_POINT=Area.
user30184
4

Beides ist üblich und kann auch nicht als Standard angesehen werden.

Für GeoTIFF sind beide möglich - siehe Abschnitt 2.5.2.2 für die GTRasterTypeGeoKeyBeschreibung der Interpretationsmethode. In den häufig gestellten Fragen zu GeoTIFF wird empfohlen , den Standardwert ( PixelIsArea) dieses Tags zu verwenden, um die Kompatibilität mit älteren Versionen von GDAL zu gewährleisten.

Das World File-Format verwendet die Mitte des Pixels.

Das Bild-Chipping von NITF (unter Verwendung der ICHIPB-Erweiterung) codiert explizit die Position des ersten Pixels im geschnittenen Bild (Teilmenge) als Koordinate (0,5, 0,5) und ordnet diese einer bestimmten Koordinate im übergeordneten Bild (Obermenge) zu, z. 2,5, 1,5).

BradHards
quelle
1

Ich weiß nicht, ob es eine Konvention gibt, aber Koordinaten auf Bildern beziehen sich normalerweise auf Pixelzentren. Dies kann bei Rastern anders sein, die beispielsweise aus Computermodellen hergestellt wurden.

Wenn Sie sich nicht sicher sind, können Sie GMT , die generischen Zuordnungstools, verwenden, um Ihre Raster zu testen und sie in ein geeignetes Format zu konvertieren, da es explizit die Möglichkeit bietet, entweder eine Raster- oder eine Knotenregistrierung anzugeben. Siehe diesen Abschnitt des Tutorials sowie das Handbuch für die Funktion grdedit .

weiji14
quelle