получение коордиат

0 голосов
спросил 12 Дек, 05 от Гость (210,080 баллов) в категории Программные продукты Esri
такая ситуация : как получить координаты случайной точки, принадлежащей некоторому полигону, а то есть только стандартная ReturnCenter.
подскажите!

3 Ответы

0 голосов
ответил 12 Дек, 05 от geologic (39,860 баллов)

Случайной, хм... А что за нужда, именно случайной? Должна же быть функция проверки принадлежности полигону, по идее, генеришь себе случайность и проверяешь ее... Оптимизировать разброс небольшим радиусом. Но чтот я не понял, зачем это требуется, что-то тут нечисто в самой задаче. Серой попахивает :)))

Так в старину шурфы задавали где бить, подбросом кирки - куда мол бог пошлет.

0 голосов
ответил 14 Дек, 05 от Гость (210,080 баллов)
да нет всё нормально в задаче!
просто надо расставлять автоматически точки, которые находятся внутри полигона, какого именно зараннее не известно и вычисляется на основе данных из таблиц, и получалось только в центрэти точки, и внешне получается что они совпадают.
0 голосов
ответил 15 Дек, 05 от dindzilin (4,160 баллов)

Если полигон известен, то вот пример скрипта:

theView = av.getActiveDoc
GL = theView.GetGraphics
pol = GL.GetSelected.Get(0).GetShape
pline  = pol.AsPolyLine
for each i in 0..99
found=false
  while  (found.not)
  l = PolyLine.Make({{pline.Along (Number.MakeRandom(0,100)),pline.Along (Number.MakeRandom(0,100))}})
  pt = l.Along (Number.MakeRandom(0,100))
  'Если не включать границу
  found =(pol.Contains(pt)and(pline.Contains(pt).Not))
  'Если включать границу
  'found =(pol.Contains(pt))
  end
gp = GraphicShape.Make(pt)
GL.Add(gp)
end

Сгенерит 100 произвольных точек внутри выделенного графического полигона

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