Weiß jemand, wo ich eine Bibliothek von Code zum Konvertieren von Lat/Lon-Position zu Military Grid Reference System (MGRS) finden konnte? Ich suche nach einer C# Implementierung wenn möglich.Konvertieren Lat/Lon zu MGRS
Antwort
Wir verwendeten GeoTrans und erstellen eine DLL aus dem Code und PInvoke verwenden, um die Funktionen aufzurufen. Wir zogen die folgenden von der Quelle Incase jemand wissen (Minimallösung) wollte:
- tranmerc
- ups
- utm
- mgrs
Die Signature PInvoke polarst wir benutzten:
[DllImport("mgrs.dll")]
public static extern int Convert_Geodetic_To_MGRS(
double Latitude,
double Longitude,
int Precision, // 1 to 5, we used 4 (10 square meters)
StringBuilder MGRS);
, die für diese Funktion in mgrs.h entspricht:
MGRSDLL_API long __stdcall Convert_Geodetic_To_MGRS(
double Latitude,
double Longitude,
long Precision,
char* MGRS);
betrachten möchten Sie erstellt Hallo könnten Sie die PInvoke DLL teilen? – Jason
@Jason - Ja, ich werde meine Antwort damit aktualisieren – SwDevMan81
@ SwDevMan81 können Sie bitte die DLL teilen? Und wie kann ich es meinem Windows Phone Projekt hinzufügen? –
Sie können die C# -Wrapper GDAL verwenden, um von lat/lon in UTM zu konvertieren. Sie müssen dann nur die Werte für MGRS entsprechend formatieren, da es nur UTM mit einem anderen numerischen Format ist.
auf js gefunden, wenn es Hilfe ist ...
https://github.com/codice/usng.js
nutzungs-
var converter = new usngs.Converter();
alert(converter.LLtoMGRS(33.754032, -98.451233, 9));
CoordinateSharp ist verfügbar als Nuget-Paket und kann genau das tun.
Coordinate c = new Coordinate(40.57682, -70.75678);
c.MGRS.ToString(); // Outputs 19T CE 51307 93264
Sie können diese Formen von Fragen auf http://gis.stackexchange.com –