คำถามติดแท็ก networkx

5
วิธีการแปลงคุณสมบัติง่าย ๆ ของเส้นเป็นเครือข่ายทอพอโลยี
การใช้ Gdal / OGR มีวิธีแปลงเลเยอร์บรรทัด shp, kml หรือ PostGIS เป็นเครือข่ายของโหนดและเซ็กเมนต์ดังนั้นจึงสามารถใช้ในแพ็คเกจเช่น networkx?

2
จุด (ของการดึงแสง) ภายในรูปหลายเหลี่ยมโดยใช้ ogr และ Python
ขณะนี้ฉันกำลังทำงานในโครงการที่ฉันต้องการสร้างเครือข่ายทอพอโลยีจากคุณสมบัติทางเรขาคณิตที่ฉันพบในรูปร่างไฟล์ จนถึงตอนนี้การใช้โครงการโอเพ่นซอร์สของ Ben Reillyฉันได้ทำการแปลง linestrings เป็น edge networkx รวมถึงการตรวจสอบคุณสมบัติปิด (linestrings อื่นพูด) และเพิ่มไปยังจุดที่ใกล้ที่สุด แต่มันก็ใช้ได้สำหรับไฟล์รูปร่างเดียว อย่างไรก็ตามตอนนี้ฉันต้องเชื่อมต่อฟีเจอร์ต่าง ๆ จากรูปร่างที่แตกต่างกันเข้ากับกราฟ networkx ขนาดใหญ่ ตัวอย่างเช่นถ้าจุดอยู่ภายในรูปหลายเหลี่ยมฉันจะเชื่อมต่อมัน (โดยเชื่อมต่อฉันหมายถึงเพิ่มขอบเครือข่าย - add_edge (g.GetPoint (1), g.GetPoint (2)) กับจุดในรูปร่างไฟล์ถัดไปที่ ยังอยู่ในรูปหลายเหลี่ยมที่ใช้แอตทริบิวต์ที่คล้ายกัน (พูด ID) โปรดทราบว่ารูปหลายเหลี่ยมในส่วนต่าง ๆ จะใช้รหัสเดียวกันเท่านั้นและไม่ใช่พิกัดจุดที่อยู่ภายในรูปหลายเหลี่ยมนั้นไม่ได้ใช้พิกัดเดียวกัน วิธีแก้ไขปัญหานี้ของฉันคือการระบุจุดที่อยู่ในรูปหลายเหลี่ยมเก็บไว้ค้นหาจุดใน shapefile ถัดไปที่อยู่ในรูปหลายเหลี่ยมที่มี id เดียวกันและเพิ่ม networkx edge ระหว่างพวกเขา จะหาได้อย่างไรว่าจุดนั้นอยู่ในรูปหลายเหลี่ยมหรือไม่? มีอัลกอริทึมที่รู้จักกันดี: อัลกอริทึมRayCastingที่ทำเช่นนั้น นี่คือจุดที่ฉันติดอยู่จริงเพราะเพื่อที่จะใช้อัลกอริทึมที่ฉันต้องการพิกัดของรูปหลายเหลี่ยมและไม่ทราบวิธีการเข้าถึงพวกเขาในขณะนี้แม้หลังจาก skimming ผ่านเอกสารของเรขาคณิตของ OGR ดังนั้นคำถามที่ฉันถามคือการเข้าถึงจุดรูปหลายเหลี่ยมหรือพิกัดหรือมีวิธีที่ง่ายกว่าในการตรวจสอบว่าจุดตกอยู่ในรูปหลายเหลี่ยม? การใช้ …

3
วิธีการเติมกราฟที่ไม่ได้บอกทิศทางจาก PostGIS
คำถามนี้เกี่ยวข้องกับแหล่งข้อมูลที่ฉันอาจยังไม่ได้ระบุถึงแม้ว่าฉันจะค้นหาเว็บมาระยะหนึ่งแล้ว ในโครงการฉันกำลังทำงานอยู่ในขณะนี้ฉันจำเป็นต้องเรียกใช้อัลกอริทึมที่สั้นที่สุดบนกราฟที่แสดงถึงห้องทำงานทางเดินบันไดลิฟท์และเส้นทางระหว่างอาคาร สำหรับเลเยอร์การนำเสนอฉันคิดว่าการใช้สคริปต์ Python กับ MapServer แต่ตอนนี้ฉันให้ความคิดเพิ่มเติมเกี่ยวกับวิธีการสร้างกราฟจาก (shapefiles conveted เป็น a) postGIS db ที่สร้างจาก OpenEV เพื่อเพิ่มและลบขอบหรือ น้ำหนักหรือข้อมูลเกี่ยวกับคะแนนในภายหลัง สำหรับ Python มีโมดูลที่ชื่อว่า networkX ซึ่งเกี่ยวข้องกับกราฟและถึงแม้ว่าปัญหานี้จะเกิดขึ้นใน stackexchange ที่นี่กราฟที่ฉันพยายามสร้างไม่ใช่ digraph แต่เป็นทิศทางเดียว อัปเดต: 5 วันที่ผ่านมาเครือข่ายสาธารณูปโภคของ Ben Reilly ได้ถูกเพิ่มเข้าในโครงการ networkX แล้ว Utilitynetwork สร้างกราฟโดยตรงจากคุณสมบัติ shapefile คำถามยังคงเปิดอยู่สำหรับวิธีการคล้ายกันในการอ่านคุณสมบัติจากฐานข้อมูล postGIS
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.