Вход
Наше всё
Теги
codebook
无线电组件
Поиск
Опросы
Закон
Пятница
2 мая
О смысле всего сущего
0xFF
Средства и методы разработки
Мобильная и беспроводная связь
Блошиный рынок
Объявления
Микроконтроллеры
PLD, FPGA, DSP
AVR
PIC
ARM, RISC-V
Технологии
Кибернетика, автоматика, протоколы
Схемы, платы, компоненты
Средства и методы разработки
751535
Топик полностью
ferrum
(22.04.2017 23:22, просмотров: 307)
ответил
Гудвин
на
Поинтересуюсь: Кто как решает задачу определения вхождения точки с определенными координатами в полигон произвольной формы на карте? Например, имеется *.kml файл с несколькими десятками полигонов. Есть задача определить принадлежность точки
если удастся сконвертировать в обычные координаты, вот этот алгоритм быстрый:
http://geomalgorithms.com/a03-_inclusion.html
int in_poly(int npol, float * xp, float * yp, float x, float y) { int c = 0; for (int i = 0, j = npol - 1; i < npol; j = i++) { if (( (yp[i]<yp[j]) && (yp[i]<=y) && (y<=yp[j]) && ((yp[j] - yp[i]) * (x - xp[i]) > (xp[j] - xp[i]) * (y - yp[i])) ) || ( (yp[i]>yp[j]) && (yp[j]<=y) && (y<=yp[i]) && ((yp[j] - yp[i]) * (x - xp[i]) < (xp[j] - xp[i]) * (y - yp[i])) )) c = !c; } return c; }
Ответить