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.

atogle
sumber

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

geografi
sumber
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.

Björn Harrtell
sumber
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)

simo
sumber
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.

jeremy-george
sumber
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 ....

Zahid Chaudhry
sumber
0

Anda dapat merujuk ke opensource javascript geometry library @ geoJs .

Sunny Luthra
sumber