1

我需要在 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 坐标。我怎样才能做到这一点?

谢谢

4

1 回答 1

2

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

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

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

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

于 2012-06-04T14:38:47.693 回答