2016-05-31 311 views
0

我嘗試從WellKnownBinary和CoordinateSystemId轉換來獲取緯度和經度。如何將WellKnownBinary和CoordinateSystemId轉換爲經度和緯度

我有一個名爲GeometriaDTO自定義類:

 GeometriaDTO geoDTO = oInstDTO.Geometria; 
     DbGeography DBGeo = DbGeography.FromBinary(geoDTO.WellKnownBinary,(int) geoDTO.SRID); 

但最後一行拋出一個錯誤:

An exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll but was not handled in user code 

我要做到這一點:

double? latitude = DBGeo.Latitude; 
double? longitude = DBGeo.Longitude; 

如何轉換爲經度和緯度?

在此先感謝。

回答

0

我解決了這個問題。我使用的是類DbGeography而不是DbGeometry。 正確的實現是:

GeometriaDTO geoDTO = oInstDTO.Geometria; 
DbGeometry DBGeo=DbGeometry.FromBinary(geoDTO.WellKnownBinary, (int)geoDTO.SRID); 
double? latitude = DBGeo.XCoordinate; 
double? longitude = DBGeo.YCoordinate; 

我希望這將是有用的人。