SplitAtDistance

0 голосов
спросил 12 Март, 12 от BAV (1,020 баллов) в категории Программные продукты Esri
   Доброго всем времени суток, прошу вашей помощи.
У интерфейса IPolyline есть метод SplitAtDistance Я так понимаю, он добавляет в исходную полилинию новую точку исходя из заданной дистанции,и создает новую часть (Path), в зависимости от того, каков параметр createPart. Вопрос первый: В каких еденицах задается дистанция, (в DecimalDegrees ?), т.е. в тех в которых изначально открыт проект. И вопрос второй: при попытке реализовать этот метод, он отрабатывает но точку не создает, на части не делит. Премного благодарен за любую помощь.

....
NumberFormatInfo provider = new NumberFormatInfo();
               provider.NumberDecimalSeparator = ".";
              
// получаем введеную длинну в формате double в Км.
double dlinaKM = Convert.ToDouble(form.textBox1.Text, provider);
              
// переводим километры в нужные еденицы
IUnitConverter pUnit1 = new UnitConverter();
double kmend = pUnit1.ConvertUnits(dlinaKM, esriUnits.esriKilometers, esriUnits.esriDecimalDegrees);

IPolyline pl;
pl = (IPolyline)feature.Shape;

// сам метод
bool asRatio = true;
bool createPart = true;
bool SplitHappened;
int newPartIndex;
int newSegmentIndex;

pl.SplitAtDistance(kmend, asRatio, createPart, out SplitHappened, out newPartIndex, out newSegmentIndex);

....

1 Ответ

0 голосов
ответил 12 Март, 12 от BAV (1,020 баллов)
Упс! Прошу прощения, все работает, что-то заработался совсем, но первый вопрос не снимаю. Длинна все же разная получается между той что задал и та что получилась, тут наверно вопрос в координатной системе... но не уверен!!!
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...