Perpustakaan JavaScript Murni untuk Operasi Geometri


21

Adakah yang tahu perpustakaan JavaScript murni untuk melakukan operasi geometri seperti buffer, union, intersect, dll? Saya ingin bermain dengan melakukan operasi ini di browser. Sepertinya GeoScriptJS memiliki beberapa dependensi.

Jawaban:


15

Anda bisa melihat API OpenLayers, khususnya kelas Geometri . Anda dapat memeriksa persimpangan, dan memiliki akses ke simpul dll. Saya telah menerapkan buffer titik di masa lalu hanya dengan OpenLayers. Serikat pekerja mungkin lebih sulit.

Untuk operasi yang lebih kompleks, Anda mungkin ingin melakukan pemrosesan di sisi server, dan meneruskan hasilnya kembali di WKT atau GeoJSON, yang keduanya dapat ditampilkan oleh OpenLayers. Lihat tutorial Union ini sebagai contoh.

Opsi lain yang mungkin adalah Kueri Spasial sebuah " JQuery seperti perpustakaan Javascript untuk menangani matematika spasial ." Saya tidak yakin seberapa baik diuji, tetapi karena sumber tersedia, Anda harus melihatnya.

Memperbarui

Sekarang ada port JavaScript dari JTS Topology Suite - https://github.com/bjornharrtell/jsts


Saya melihat geometri OpenLayers, dan saya pikir metode resize akan memungkinkan saya untuk mengukur geometri untuk mendapatkan hasil seperti buffer. Tapi Anda benar, melakukan perserikatan dan persimpangan semua harus dilakukan secara manual. Sayang. Yang benar-benar saya butuhkan adalah port JS murni JTS. JSTS? =)
atogle

Saya telah melihat-lihat banyak dan saya tidak berpikir bahwa solusi JS yang komprehensif, matang, dan murni benar-benar ada. Kueri Spasial benar-benar terlihat seperti hal terbaik di luar sana untuk saat ini, tetapi saya menemukan beberapa repo lain di GitHub yang bermanfaat: github.com/shawnbot/geoff/blob/master/src/geoff.js dan github.com/maxogden/ geojson-js-utils
atogle

@atogle - ada pembicaraan untuk memindahkan fungsionalitas geometri di OpenLayers ke perpustakaan terpisah - osgeo-org.1803224.n2.nabble.com/…
geografi

senang mendengarnya!
atogle

22

Saya cukup banyak selesai dengan port JTS saya yang merupakan port JS murni dan tersedia di https://github.com/bjornharrtell/jsts

Pada versi saat ini (0.9.1) mendukung fungsionalitas inti JTS yang saya maksudkan predikat dan overlay.


Hei, saya baru saja menyelesaikan JSTS 1.0 yang merupakan port JTS lengkap dan terkini dalam JavaScript modern. Tersedia di tempat yang sama dengan versi 0.x.
Björn Harrtell

3

Anda bisa melihat-lihat geoscript (diimplementasikan dalam beberapa bahasa termasuk JS)


2
Saya cukup yakin bahwa GeoScript JS tidak dimaksudkan untuk dijalankan pada klien / browser. Situs itu mengatakan itu dirancang untuk RingoJS. Tampaknya juga memiliki dependensi JTS.
atogle


1

Turf adalah perpustakaan javascript yang menyediakan banyak operasi spasial. Ini juga modular, jadi Anda hanya bisa memasukkan fungsi yang Anda butuhkan di skrip akhir.


Sayangnya itu sangat terbatas dalam hal geometri dan operasi yang tersedia. Anda dapat menunjuk pada hal-hal poligon tetapi tampaknya pada dasarnya itu.
bugmenot123

Turf sebenarnya menggunakan JSTS saya sendiri (tetapi versi yang lebih lama) untuk banyak operasinya. Jika Anda menggunakan JSTS secara langsung, Anda memiliki akses ke API yang lebih rinci yang dapat melakukan lebih banyak daripada Turf. Lihat github.com/bjornharrtell/jsts .
Björn Harrtell

Saya merasa sulit untuk membuat JSTS bekerja dalam aplikasi naskah dan Turf.js bekerja di luar kotak. JSTS lebih kaya dalam fungsi, tetapi untuk kebutuhan saya Turf.js bekerja dengan sangat baik.
HankCa

0

Anda dapat menggunakan ArcGIS server REST API terlepas dari API / bahasa apa yang Anda gunakan. Ini menyediakan semua metode ....


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.