Biblioteca JavaScript pura para operações de geometria

21

Alguém conhece uma biblioteca JavaScript pura para executar operações de geometria, como buffer, união, interseções, etc? Eu quero brincar com essas operações no navegador. Parece que o GeoScriptJS tem algumas dependências.

atogle
fonte

Respostas:

15

Você pode olhar para a API OpenLayers, particularmente as classes Geometry . Você pode verificar se há interseções e ter acesso a vértices etc. Eu implementei buffers de pontos no passado apenas com o OpenLayers. Os sindicatos podem ser mais complicados.

Para operações mais complexas, convém executar o processamento no lado do servidor e passar os resultados de volta no WKT ou GeoJSON, ambos os quais o OpenLayers pode exibir. Veja este tutorial da União para um exemplo.

Outra opção possível é a Consulta espacial, uma " biblioteca JQuery como Javascript para manipulação de matemática espacial ". Não tenho certeza de quão bem testado ele é, mas como a fonte está disponível, você deve dar uma olhada.

Atualizar

Agora existe uma porta JavaScript do JTS Topology Suite - https://github.com/bjornharrtell/jsts

geographika
fonte
Eu olhei para as geometrias do OpenLayers e acho que o método de redimensionamento me permitiria dimensionar as geometrias para obter resultados semelhantes a buffer. Mas você está certo, fazer uniões e cruzamentos teria que ser feito manualmente. Alas. O que eu realmente preciso é de uma porta JS pura do JTS. JSTS? =)
atogle 12/03
Eu olhei bastante e não acho que exista uma solução JS abrangente, madura e pura. A Consulta espacial realmente parece a melhor coisa disponível no momento, mas encontrei alguns repos no GitHub que foram úteis: github.com/shawnbot/geoff/blob/master/src/geoff.js e github.com/maxogden/ GeoJSON-js-utils
atogle
@atogle - fala-se de mover a funcionalidade geometria em OpenLayers para uma biblioteca separada - osgeo-org.1803224.n2.nabble.com/...
geographika
bom saber!
atogle
22

Estou praticamente terminando com minha porta JTS, que é uma porta JS pura e está disponível em https://github.com/bjornharrtell/jsts

Na versão atual (0.9.1), ele suporta a funcionalidade principal do JTS, com a qual quero dizer predicados e sobreposições.

Björn Harrtell
fonte
Ei, eu terminei recentemente o JSTS 1.0, que é uma porta completa e atualizada do JTS no JavaScript moderno. Disponível no mesmo local que a versão 0.x.
Björn Harrtell
3

Você pode dar uma olhada no geoscript (implementado em vários idiomas, incluindo JS)

simo
fonte
2
Tenho certeza de que o GeoScript JS não deve ser executado no cliente / navegador. O site diz que foi projetado para o RingoJS. Também parece ter dependências JTS.
atogle
1

Turf é uma biblioteca javascript que fornece muitas operações espaciais. Também é modular, portanto, você pode incluir apenas as funções necessárias no script final.

jeremy-george
fonte
Infelizmente, é seriamente limitado em termos de geometrias e operações disponíveis. Você pode apontar coisas de polígono, mas isso parece ser basicamente isso.
bugmenot123
O Turf realmente usa meu próprio JSTS (mas uma versão mais antiga) para muitas de suas operações. Se você usar o JSTS diretamente, terá acesso a uma API mais detalhada que pode fazer muito mais que o Turf. Consulte github.com/bjornharrtell/jsts .
Björn Harrtell
Achei difícil fazer o JSTS funcionar em um aplicativo de texto datilografado e o Turf.js funcionou imediatamente. O JSTS é mais rico em funcionalidades, mas para minhas necessidades, o Turf.js funcionou muito bem.
HankCa 10/12
0

Você pode usar a API REST do servidor ArcGIS, independentemente de qual API / idioma você está usando. Ele fornece todos os métodos expostos ....

Zahid Chaudhry
fonte
0

Você pode consultar a biblioteca de geometria javascript de código aberto @ geoJs .

Sunny Luthra
fonte