[英]Convert WGS84 Lat Lon coordinates to OSGR using NMEA2OSG Class – C#
我需要將WGS84 Lat Lon坐標系(基本上是Google的地圖和Bing使用的坐標系)轉換為英國條例調查坐標系。 由於計算相當復雜(有關橢球和投影等),因此有一種現成的C#類,通常稱為“ NMEA2OSG”。
鏈接到NMEA2OSG類: NMEA2OSG類
我正在努力了解如何使用此類。 盡管有一些關於如何將WGS84轉換為OSGR的問題,但還沒有關於如何使用NMEA2OSG類的問題。
我嘗試運行第二種方法,這似乎是正確的方法,因為它接受長的十進制小數作為輸入。 嘗試如下:
NMEA2OSG nMEA2OSG = new NMEA2OSG();
bool coord = nMEA2OSG.Transform(52.3, -0.1, 50);
但是,此方法僅返回布爾值,因此大概我需要從類的實例訪問該方法的輸出。 不幸的是我不知道該怎么做。
誰能建議如何從NMEA2OSG類返回轉換后的坐標?
獎勵問題,如果有人知道高度變量在'Transform'方法中的含義也將是有用的。 謝謝
NMEA20SG
類具有用於將結果通知您的事件。 這是設置代碼:
static void Main(string[] args)
{
NMEA2OSG nMEA2OSG = new NMEA2OSG();
nMEA2OSG.NorthingEastingReceived += NMEA2OSG_NorthingEastingReceived;
nMEA2OSG.NatGridRefReceived += NMEA2OSG_NatGridRefReceived;
bool coord = nMEA2OSG.Transform(52.3, -0.1, 50);
Console.ReadKey();
}
private static void NMEA2OSG_NatGridRefReceived(string ngr)
{
Console.WriteLine("NatGrid: {0}", ngr);
}
private static void NMEA2OSG_NorthingEastingReceived(double northing, double easting)
{
Console.WriteLine("Northing = {0}, Easting = {1}", northing, easting);
}
輸入結果:
Northing = 268576, Easting = 529657
NatGrid: TL 29657 68576
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.