좌표 기반 폴리곤 안에 위치해 있는지 확인하는 자바스크립트
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
반응형
'웹개발' 카테고리의 다른 글
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target (0) | 2023.08.29 |
---|---|
MSSQL 인덱스 힌트 INDEX HINT (0) | 2023.08.01 |
MSSQL SQL SERVER 인덱스 성능 개선 (0) | 2023.07.14 |
SVN: '0x0040010b: Obtain Project Name' 오류 시 (0) | 2023.07.12 |
MSSQL CPU 점유 성능 향상 (0) | 2023.07.03 |