如何使用纬度和经度创建ArcObjects点

时间:2012-06-01 23:10:22

标签: esri arcgis-server

我需要在C#(Visual Studio 2008)中使用ArcGIS Server 10的.NET API在现有要素类中添加一个点。我正在使用ESRI资源中心的示例(ArcGIS_SimpleEdit_CSharp)。下面显示了使用X / Y坐标创建新点的代码部分。

ESRI.ArcGIS.Geometry.IPoint aoPoint = serverContext.CreateObject("esriGeometry.Point") as 
            ESRI.ArcGIS.Geometry.IPoint;
aoPoint.PutCoords(actionRecord.Location.X, actionRecord.Location.Y);

但我需要使用纬度和经度(带小数精度)而不是X / Y坐标。我怎么能这样做?

谢谢

1 个答案:

答案 0 :(得分:2)

如果您的数据处于纬度/经度且您的要素类位于某个投影坐标系中,那么在将要点添加到要素类之前,您需要投影您的纬度/经度数据。为此,您需要使用IGeometry.Project方法,您可以在其中找到有关here的更多信息。

请注意,根据纬度/经度数据的数据以及要素类的数据,您可能需要执行基准转换作为投影过程的一部分。在这种情况下,您需要IGeometry.ProjectEx方法(更多信息herehere - 请注意后一个链接包含指向底部某些样本的链接,这可能会有所帮助。)

我知道这不是一个完整的答案,但希望我提供了一些指示,让你朝着正确的方向前进。如果你能提供一些关于你究竟想做什么的更多细节,那么也许我可以提供一些更具体的帮助。

最后一点 - 您似乎在这里使用ArcGIS Server Web ADF - 您是否知道Web ADF本地连接将在Server 10.1版本中消失?根据项目的性质,您可能需要考虑一种替代方法,例如使用SOAP或REST API,地理处理服务和/或为任何真正需要自定义ArcObjects的工作编写服务器对象扩展(SOE)。