ทางเลือกโอเพนซอร์ซสำหรับแนวคิดบริการประมวลผลทางภูมิศาสตร์ของ ArcGIS?


15

ฉันกำลังค้นหาตัวอย่างของการใช้ตรรกะที่ Esri สร้างขึ้นด้วยบริการประมวลผลทางภูมิศาสตร์ คุณเป็นผู้สร้างเครื่องมือที่กำหนดเองหรืออาจเป็นเครื่องมือของระบบ >> คุณเผยแพร่มันเพื่อแสดงฟังก์ชั่นนี้เป็นบริการเว็บ >> คุณใช้บริการเว็บกับลูกค้า

ตัวอย่างง่ายๆแบบคลาสสิก: ผู้ใช้สามารถคลิกบนแผนที่เพื่อสร้างจุด> พิกัดที่ส่งไปยังเซิร์ฟเวอร์> การดำเนินการบัฟเฟอร์กำลังดำเนินการที่ส่วนท้าย> คุณลักษณะของเขตกันชน (หรือเพียงภาพ) จะถูกส่งกลับไปยังไคลเอนต์ และแสดงบนผืนผ้าใบแผนที่ ฉันพัฒนาบริการ Esri GP มา 3 ปีแล้วและเป็นประสบการณ์ที่ดีโดยเฉพาะตั้งแต่เวอร์ชัน 10.1

มีตัวอย่างของระบบโอเพ่นซอร์ส / โซลูชันที่สามารถใช้เพื่อสร้างตรรกะที่คล้ายกันได้หรือไม่?

ฉันได้ค้นแล้วพบgis santanteแต่ก็ไม่มีอะไรพิเศษเกี่ยวกับวิธีการทำงานและจำนวนตรรกะที่มีให้ผ่าน Esri 52ดูเหมือนว่าจะยังทำงานได้ แต่ฉันก็หายไปจากคำอธิบายที่สะอาดของแนวคิด

คำตอบ:


6

ใช้ WPS ที่มีอยู่แล้วหรือสร้างไว้

มีคำอธิบายทั้งหมด / การสอนเกี่ยวกับบริการการประมวลผลเว็บ (WPS) เป็นพบได้ที่นี่ สิ่งนี้ส่วนใหญ่จะทำโดยใช้คำขอ HTTP ที่ส่งไปยังเซิร์ฟเวอร์เช่นGeoServerที่โฮสต์กระบวนการนี้ ลิงก์ GeoServer จะร่างกระบวนการทั่วไปในการโฮสต์และเรียกใช้ WPS โดยใช้ซอฟต์แวร์ของพวกเขา ส่วนขยาย WPS ของ GeoServer มาพร้อมกับกระบวนการ JTS Topology Suite ซึ่งเป็นไลบรารีของฟังก์ชันเชิงพื้นที่ทั่วไปเช่นการบัฟเฟอร์และการแยก นี่คือตัวอย่างของพวกเขาเกี่ยวกับการดำเนินการบัฟเฟอร์โดยใช้ไลบรารี JTS

ทางอื่น

มีวิธีอื่นที่ต้องทำ ทีมงานเว็บของเราใช้แบบสอบถามกับฐานข้อมูล PostGRE / PostGIS เพื่อทำการวิเคราะห์อย่างง่าย แต่ฉันไม่คุ้นเคย

แนวคิดหนึ่งที่ฉันเริ่มทำการวิจัยเกี่ยวข้องกับการใช้สคริปต์ python แบบโอเพ่นซอร์สเช่นPySal / GDALเพื่อทำการวิเคราะห์เชิงพื้นที่ คุณจะต้องใช้ JavaScript / AJAX (หรือภาษาฝั่งเซิร์ฟเวอร์ใด ๆ ) เพื่อเรียกใช้สคริปต์เหล่านั้นบนเซิร์ฟเวอร์ของคุณและพ่นผลลัพธ์ออกมา มันจะเป็นตัวเลือกที่ซับซ้อน แต่ฉันเชื่อว่ามันจะให้ตัวเลือกการปรับแต่งที่ดีขึ้นเมื่อเทียบกับ ESRI

