[英]Convert Lat/Lon to MGRS
我們最終使用了GeoTrans,並從代碼中創建了一個DLL,並使用PInvoke調用了這些函數。 如果有人想知道(最小解決方案),我們從源中刪除了以下內容:
我們使用的PInvoke簽名:
[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);
對應於mgrs.h中的此功能:
MGRSDLL_API long __stdcall Convert_Geodetic_To_MGRS(
double Latitude,
double Longitude,
long Precision,
char* MGRS);
您可以使用GDAL的C#包裝器將經/緯度轉換為UTM。 然后,您只需要為MGRS適當地設置值的格式,因為它只是具有不同數字格式的UTM。
在js上找到它是否有幫助...
https://github.com/codice/usng.js
用法-
var converter = new usngs.Converter();
alert(converter.LLtoMGRS(33.754032, -98.451233, 9));
CoordinateSharp可作為Nuget包提供,並且可以做到這一點。
Coordinate c = new Coordinate(40.57682, -70.75678);
c.MGRS.ToString(); // Outputs 19T CE 51307 93264
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.