2012-06-01 2 views
1

Мне нужно добавить точку в существующий класс объектов, используя .NET API ArcGIS Server 10 в C# (Visual Studio 2008). Я использую образец из ESRI Resource Center (ArcGIS_SimpleEdit_CSharp). Ниже показана часть кода, который создает новую точку, используя координаты X/Y.Как создать точку ArcObjects с широтой и долготой

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

Но мне нужно использовать широту и долготу (с десятичной точностью) вместо координат X/Y. Как я могу это сделать?

Спасибо

ответ

2

Если данные в широте/долготе и ваш класс особенности в некоторых проецируется система координат, то вам нужен проекта ваших LAT/длинные данные, прежде чем добавлять точки к вашему класу. Для этого вы хотели бы использовать метод IGeometry.Project, который вы можете найти более подробную информацию о here.

Следует иметь в виду, что в зависимости от данных вашей широты и долготы, а также для вашего класса пространственных объектов вам может потребоваться выполнить преобразование как часть процесса проектирования. В этом случае вам нужен метод IGeometry.ProjectEx (подробнее here и here - обратите внимание, что последняя ссылка содержит ссылки на некоторые примеры внизу, которые могут быть полезны).

Я знаю, что это не полный ответ, но, надеюсь, я предоставил пару указателей, чтобы вы шли в правильном направлении. Если вы можете предоставить более подробную информацию о том, что именно вы пытаетесь сделать, то, возможно, я смогу предоставить более конкретную помощь.

Последний пункт - похоже, вы используете ADF ArcGIS Server Web ADF - знаете ли вы, что локальные подключения веб-ADF уходят в версии 10.1 сервера? В зависимости от характера вашего проекта вы можете захотеть рассмотреть альтернативный подход, например, использовать API SOAP или REST, службы геообработки и/или записывать расширения объектов сервера (SOE) для любой работы, которая действительно требует специальных объектов ArcObject.

Смежные вопросы