ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 апреля
751535 Топик полностью
ferrum (22.04.2017 23:22, просмотров: 207) ответил Гудвин на Поинтересуюсь: Кто как решает задачу определения вхождения точки с определенными координатами в полигон произвольной формы на карте? Например, имеется *.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; }