좌표 기반 폴리곤 안에 위치해 있는지 확인하는 자바스크립트

2023. 7. 3. 09:54웹개발

728x90
function pointInPolygon(point, polygon) {
  var x = point[0], y = point[1];
  var inside = false;
  for (var i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
    var xi = polygon[i][0], yi = polygon[i][1];
    var xj = polygon[j][0], yj = polygon[j][1];
    var intersect = ((yi > y) != (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);
    if (intersect) inside = !inside;
  }
  return inside;
}


var polygon = [[37.53552567043231, 126.95672035217325], [37.52790237570185, 126.9499397277836], [37.51714676004277, 126.96959495544473], [37.52980827243268, 126.99191093444864], [37.52980827243268, 126.99191093444864],[37.537295252413486, 126.96993827819864],[37.53552567043231, 126.95672035217325]];
var point = [37.529489434399, 126.967329235710];

if (pointInPolygon(point, polygon)) {
  console.log("Point is inside the polygon.");
} else {
  console.log("Point is outside the polygon.");
}

 

다각형으로 형성되어있는 좌표 내부에 내 GPS좌표가 속해있는지 아닌지 판단

728x90
반응형