형상 작업을위한 순수 JavaScript 라이브러리


21

버퍼, 공용체, 교차 등과 같은 지오메트리 작업을 수행하는 순수한 JavaScript 라이브러리를 아는 사람이 있습니까? 브라우저에서 이러한 작업을 수행하고 싶습니다. GeoScriptJS에 약간의 종속성이있는 것 같습니다.

답변:


15

OpenLayers API, 특히 Geometry 클래스를 볼 수 있습니다 . 교차점을 확인하고 정점 등에 액세스 할 수 있습니다. 과거 OpenLayers를 사용하여 포인트 버퍼를 구현했습니다. 그러나 노동 조합은 더 까다로울 수 있습니다.

보다 복잡한 조작의 경우 처리 서버 측을 수행하고 결과를 WKT 또는 GeoJSON으로 다시 전달하면 OpenLayer가 모두 표시 할 수 있습니다. 예를 보려면이 Union 자습서 를 참조하십시오 .

또 다른 가능한 옵션은 Spatial Query 가 " 공간 수학을 처리하기위한 Javascript 라이브러리와 같은 JQuery "입니다. 나는 그것이 얼마나 잘 테스트되었는지 확실하지 않지만 소스를 사용할 수 있으므로 살펴보십시오.

최신 정보

JTS 토폴로지 스위트의 JavaScript 포트가 있습니다 ( https://github.com/bjornharrtell/jsts).


OpenLayers 지오메트리를 살펴본 결과 resize 메소드를 사용하면 지오메트리를 확장하여 버퍼와 같은 결과를 얻을 수 있다고 생각합니다. 그러나 당신이 옳습니다. 유니온과 교차로를 모두 수동으로 수행해야합니다. 아아. 내가 정말로 필요한 것은 JTS의 순수한 JS 포트입니다. JSTS? =)
atogle

나는 주변을 둘러 보았고 포괄적이고 성숙하며 순수한 JS 솔루션이 실제로 존재한다고 생각하지 않습니다. Spatial Query는 실제로 가장 좋은 것 같지만 GitHub에서 github.com/shawnbot/geoff/blob/master/src/geoff.jsgithub.com/maxogden/에
atogle

@atogle-OpenLayers의 지오메트리 기능을 별도의 라이브러리로 옮기는 것에 대한 이야기가
있습니다

알아 둘만 한!
atogle

22

순수한 JS 포트 인 JTS 포트로 거의 완료되었으며 https://github.com/bjornharrtell/jsts 에서 사용할 수 있습니다.

현재 버전 (0.9.1)에서는 JTS의 핵심 기능을 지원하므로 술어와 오버레이를 의미합니다.


안녕하세요, 저는 최신 JavaScript에서 JTS의 완전한 최신 포트 인 JSTS 1.0을 완료했습니다. 0.x 버전과 동일한 위치에서 사용할 수 있습니다.
Björn Harrtell

3

지오 스크립트를 살펴볼 수 있습니다 (JS를 포함한 여러 언어로 구현 됨)


2
GeoScript JS가 클라이언트 / 브라우저에서 실행되도록되어 있지 않다고 확신합니다. 이 사이트는 RingoJS를 위해 설계되었다고 말합니다. 또한 JTS 종속성이있는 것으로 보입니다.
atogle


1

Turf 는 많은 공간 연산을 제공하는 자바 스크립트 라이브러리입니다. 또한 모듈 식이므로 최종 스크립트에 필요한 기능 만 포함 할 수 있습니다.


불행히도 기하학과 사용 가능한 운영 측면에서 심각하게 제한됩니다. 다각형을 가리킬 수는 있지만 기본적으로 그런 것 같습니다.
bugmenot123

Turf는 실제로 많은 작업에 내 JSTS (이전 버전)를 사용합니다. JSTS를 직접 사용하는 경우 잔디보다 더 많은 작업을 수행 할 수있는보다 자세한 API에 액세스 할 수 있습니다. github.com/bjornharrtell/jsts를 참조하십시오 .
Björn Harrtell

JSTS가 타이프 스크립트 응용 프로그램에서 작동하고 Turf.js가 즉시 작동하는 것이 어렵다는 것을 알았습니다. JSTS는 기능이 풍부하지만 내 요구에 따라 Turf.js는 훌륭하게 작동했습니다.
행카

0

사용중인 API / 언어에 관계없이 ArcGIS 서버 REST API를 사용할 수 있습니다. 그것은 노출 된 모든 방법을 제공합니다 ....


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.