ไลบรารี JavaScript เพียวสำหรับการดำเนินการทางเรขาคณิต


21

ไม่มีใครรู้เกี่ยวกับห้องสมุด JavaScript ที่บริสุทธิ์สำหรับการดำเนินการทางเรขาคณิตเช่นบัฟเฟอร์, สหภาพ, ปริภูมิ ฯลฯ ฉันต้องการเล่นกับการดำเนินการเหล่านี้ในเบราว์เซอร์ ดูเหมือนว่า GeoScriptJS มีการอ้างอิงบางอย่าง

คำตอบ:


15

คุณสามารถดูที่ OpenLayers API โดยเฉพาะอย่างยิ่งการเรียนเรขาคณิต คุณสามารถตรวจสอบจุดตัดขวางและเข้าถึงจุดยอด ฯลฯ ฉันเคยติดตั้งจุดบัฟเฟอร์ในอดีตกับ OpenLayers แม้ว่าสหภาพแรงงานอาจจะมีเล่ห์เหลี่ยม

สำหรับการดำเนินการที่ซับซ้อนมากขึ้นคุณอาจต้องการทำการประมวลผลฝั่งเซิร์ฟเวอร์และส่งผลลัพธ์กลับเป็น WKT หรือ GeoJSON ซึ่ง OpenLayers ทั้งสองสามารถแสดงได้ ดูตัวอย่างบทสอนของ Unionนี้

อีกตัวเลือกที่เป็นไปได้คือSpatial Queryเป็น " JQuery เช่นไลบรารี Javascript สำหรับจัดการคณิตศาสตร์เชิงพื้นที่ " ฉันไม่แน่ใจว่าทดสอบได้ดีเพียงใด แต่เนื่องจากแหล่งข้อมูลพร้อมใช้งานคุณควรดู

ปรับปรุง

ขณะนี้มีพอร์ต JavaScript ของ JTS Topology Suite - https://github.com/bjornharrtell/jsts


ฉันดูรูปเรขาคณิตของ OpenLayers และฉันคิดว่าวิธีการปรับขนาดจะทำให้ฉันสามารถปรับขนาดรูปเรขาคณิตเพื่อให้ได้ผลลัพธ์เหมือนบัฟเฟอร์ แต่คุณถูกต้องการทำสหภาพและทางแยกจะต้องทำด้วยตนเอง อนิจจา. สิ่งที่ฉันต้องการจริงๆคือพอร์ต JS บริสุทธิ์ของ JTS JSTS? =)
atogle

ฉันมองไปรอบ ๆ และฉันไม่คิดว่าโซลูชัน JS ที่ครอบคลุมเป็นผู้ใหญ่และบริสุทธิ์นั้นมีอยู่จริง Spatial Query ดูเหมือนจะเป็นสิ่งที่ดีที่สุดในตอนนี้ แต่ฉันพบ repos อื่น ๆ ใน GitHub ที่เป็นประโยชน์: github.com/shawnbot/geoff/blob/master/src/geoff.jsและgithub.com/maxogden/ geojson-js-utils
atogle

@atogle - มีการพูดคุยเกี่ยวกับการย้ายฟังก์ชันเรขาคณิตใน OpenLayers ไปยังห้องสมุดที่แยกต่างหาก - osgeo-org.1803224.n2.nabble.com/…
geographika

ดีแล้วที่รู้!
atogle

22

ฉันทำพอร์ต JTS ของฉันซึ่งเป็นพอร์ต JS บริสุทธิ์และสามารถดูได้ที่https://github.com/bjornharrtell/jsts

ในรุ่นปัจจุบัน (0.9.1) รองรับการทำงานหลักของ JTS ซึ่งฉันหมายถึงเพรดิเคตและโอเวอร์เลย์


สวัสดีฉันเพิ่งเสร็จ JSTS 1.0 ซึ่งเป็นพอร์ตที่สมบูรณ์และทันสมัยของ JTS ใน JavaScript ที่ทันสมัย มีให้ที่เดียวกับรุ่น 0.x
Björn Harrtell

3

คุณสามารถดูgeoscript (นำมาใช้ในภาษา langauages ​​รวมถึง JS)


2
ฉันค่อนข้างมั่นใจว่า GeoScript JS นั้นไม่ได้ตั้งใจให้ทำงานบนไคลเอนต์ / เบราว์เซอร์ เว็บไซต์บอกว่ามันถูกออกแบบมาสำหรับ RingoJS นอกจากนี้ยังปรากฏว่ามีการอ้างอิง JTS
atogle


1

Turfเป็นห้องสมุดจาวาสคริปต์ที่ให้การดำเนินงานเชิงพื้นที่มากมาย มันเป็นแบบแยกส่วนดังนั้นคุณสามารถรวมฟังก์ชั่นที่คุณต้องการในสคริปต์สุดท้ายเท่านั้น


น่าเสียดายที่มีข้อ จำกัด อย่างจริงจังในแง่ของรูปทรงและการดำเนินการ คุณสามารถชี้ไปที่สิ่งรูปหลายเหลี่ยมได้ แต่ดูเหมือนจะเป็นแบบนั้น
bugmenot123

Turf ใช้ JSTS ของฉันเอง (แต่เป็นเวอร์ชั่นเก่ากว่า) สำหรับการทำงานหลายอย่าง หากคุณใช้ JSTS โดยตรงคุณจะสามารถเข้าถึง API ที่มีรายละเอียดมากขึ้นซึ่งสามารถทำได้มากกว่า Turf ดูgithub.com/bjornharrtell/jsts
Björn Harrtell

ฉันพบว่ามันยากที่จะทำให้ JSTS ทำงานในแอปพลิเคชั่นตัวพิมพ์ดีดและ Turf.js ทำงานนอกกรอบได้ JSTS ทำงานได้ดียิ่งขึ้น แต่สำหรับความต้องการของฉัน Turf.js ใช้งานได้ดีมาก
HankCa

0

คุณสามารถใช้ REST API ของเซิร์ฟเวอร์ ArcGIS ไม่ว่าจะใช้ API / ภาษาใด มันมีวิธีการสัมผัสทั้งหมด ....


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.