Geometri İşlemleri için Saf JavaScript Kütüphanesi


21

Tampon, birleşim, kesişmeler vb. Geometri işlemleri yapmak için saf bir JavaScript kütüphanesi bilen var mı? Bu işlemleri tarayıcıda yapmakla oynamak istiyorum. GeoScriptJS'nin bazı bağımlılıkları var gibi görünüyor.

Yanıtlar:


15

OpenLayers API'sine, özellikle Geometry sınıflarına bakabilirsiniz . Kesişimleri kontrol edebilir ve köşelere vb. Erişebilirsiniz. Geçmişte sadece OpenLayers ile nokta arabellekleri uyguladım. Sendikalar daha zor olabilir.

Daha karmaşık işlemler için, sunucu tarafında işlem yapmak ve sonuçları her ikisi de OpenLayer'ların görüntüleyebileceği WKT veya GeoJSON'a geri iletmek isteyebilirsiniz. Örnek için bu Birlik eğiticisine bakın .

Başka bir olası seçenek Spatial Query bir " Mekansal matematik işlemek için Javascript kütüphanesi gibi JQuery " dir. Ne kadar iyi test edildiğinden emin değilim ama kaynak mevcut olduğundan bir göz atmalısınız.

Güncelleştirme

Şimdi JTS Topology Suite'in bir JavaScript bağlantı noktası var - https://github.com/bjornharrtell/jsts


OpenLayers geometrilerine baktım ve yeniden boyutlandırma yönteminin tampon benzeri sonuçlar elde etmek için geometrileri ölçeklendirmeme izin verdiğini düşünüyorum. Ama haklısın, sendikalar ve kavşaklar yapmak tamamen elle yapılmalıdır. Ne yazık ki. Gerçekten ihtiyacım olan JTS saf bir JS portu. JSTS? =)
atogle

Çok etrafa baktım ve kapsamlı, olgun ve saf JS çözümlerinin gerçekten var olduğunu düşünmüyorum. Spatial Query, şimdilik şimdilik en iyi şey gibi görünüyor, ancak GitHub'da faydalı olan birkaç başka depo buldum
atogle

@atogle - OpenLayers'daki geometri işlevselliğinin ayrı bir kütüphaneye taşınmasından bahsediliyor
geographika

bunu bildiğim iyi oldu!
atogle


3

Geoscript'e göz atabilirsiniz (JS de dahil olmak üzere birçok dilde uygulanır)


2
GeoScript JS'nin istemci / tarayıcıda çalıştırılması amaçlanmadığından eminim. Site RingoJS için tasarlandığını söylüyor. Ayrıca JTS bağımlılıkları var gibi görünüyor.
atogle


1

Çim , çok sayıda uzamsal işlem sağlayan bir javascript kütüphanesidir. Ayrıca modülerdir, bu nedenle yalnızca son komut dosyasına ihtiyacınız olan işlevleri ekleyebilirsiniz.


Maalesef geometriler ve mevcut operasyonlar açısından ciddi şekilde sınırlıdır. Çokgen şeyler işaret edebilir ama temelde öyle görünüyor.
bugmenot123

Çim aslında operasyonlarının çoğu için kendi JSTS'imi (ancak eski bir versiyonunu) kullanıyor. JSTS'yi doğrudan kullanırsanız, Çim'ten çok daha fazlasını yapabilen daha ayrıntılı bir API'ye erişebilirsiniz. Bkz. Github.com/bjornharrtell/jsts .
Björn Harrtell

JSTS'nin bir daktilo uygulamasında çalışmasını zor buldum ve Turf.js kutudan çıktı. JSTS işlevsellik açısından daha zengindir, ancak ihtiyaçlarım için Turf.js çok iyi çalıştı.
HankCa

0

Hangi API'yi / dili kullandığınızdan bağımsız olarak ArcGIS sunucusu REST API'sini kullanabilirsiniz. Maruz kalan tüm yöntemleri sağlar ....


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.