2010-07-30 9 views

Antwort

4

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); 
+0

betrachten möchten Sie erstellt Hallo könnten Sie die PInvoke DLL teilen? – Jason

+0

@Jason - Ja, ich werde meine Antwort damit aktualisieren – SwDevMan81

+0

@ SwDevMan81 können Sie bitte die DLL teilen? Und wie kann ich es meinem Windows Phone Projekt hinzufügen? –

2

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.

0

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)); 
0

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