2009-07-21 7 views
7

Wenn ich einen Punkt in Längen-/Breitengrad habe und herausfinden möchte, ob er in einem bestimmten Koordinatensystem gültig ist, wie kann ich das tun?Wie kann ich herausfinden, ob eine lat lange Koordinate in einem Koordinatensystem gültig ist?

Als ein Beispiel. Angenommen, ich arbeite in Swiss Grid (CH 1903, EPSG 21781) und habe einen Punkt, der etwas in London im Vereinigten Königreich repräsentiert. Ich möchte wissen, ob dieser Punkt im Koordinatennetz von Swiss Grid gültig ist.

In der Regel wird die Konvertierung funktionieren, aber es kann so weit außerhalb des Bereichs sein, dass das Schweizer Netz ist gut, dass es nicht wirklich gültig ist. Der Kontext dafür ist, dass Benutzer Punkte in geographischer Breite in eine Anwendung importieren, die in einem projizierten Koordinatensystem funktioniert, und sie möchten gewarnt werden, wenn die importierten Punkte außerhalb der Grenzen des projizierten Koordinatensystems liegen.

Aber soweit ich das beurteilen kann, hat ein projiziertes Koordinatensystem keine Grenzen.

Antwort

7

Obwohl die aufgelisteten Antworten korrekt sind - es gibt kein Konzept von "Grenzen" in einem Koordinatensystem, gibt es immer noch Ansätze, die Sie verwenden können.

Die EPSG database bietet für jedes definierte Koordinatensystem einen Begrenzungsrahmen für die Breite/Länge. Dies ist in der Tabelle "Area" aufgelistet und bietet eine (wenn auch grobe) Bounding-Box, in der das Koordinatensystem sinnvoll ist. Dies allein könnte genug sein, um Ihnen zu helfen, ein angemessenes Ausmaß zu bestimmen.

Durch Überprüfen der Koordinaten Ihres Punktes und der vier Ecken in der EPSG-DB sollten Sie erkennen können, ob die Koordinate für eine bestimmte Projektion (möglicherweise) sinnvoll ist.

+0

Danke dafür - sehr interessant. Es sieht so aus, als würde dies den Job erledigen. –

+0

Die [link] (http://www.epsg.org/CurrentDB.html) gibt 404 jetzt :( – Lucio

2

Sie setzen dem Koordinatensystem eine künstliche Grenze auf, indem Sie angeben, dass das System selbst eine Grenze hat (d. H. Ein Punkt liegt "außerhalb" der Grenzen, da er außerhalb des Bereichs liegt, der mir wichtig ist).

In diesem Fall finden Sie die "Ecken" des Bereichs, an dem Sie interessiert sind. Wenn ein Punkt außerhalb dieser Grenzen liegt, können Sie den Punkt als außerhalb Ihres Interessenbereichs markieren.

1

Entschuldigung, aber Sie stecken fest, etwas selbst zu implementieren, weil es wirklich Ihre Regeln sein müssen. Projizierte Koordinatensysteme haben normalerweise keine Grenzen, aber sie haben ein Fehlerverhalten. Für eine bestimmte Anwendung ist ein gegebenes projiziertes Koordinatensystem oft nur innerhalb bestimmter Grenzen genau genug.

Die kurze Antwort ist deshalb, dass es wirklich an Ihrer Anwendung sein muss, diese Beschränkungen aufzuerlegen. Jedes Koordinatensystem ist anders und Ihre Bedürfnisse werden viel davon steuern. Zum Beispiel brauchen Sie vielleicht 100 Meter Genauigkeit, in diesem Fall könnte das Swiss Grid für eine größere Fläche ausreichen. Wenn Sie eine Genauigkeit von 10 Metern benötigen, werden die Fehler, die in den Randfällen auftreten, viel schneller signifikant und Ihre Grenzen müssen daher enger sein.

Die Verwendung eines "Vier-Ecken-Bounding-Box" -Ansatzes funktioniert die meiste Zeit, ist aber nicht universell. Einige Projektionen Grenzen sind besser ausgedrückt als "Radius von der zentralen Stelle", und es würde mich nicht schockieren, wenn einige "Abstand vom Nullmeridian". Es kommt darauf an, wie sich die Fehler für eine gegebene Projektion aufbauen.

1

Die Grenzen für ein gegebenes Koordinatensystem sind spezifisch für dieses Koordinatensystem, daher gibt es keinen generischen Algorithmus zur Bestimmung, ob eine Koordinate außerhalb der Grenzen liegt.

Darüber hinaus ist "außerhalb der Grenzen" wahrscheinlich spezifisch für Ihre Domäne. Zum Beispiel ist 400N 200E im Swiss Grid nicht in der Schweiz und daher für die typische Nutzung des Swiss Grid nicht geeignet und dennoch ein realer Ort. Ist dies für Ihre Domain nicht möglich oder nicht?

1

Die EPSG und benutzerdefinierte Projektionen sind verfügbar unter:

http://www.spatialreference.org/

die Website für Ihre EPSG Code suchen und Sie können die Koordinaten aufgeführt.

+0

Das hilft nicht wirklich. Alles, was es zeigt, ist der zentrale Standort. Die oben angegebene epsg Datenbank hilft viel mehr wie es eine Möglichkeit bietet, eine Bounding-Box zu erhalten –

+0

Das ist nicht korrekt.Vielleicht haben Sie die wgs84 Grenzen und die projizierten Grenzen übersehen? Siehe: http://www.spatialreference.org/ref/epsg/28992/ als Beispiel – milovanderlinden

+0

I Ich frage die Entwickler von spatialreference, ob sie die wgs84 und die projizierte Boundingbox über eine Rest-Schnittstelle darstellen können, und könnte dann eine Internet-Suche durchführen, um zu sehen, ob die Koordinaten gültig sind. – milovanderlinden