Frage

Ich bin Reverse Engineering eine Transport Visualisierung App. Ich brauche den Spielraum für die Herkunft ihrer Datenfeed, um herauszufinden. Insbesondere was XY 0,0 ist. Die einzigen Formeln habe ich berechnen Entfernung zwischen zwei Punkten gefunden, oder Lage eines Lagers / Entfernung.

Sie nutzen die XY-Karte in einer sehr Legacy-Anwendung angezeigt werden soll. Der XY ist in FEET.

Ich habe diese Koordinaten:

47.70446615506108, -122.34469839507263: x=1268314, y=260622
47.774182540800616,-122.3412994737105:  x=1269649, y=286031
47.60024792289405, -122.32767331735774: x=1271767, y=222532
47.57012494413499, -122.29129609983679: x=1280532, y=211374

Ich brauche, um herauszufinden, was die Breite und Länge von x=0, y=0 ist und was die Formel wäre, dies zu erfahren.

Sie haben zwei Daten-Feeds, eine aktuellere als die andere ist. Der Feed mit den aktuellsten Daten beinhaltet nicht die Breite, Länge, aber nur XY. Ich versuche, auf der Grundlage ihr weniger Strom, noch informativer (einschließlich Lat, Lon) Daten-Feed zu extrapolieren, was 0,0 ist, so kann ich einfach ihre konvertieren (aktuellere) Datenfeed der XY-Koordinaten auf Breite und Länge.

War es hilfreich?

Lösung

Sie fragen, was Koordinatensystem sie verwenden! (Oder wenn Sie den Datensatz von einer Datenbank erhalten, für den Datensatz an den Metadaten suchen und es sollte Ihnen sagen. Sonst würde ich skeptisch seines Wertes)

Wahrscheinlich ist dies einer der Zustandsebene Koordinatensysteme . Sie sind für lokalisierte Bereiche der Erde (der Art wie UTM ) und werden häufig verwendet für Vermessung.

Sie können mit CORPSCON (oder anderen GIS-Programmen; ExpertGPS wird dies tun, wenn Sie die GIS-Option Pack, aber es ist nicht kostenlos ich vergessen, ob GPSBabel tut conversion) zwischen lat / long zu konvertieren und jede der Zustandsebene Koordinatensysteme. Sie müssen auch wissen, welche Bezugs die Koordinaten sind in. WGS84 und NAD83 sind ganz in der Nähe, aber NAD27 ist anders.

Andere Tipps

Wenn Sie bei den ersten 2 Zeilen von Daten suchen, und subtrahieren Sie die Breite

47.7044 - 47.7741 = -0.06972 degrees

Es gibt 60 nautische Meilen pro Breitengrad und 6076 Fuß pro nautische Meile.

-.06972 * 60 * 6076 = 25,415 ft

die beiden 'Y' Werte Subtrahierend

260662 - 286031 = 25,409 ft

So in der Tat, dass die X- und Y-Werte sind in den Füßen zu beweisen scheint.

Wenn Sie eine der Y-Werte nehmen und wandeln zurück in Grad, zum Beispiel

260622 ft / ( 6076 ft/nm ) / ( 60 nm/degree ) = .71
286031 ft / 6076 / 60 = .78

So, diese Werte aus den Breiten (47.70 und 47.77) Subtrahieren geben Sie ganz in der Nähe genau 47 Grad, die Sie y = 0 Punkt sein sollte.

Für Längengrade, ein Grad ist 60 nautische Meilen am Äquator und 0 Meilen an den Polen. So ist die Anzahl der Meilen pro Grad hat mit dem Kosinus der Breite multipliziert werden, so ca. cos (47 Grad) oder 0,68. So anstelle von 6076 nm pro Grad, es geht um 4145 nm.

Also für die X-Werte,

1268314 ft / ( 4145 ft/nm ) / ( 60 nm/degree ) = 5.10 degrees
1269649 ft / 4145 / 60 = 5.10 degrees

Diese X Zahlen erhöhen sich mit zunehmender Breite zunimmt (weniger negativ), so dass ich glaube, dass Sie 5,1 Grad addieren sollen, die der X-Basispunkt bedeutet, ist etwa

-122.3 + 5.1 = 117.2 West longitude for your x=0 point.

Das ist in etwa die Position von Spokane WA.

So gegeben X = 1280532, Y = 211374

Lat = 47 + ( 211374 / 6096 / 60 ) = 47.58
Lon = -117.2 - ( 1280532 / ( 6096 * cos(47.58)) / 60 ) = -122.35

Welche entspricht in etwa den gegebenen Daten ist 47.57 und -122,29

Die Varianz kann aufgrund unterschiedlicher Projektionen - die X, Y-System kann eine „abgeflachte“ Projektion im Gegensatz / long LAT, die mit einem sphärischen Vorsprung zu? Also um genau zu sein Sie noch mehr fortgeschrittene Mathematik benötigen oder dass Open-Source-Bibliothek:)

Diese Frage kann auch hilfreich sein, es enthält Code für die Berechnung der Großkreis Entfernungen:

Berechnen Abstand zwischen zwei Breitengraden -longitude Punkte? (Haversine Formel)

Es gibt viele verschiedene Koordinatensysteme. Sie müssen das, was die Koordinatensysteme sind sowohl für die lat / lon ist (zum Beispiel WGS84 usw.) und x / y erste (wahrscheinlich zum Beispiel eine Art projiziert System), um herauszufinden.

Sobald Sie diese Informationen haben, gibt es mehrere Werkzeuge, die Sie zu tun, Konvertierungen und Manipulationen nutzen können. Ein Beispiel (einer freien Open-Source-Codierung Bibliothek) ist proj4 .

Sie haben gute Ratschläge bekommen Systeme koordinieren bereits, so dass ich nur mit der Bibliothek läutet ich mit großem Erfolg verwendet habe in der Vergangenheit.

Geotrans ist für die Verwendung durch das US Department of Defense zugelassen, so dass Sie sicher sein können, dass es gut getestet wird. Sie können es von hier greifen:

http://earth-info.nga.mil/GandG/geotrans/index.html

Das ist vielleicht nicht die richtige Verbindung, wie die Seite spricht über die Anwendung, nicht die Bibliothek. Ich erwarte, dass die Bibliothek in dem Entwickler-Paket ist. Lizenzbedingungen waren sehr liberal aus dem Gedächtnis, aber stellen Sie sicher, dass Sie die Bedingungen überprüfen, bevor es im Handel verwendet wird.

Edit:

Eine interessante Diskussion über Geotrans Lizenzierung finden Sie hier:

http://www.mail-archive.com/debian-legal@lists.debian.org/msg39263.html

Hierher, sagte ich dies:

In Java würde ich die OpenMap Wandler von einem Gesichtsausdruck des Punktes in UTM eine Verwendung Breite und Länge (ein Ellipsoid WGS-84 unter der Annahme, das am häufigsten in GPS verwendet wird).

OpenMap ist Open Source und ich würde einen Link zu ihrer Download-Seite posten, aber sie haben eine kurze Lizenz Skript im Weg. Also, um zu vermeiden, unhöflich zu sein, werde ich nicht tief Link. Stattdessen auf ihre Homepage und klicken Sie auf Downloads .

Das sollte entweder Ihr Problem direkt lösen oder zumindest Punkt, den Sie zu einem nützlichen Algorithmus.

habe ich Brenor Brophey GPoint PHP-Klasse verwendet diese auf tun ein paar Gelegenheiten. Solide Ergebnisse, GPL-Code und einfach eingesetzt. Empfohlen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top