Вниз
Скачать: CL | DM;

Вопрос по геодезии   Найти похожие ветки 

← →
RDA ©   (2004-01-13 17:35) [0]

Как определить входит ли точка в определенный полигон (чаще всего неправильный многоугольник из 8-10 точек)?


← →
Nikolay M. ©   (2004-01-13 17:45) [1]

Вроде обычная задача, тонна готовых примеров в исходниках, думаю, валяется?
Как вариант, такой: соединить искомую точку (X, Y) со всеми вершинами отрезками и посчитать сумму углов между ними. Т.е.
А1 - угол между отрезком от (X, Y) до первой вершины и отрезком от (X, Y) до второй вершины,
А2 - угол между отрезком от (X, Y) до второй вершины и отрезком от (X, Y) до третьей вершины и тд.
Чему будут равны суммы всех таких углов, когда точка принадлежит многоугольнику и когда - вне его, догадайся сам :)


← →
RDA ©   (2004-01-13 18:15) [2]

Попробую уточнить.
Есть "Контур" - большой участок земли, (чаще всего имеет название, но не имеет координат).
Есть "Участки" - мелкие участки земли входящие однозначно в какой-либо контур.
Все координаты участков хранятся в базе данных.
Вопрос 1: Как не допустить ввдение участка с координатами попадающими в уже имеющиеся участки (координаты нового участка могут лишь лежать на меже имеющихся участков т.е. соприкосаться с ними, но их линии не должны пересекаться)?
Вопрос 2: Можно ли реализовать проверку в виде хранимой процедуры (визуальный контроль, мое мнение, сделать на много проще)?
Вопрос 3: Есть ли компоненты для визуального проектирования участков?

Координаты участков абсолютные.


← →
Людка со 2 этажа   (2004-01-13 18:19) [3]

Компоненты для визуального проектирования участков есть и я их тебе покажу.


← →
Юрий Зотов ©   (2004-01-13 18:35) [4]

На взгляд, похоже, что вся эта геодезическая картинка может быть представлена регионами Windows (CreatePolygonRgn). Если это так, то мы автоматически получаем набор уже готовых функций для работы с регионами (см. Region Functions в справке API).

В частности, на вопрос сабжа точно отвечает функция PtInRegion.


← →
DiamondShark ©   (2004-01-14 00:35) [5]

Через точку проводим прямую, параллельную одной из осей (если система координат не декартова -- то вместо прямой будет геодезическая линия).

Идём по этой прямой из точки, заведомо лежащей вне контура к токе. Считаем пересечения с рёбрами контура. Если число пересечений нечётное -- точка внутри, если чётное -- снаружи.
ОСОБЫЙ СЛУЧАЙ если прямая проходит точно через вершину. Такое пересечение считать не нужно.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
6-2253
An@toliK
2003-11-26 13:17
2004.02.02
Непрерывный поток данных через сеть...


14-2334
Qwet
2004-01-10 20:49
2004.02.02
Перезагрузка Windows Xp


11-2052
Yozch
2003-05-14 22:38
2004.02.02
Не пойму как поставить статическую картинку на форме


3-2009
FilSM
2004-01-07 10:25
2004.02.02
ADO, MSSQL и права локального администратора


1-2170
такой же циник
2004-01-21 14:29
2004.02.02
изменение разрешения экрана




   Наверх