การระบุกลุ่มในข้อมูลจุดเวคเตอร์โดยใช้ QGIS?


34

ฉันมีชุดข้อมูลเวกเตอร์ของจุดข้อมูลบรอดแบนด์ในชนบท (ความรวดเร็ว ฯลฯ ) และฉันต้องการสำรวจว่ามีกลุ่มของจุดที่มีลักษณะคล้ายกันหรือไม่และพล็อตหลายเหลี่ยมที่ครอบคลุม

ตัวอย่างเช่นฉันอาจมี 45,000 คะแนนในชุดข้อมูล PostGIS เดียวกระจายไปทั่วแนวนอน ฉันต้องการระบุกลุ่มที่อยู่ภายใน x km ของกันและกันและที่ความเร็วต่ำกว่า y kbps และสร้าง hulls นูนสำหรับแต่ละกลุ่มที่มีคุณสมบัติ

มีวิธีง่ายๆในการทำเช่นนี้ใน QGIS หรือไม่?


3
คุณอาจต้องการใส่ใจกับธรรมชาติของบรอดแบนด์ ความเร็วสูงจะเกิดขึ้นภายในเขตเมือง กลุ่ม บริษัท อุตสาหกรรม แผ่กระจายไปตามทางเดินถนนจาก COs, โมเด็มและโครงสร้างพื้นฐานไฟเบอร์ / เคเบิล / DSL อื่น ๆ ; และออกอากาศจากเสาสัญญาณบางเซลล์ (ขึ้นอยู่กับคำจำกัดความของ "บรอดแบนด์" ของคุณ) ดังนั้นความเร็วสูงจะปรากฏขึ้นเป็นกลุ่มและความเร็วที่ต่ำกว่าจะมีลักษณะเหมือนช่องว่างในกลุ่ม โดยเฉพาะอย่างยิ่งมันไม่น่าเป็นไปได้ที่ตัวเรือนูนจะเป็นคำอธิบายที่เหมาะสมของภูมิภาคความเร็วต่ำ มันจะเป็นการดีถ้าคุณรู้ว่าคุณตั้งใจจะตีความ "กลุ่ม" ใด ๆ ก็ตามที่คุณพบ
whuber

ขอบคุณสำหรับความช่วยเหลือ ฉันกำลังศึกษาพื้นที่ชนบทมากขึ้นซึ่งสถาปัตยกรรมของบรอดแบนด์แบบมีสายสามารถทำให้สถานการณ์ผิดปกติมากขึ้นเนื่องจากการกระจายตัวของตู้วางของถนนและเส้นที่ป้อนโดยตรงบนเสาเช่นเดียวกับภูมิศาสตร์ของพื้นที่เช่น เป็นผลให้คุณพบกลุ่มซึ่งเป็นจุดเริ่มต้นที่มีประโยชน์สำหรับการสร้างโซลูชันท้องถิ่นและเป็นขั้นตอนสำคัญในการพัฒนากลยุทธ์ ในความเป็นจริงคุณสามารถพบพวกเขาในเขตเมืองบ่อยครั้งเนื่องจากมรดกทางอุตสาหกรรมหรือสิ่งต่าง ๆ เช่นทางรถไฟและแม่น้ำที่ยากต่อการข้าม
Adrian

คำตอบ:


15

ฉันได้รวมบิตจากคำแนะนำหลายข้อและเพิ่มบิตของตัวเองและพบวิธีแก้ปัญหาที่ใช้งานได้ดีสำหรับฉัน - และทั้งหมดจากภายใน QGis!

ฉันแรกเริ่มเลือก PostGis SELECT เพื่อหาจุดที่มีคุณสมบัติทั่วไปที่เหมาะสมและอยู่ภายใน x km ของกันและกัน

เลือก DISTINCT s1.postcode, s1.the_geom, s1.gid จาก broadband_data AS s1 เข้าร่วม broadband_data AS s2 บน ST_D ภายใน (s1.the_geom, s2.the_geom, 1,000) WHERE s1.postcode!

(ค่อนข้างตรงจากสมุด PostGis in Actionที่ดีมากของ Manning เพียงเพิ่มการเข้าร่วมด้วยตนเองเท่านั้น)

ฉันโหลดปลั๊กอิน ManageR ของ Carson Farmer แล้วนำเข้าเลเยอร์ จากที่นี่ฉันทำตามขั้นตอนการจัดกลุ่ม PAM ที่แนะนำที่นี่และส่งออกผลลัพธ์ไปยังไฟล์รูปร่างซึ่ง Convex Hulls ถูกคำนวณในไม่กี่วินาทีโดยใช้ fTools (Carson เข้าใกล้!)


PostGIS in Action รุ่นที่ 1 ออกมาพิมพ์แล้ว นี่คือลิงค์ไปยังmanning.com/books/postgis-in-action-second-editionฉบับที่ 2 และลิงค์ไปยังบทแรกซึ่งเป็นmanning-content.s3.amazonaws.com/download/a/…ซึ่งเป็นอิสระ เหมาะสำหรับการเริ่มรับภาพ PostGIS
Martin Hügi

8

