3 Stimmen

Geotools erstellen CRS aus Polygon und Bemaßung

Ich habe einige Rasterdaten (2d Array), die einige geospatiale Metadaten mit ihm verbunden ist. Die Grenzen sind in einem jts-Polygon mit WSG84 Lon Lat-Koordinaten. Das Polygon ist ein Rechteck, aber nicht achsenorientiert (keine Bounding Box).

Ich versuche, ein geotools CoordinateReferenceSystem-Objekt zu erstellen, das diese Abdeckung beschreibt. Ich möchte das CRS verwenden, um die Abdeckung neu zu projizieren, aber ich muss das CRS auch so verwenden, wie es ist, also ist das Überspringen des CRS-Erstellungsschritts nicht gut.

Auf den Punkt gebracht: Wie kommt man von einem WSG84-Polygon, dx, dy, nx, ny zu einem CoordinateReferenceSystem-Objekt, das das Gitter mit Geotools beschreibt?

Vielen Dank im Voraus für die Hilfe

1voto

Jody Garnett Punkte 503

Sie kennen also das latlonische Rechteck, in das Ihre Koordinaten passen? Klingt so, als könnten Sie eine affine Transformation durchführen, um Ihre Koordinaten in lat/lon zu transformieren; und dann normal weitermachen?

Verarbeiten Sie also zuerst Ihre Geometrie, um sie mit Ihrem Rechteck "auszurichten"; dann sind sie in WGS84 und Sie können mit dem Leben weitermachen.

Hintergrundinformationen zur affinen Transformation finden Sie in der Dokumentation:

Wenn es sich bei Ihren Daten tatsächlich um ein Raster handelt (wie bei einer Rasterabdeckung), können Sie sich den Code von Image Moasic ansehen; er unterstützt die Aufnahme von Rastern in allen möglichen Ausrichtungen und fügt sie zu einem nahtlosen Ergebnis zusammen.

Bitte beachten Sie, dass bei Rastern der Prozess umgekehrt abläuft: Anstatt die Daten auf der Grundlage der Anfrage zu transformieren, wird die Anfrage so transformiert, dass sie mit den Daten übereinstimmt (so dass die entsprechenden Werte aus dem Rasterbild abgerufen werden können).

0voto

Ian Turton Punkte 9064

Wenn Ihre Koordinaten WGS86 sind, sollten Sie EPSG:4326 als CRS verwenden. Wie es sich jedoch anhört, ist Ihr Gitter in einer anderen Projektion. In diesem Fall müssen Sie das begrenzende Rechteck auf diese Projektion umprojizieren und dann das Gitter in der richtigen Projektion erstellen.

Wenn Sie die Projektion nicht kennen, in der die Rasterdaten vorliegen, sind Sie vermutlich aufgeschmissen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X