программное создание Buffer. Проекция?

0 голосов
спросил 19 Окт, 04 от Гость (210,080 баллов) в категории Программные продукты Esri

есть данные (в WGS1984)

строю программно по точкам буферы.... все ок.

на деле получаются круги!!! по  хорошему должны быт ведь элипсы

------------------------------------------------

....

ISpatialReference pSpRef1; SpatialReferenceEnvironment pSpRFc; pSpRFc = new SpatialReferenceEnvironment(); IGeographicCoordinateSystem pGCS; pGCS = pSpRFc.CreateGeographicCoordinateSystem((int)ESRI.ArcObjects.Core.esriSRGeoCSType.esriSRGeoCS_WGS1984); pSpRef1 = pGCS; .... //здесь идет создание буфрера по каждому объекту из некоего FeatureClass  pTopoOperator =(ITopologicalOperator)pFeature;  pPolygon = (IPolygon)pTopoOperator.Buffer(MDinstVal)  pPolygon.SpatialReference=pSpRef1; ...

------------------------------------------------------------------------------------------

buffer wizard Из ArcMap все правильно делает, интересует сделать все тоже самое ,только программно.

кто сталкивался с такой проблемой?

 

2 Ответы

0 голосов
ответил 19 Окт, 04 от Alexander1 (32,520 баллов)

Хорошая идея после строки

pPolygon.SpatialReference = pSpRef1;

добавить ещё и строку:

pPolygon.Project = pSpRef1;  image

0 голосов
ответил 20 Окт, 04 от Гость (210,080 баллов)

идея хорошая и она была сделана сразу.(код для краткости "от руки привел")

не помогает.

мне вот не ясно SpatialRef кому надо править: полигону(после создания буфрера)

 или же pTopoOperator'у  (что то типа

  ((IGeometry)pTopoOperator).SpatialReference=pSpRef1;

)

image

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...