Найти, находится ли координатная точка в топографическом объекте, географической области, используя d3js
Мне нужно выяснить, находится ли географическая точка в заданной функции. Мне нужно найти это до проекции.
В моем приложении у меня есть набор стран, и я хочу взять координаты пользователя и посмотреть, в какой стране находятся эти координаты.
Я работаю над созданием учебника http://bost.ocks.org/mike/map/ и у меня есть код, похожий на раздел "Стили полигонов".
1 ответ
Это может быть хорошей отправной точкой. Из моих закладок я использовал нечто похожее несколько лет назад, чтобы вычислить точку в многоугольнике для Google Maps.
//+ Jonas Raoni Soares Silva
//@ http://jsfromhell.com/math/is-point-in-poly [rev. #0]
function isPointInPoly(poly, pt){
for(var c = false, i = -1, l = poly.length, j = l - 1; ++i < l; j = i)
((poly[i].y <= pt.y && pt.y < poly[j].y) || (poly[j].y <= pt.y && pt.y < poly[i].y))
&& (pt.x < (poly[j].x - poly[i].x) * (pt.y - poly[i].y) / (poly[j].y - poly[i].y) + poly[i].x)
&& (c = !c);
return c;
}