ฉันคิดว่าคุณควรจะสามารถแยกย่อยคุณสมบัติเป็นสตริง GeoJSON เพื่อส่งผ่านเป็นพารามิเตอร์ในสคริปต์หลาม จากตรงนั้นคุณจะต้องแปลงผลลัพธ์นั้นกลับเป็นสตริง GeoJSON เพื่อส่งกลับไปยังไคลเอนต์เพื่อแสดง แพ็คเกจ Python เช่นShapelyสามารถตีความสตริง GeoJSON คนอื่น ๆ อาจต้องใช้วิธีการเขียนเพื่อใช้ GeoJSON หรืออาจมีตัวเลือกที่ดีกว่าที่ฉันไม่ได้คิดเกี่ยวกับการใช้

อีกทางเลือกหนึ่งคือใช้GeoToolsเพื่อเขียนเว็บแอปพลิเคชัน Java ที่จะทำการวิเคราะห์เชิงพื้นที่ สิ่งนี้ยังสนับสนุนสตริง GeoJSON และมีฟังก์ชันการวิเคราะห์เชิงพื้นที่ในตัว พวกเขามีภาพหน้าจอบางส่วนที่แสดงแอปพลิเคชันต่างๆ

สามารถสร้าง WPS ของคุณเองหรือรันสคริปต์ฝั่งเซิร์ฟเวอร์ มันจะไม่ง่ายอย่างที่ ESRI ทำ แต่จะฟรีถ้าคุณใช้โอเพ่นซอร์ส

ไม่ว่าคุณจะเลือกเส้นทางแบบไหนให้อัพเดตที่นี่เนื่องจากเป็นหัวข้อที่ยอดเยี่ยม!


ขอบคุณมากคำตอบที่ดีมาก คุณตั้งชื่อหนึ่งในทางเลือกที่ฉันจำไว้ - ทริกเกอร์ไฟล์ Python .py จากหน้าเว็บ JS ที่จัดเก็บข้อมูลที่ส่งโดยผู้ใช้ป้อนข้อมูลนี้ไปยังฟังก์ชัน Python จากนั้นรับผลลัพธ์ผลลัพธ์ที่ส่งคืนไปยังเว็บเบราว์เซอร์ สิ่งที่นี่คือคุณจะต้องเขียนเครื่องมือ GP ส่วนใหญ่ตั้งแต่เริ่มต้น ลิงค์ GeoTools ที่คุณแบ่งปันดูน่าสนใจ จะเจ๋งจริง ๆ เพื่อดูตัวอย่างการดำเนินการ GP ที่ดำเนินการที่ส่วนหลังโดย GeoServer!
Alex Tereshenkov

2

ปลั๊กอิน OpenGeo สำหรับ Qgis สามารถใช้บริการ wps ที่โฮสต์ใน geoserver มันทำงานคล้ายกับวิธีที่ arcgis ใช้กล่องเครื่องมือของพวกเขามันจะต้องมีการเปิดใช้งานบริการ wps และกระบวนการพร้อมใช้งาน คุณควรตรวจสอบ pyWPS


คุณช่วยอธิบายเกี่ยวกับปลั๊กอิน QGIS ได้ไหม? มันจะเป็นเพียงลูกค้าเดสก์ทอปที่สามารถใช้บริการ WPS ได้หรือไม่? ฉันสนใจที่จะเขียนบริการ WPS จากนั้นในเวิร์กโฟลว์ที่คล้ายคลึงกันที่ Esri มี (หรือใกล้เคียงกับที่มีการกำหนดค่าเพิ่มเติมและยอมรับการเขียนโปรแกรมเล็กน้อย) บางทีคุณสามารถแบ่งปันข้อมูลเกี่ยวกับการพัฒนาบริการ wps จากเดสก์ท็อป GIS ไปยัง GeoServer หรือแพลตฟอร์มเซิร์ฟเวอร์ GIS อื่นได้หรือไม่
Alex Tereshenkov
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.