แม้ว่าจะไม่ได้แก้ปัญหา QGIS ฉันเลือกเองสำหรับบางคนการวิเคราะห์สอบสวนโดยใช้SaTScan มันรวดเร็วมีเอกสารที่ดีและมีการใช้อย่างกว้างขวางดังนั้นคุณไม่ควรมีปัญหาในการเริ่มต้นใช้งาน คะแนน 45k อาจต้องใช้ RAM บางส่วน

ฉันไม่แน่ใจว่าสามารถอ่านได้โดยตรงจาก Postgres แต่นำเข้าได้อย่างง่ายดายจาก dbf และไฟล์ข้อความ

ผลลัพธ์ของการวิเคราะห์สามารถอ่านกลับไปยัง Postgres หรือ QGIS ได้อย่างง่ายดาย คุณสามารถตัดสินใจค้นหากลุ่มแบบวงกลมหรือจุดไข่ปลา (อาจเป็นประโยชน์ในการใช้หากมีการตั้งถิ่นฐานประเภทใดประเภทหนึ่งในข้อมูลของคุณเช่นเมือง / หมู่บ้านที่มีรูปร่างยาวในหุบเขา ฯลฯ ) จากนั้นคุณสามารถสร้างรูปหลายเหลี่ยมหรือรูปไข่หรือแสดงเฉพาะตำแหน่งที่เป็นสมาชิกของกลุ่ม

สำหรับการแสดงตัวอย่างรวดเร็วของผลลัพธ์ใน Google Earth คุณยังสามารถใช้ NAACCR ของSaTScan เพื่อการแปลงเครื่องมือ

สำคัญ - หากคุณตัดสินใจใช้การจำลองแบบมอนติคาร์โล (อย่างน้อย 99 ฉันคิดว่า) คุณจะสามารถบอกบางอย่างเกี่ยวกับนัยสำคัญทางสถิติของกลุ่มของคุณ การตีความและการให้เหตุผลของกลุ่มนี้จะเป็นอีกประเด็นหนึ่งเนื่องจากมีการถกเถียงกันในเรื่องวิทยาศาสตร์อวกาศเป็นเวลาสองทศวรรษที่ผ่านมาอย่างน้อย (ฉันคิดว่า)

คุณสามารถลองใช้การวิเคราะห์เชิงพื้นที่อย่างหมดจดโดยมองหากลุ่มของค่าสูงค่าต่ำหรือค่า hagh & ค่าต่ำ หากคุณมีคุณลักษณะทางโลกในข้อมูลของคุณ * รายวันรายสัปดาห์รายสัปดาห์) ฉันคิดว่ามันน่าสนใจมากที่จะใช้แบบจำลองเวลาว่าง


2
ดูดี - คำตอบที่ดี
Mapperz

5

SciPy มีแพ็คเกจการทำคลัสเตอร์ (สำหรับไพ ธ อน) คุณสามารถใช้มันในคอนโซลของงูหลามเขียนปลั๊กอินง่าย ๆ เพื่อทำสิ่งนั้นหรือใช้ PL / python ภายใน postgis

http://docs.scipy.org/doc/scipy/reference/cluster.html

หลังจากการวิเคราะห์เพียงใช้เครื่องมือ f เพื่อสร้างเปลือกนูน


ฉันเป็นผู้ใช้ที่เรียบง่ายและมีประสบการณ์น้อยมากของ python แต่ฉันจะดู - ฉันรู้ว่าฉันต้องเรียนรู้!
Adrian

การจัดกลุ่ม SciPy นำความสัมพันธ์เชิงพื้นที่ระหว่างคะแนนมาพิจารณาด้วยหรือไม่
radek

1
คุณเพิ่ม covariates เพิ่มอีกสองตัวสำหรับพิกัด x และ y ของจุดของคุณ
Jose

5

มีตัวอย่างของสิ่งที่คุณต้องการจะทำโดยใช้ R และหญ้าที่คล้ายกันที่นี่ คุณอาจต้องการใช้เครื่องมือการจัดกลุ่มตามที่แนะนำของ scipy จากนั้นทำการคำนวณฮัลล์นูนโดยใช้วิธีนี้


3

คุณสามารถลองใช้ปลั๊กอิน Ftools Vector> >Geoprocessing ToolsConvex Hulls

มีตัวเลือกให้Create convex hulls based on input fieldพารามิเตอร์ฟิลด์อินพุตควรมาจากแอตทริบิวต์ของจุดอินพุตของคุณ


ขอบคุณสำหรับความช่วยเหลือ บิตเปลือกนูนจะสร้างรูปหลายเหลี่ยม แต่มันไม่ได้ระบุว่ามีกระจุกดาวอยู่หรือไม่ ฉันต้องการค้นหาวิธีการเชื่อมโยงจุดที่มีลักษณะคล้ายกันภายใน x กม. ของกันและกันก่อน ฉันเดาว่าฉันจะต้องเรียกใช้สคริปต์บางอย่างซึ่งระบุการมีอยู่ของกลุ่มและอัปเดตฟิลด์เพิ่มเติมในตาราง postgis สำหรับสมาชิกของแต่ละคลัสเตอร์ ตัวอย่างเช่นการสร้าง Delaunay triangulation และกรองจุดทั้งหมดที่ด้านข้างของรูปสามเหลี่ยมยาวกว่า x km แต่ฉันไม่รู้ว่าจะทำอย่างไร
Adrian
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.