คำถามติดแท็ก spatial-join

4
มีประสิทธิภาพมากขึ้น Spatial อวกาศเข้าร่วมใน Python โดยไม่ต้องมี QGIS, ArcGIS, PostGIS, ฯลฯ
ฉันกำลังพยายามทำการรวมเชิงพื้นที่เหมือนตัวอย่างที่นี่: มีตัวเลือกหลามเพื่อ "เข้าร่วมแอตทริบิวต์ตามตำแหน่งที่ตั้ง" หรือไม่ . อย่างไรก็ตามวิธีการนั้นดูเหมือนไม่มีประสิทธิภาพ / ช้าจริงๆ แม้แต่การวิ่งด้วยความสุภาพ 250 คะแนนใช้เวลาเกือบ 2 นาทีและมันล้มเหลวอย่างสิ้นเชิงกับรูปร่างที่มี> 1,000 คะแนน มีแนวทางที่ดีกว่านี้ไหม? ฉันต้องการทำสิ่งนี้ทั้งหมดใน Python โดยไม่ต้องใช้ ArcGIS, QGIS, ฯลฯ ฉันยังสนใจที่จะทราบว่าเป็นไปได้ที่จะใช้แอตทริบิวต์ SUM (เช่นจำนวนประชากร) ของทุกจุดที่อยู่ในรูปหลายเหลี่ยมและเข้าร่วมปริมาณนั้นกับรูปหลายเหลี่ยมรูปร่างหรือไม่ นี่คือรหัสที่ฉันพยายามแปลง ฉันได้รับข้อผิดพลาดในบรรทัดที่ 9: poly['properties']['score'] += point['properties']['score'] ซึ่งพูดว่า: TypeError: ประเภทของตัวถูกดำเนินการที่ไม่รองรับสำหรับ + ​​=: 'NoneType' และ 'float' ถ้าฉันแทนที่ "+ =" ด้วย "=" มันจะทำงานได้ดี แต่นั่นไม่ได้ผลรวมฟิลด์ ฉันได้ลองทำสิ่งเหล่านี้ด้วยจำนวนเต็ม แต่ก็ล้มเหลวเช่นกัน with …

3
เข้าร่วมข้อมูลจุดเชิงพื้นที่กับรูปหลายเหลี่ยมใน R
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เนื่องจากสามารถตอบได้ในการแลกเปลี่ยน Stack ของระบบข้อมูลทางภูมิศาสตร์ อพยพ 4 ปีที่แล้ว ฉันพยายามทำการรวมเชิงพื้นที่ระหว่างข้อมูลจุดและข้อมูลรูปหลายเหลี่ยม ฉันมีข้อมูลที่ระบุพิกัดเชิงพื้นที่ของเหตุการณ์ในไฟล์ csv ของฉัน A และมีไฟล์อีกไฟล์หนึ่งคือ shapefile B ซึ่งมีขอบเขตของพื้นที่เป็นรูปหลายเหลี่ยม head(A) month longitude latitude lsoa_code crime_type 1 2014-09 -1.550626 53.59740 E01007359 Anti-social behaviour 2 2014-09 -1.550626 53.59740 E01007359 Public order 3 2014-09 -1.865236 53.93678 E01010646 Anti-social behaviour head(B@data) code name altname 0 …

3
geopandas spatial เข้าร่วมช้ามาก
ฉันใช้รหัสด้านล่างเพื่อค้นหาประเทศ (และบางครั้งระบุ) สำหรับจุด GPS นับล้าน รหัสในปัจจุบันใช้เวลาประมาณหนึ่งวินาทีต่อจุดซึ่งช้ามากอย่างไม่น่าเชื่อ ไฟล์รูปร่างคือ 6 MB ฉันอ่านว่า geopandas ใช้ rtrees สำหรับการรวมเชิงพื้นที่ทำให้พวกมันมีประสิทธิภาพอย่างเหลือเชื่อ แต่สิ่งนี้ดูเหมือนจะไม่ทำงานที่นี่ ผมทำอะไรผิดหรือเปล่า? ฉันหวังเป็นพันคะแนนต่อวินาทีหรือมากกว่านั้น สามารถดาวน์โหลด shapefile และ csv ได้ที่นี่ (5MB): https://www.dropbox.com/s/gdkxtpqupj0sidm/SpatialJoin.zip?dl=0 import pandas as pd import geopandas as gpd from geopandas import GeoDataFrame, read_file from geopandas.tools import sjoin from shapely.geometry import Point, mapping,shape import time #parameters shapefile="K:/.../Shapefiles/Used/World.shp" …

2
เข้าใจการเข้าร่วมคุณสมบัติตามสถานที่ใน QGIS
ฉันสงสัยว่ามีคำอธิบายสำหรับพารามิเตอร์ที่สามารถตั้งค่าเมื่อเรียกใช้อัลกอริทึม"Join Attributes by Location"ใน QGIS 2.18 ฉันได้ดูที่นี่: เอกสารประกอบการทดสอบ QGIS เข้าร่วมคุณสมบัติตามที่ตั้ง เอกสารประกอบสำหรับ QGIS 2.8 | ปลั๊กอิน fTools แต่ไม่มีคำอธิบาย คำใบ้ใด ๆ

3
ได้รับคุณลักษณะการสัมผัสจุดเส้นกลับไปที่ชั้นเลเยอร์โดยใช้ QGIS?
ฉันใช้ QGIS 2.14.4-Essen ฉันมีสองชั้น: points.shp ที่มีคะแนนพร้อมคอลัมน์ปี lines.shp ที่มีบรรทัดที่เชื่อมต่อจุดจาก points.shp ฉันต้องการรับแอตทริบิวต์ YEAR จาก points.shp กลับไปที่ lines.shp แต่ละบรรทัดเป็นส่วนเดียวที่มีหนึ่งจุดที่ปลายแต่ละด้าน (ดูภาพด้านล่าง) สิ่งที่ฉันอยากได้คือ YEAR จากจุดแรกและ YEAR จากจุดที่สองกลับเข้าไปในแต่ละบรรทัดคุณลักษณะ ตัวอย่างเช่น: บรรทัดที่ 1 สัมผัสจุดแรกด้วย YEAR = 2010 และจุดที่สองที่มี YEAR = 2011 ฉันต้องการกลับบางอย่างเช่น '2010-2011' ลงในแอตทริบิวต์บรรทัด 1 ผลลัพธ์ควรมีลักษณะเช่นนี้: id | points ----+----------------- 1 | 2010-2011 2 | 2011-2012 3 | …

2
วิธีการทำงานซ้ำ ๆ ใน QGIS?
ฉันกำลังพยายามจัดการกับไฟล์ฟีเจอร์หลายไฟล์ดังนั้นฉันจึงต้องการทำให้เป็นอัตโนมัติ ในความเป็นจริงฉันมีหนึ่งรูปร่างไฟล์ที่มีการกระจายเชิงพื้นที่ของสปีชีส์บางส่วนและอีกหนึ่งชนิดที่มีพืชพรรณ ฉันต้องการเลือก (ตามคุณสมบัติ) หนึ่งสปีชีส์ใน Species Shapefile จากนั้นเลือก (ตามท้องถิ่น) พื้นที่พืชทั้งหมดที่ตัดกับพื้นที่การกระจาย ในที่สุดฉันต้องการไฟล์รูปร่างด้วยชื่อชื่อสปีชีส์และคุณลักษณะและรูปแบบของพันธุ์พืชที่แวะเวียนมา และฉันต้องการที่จะทำซ้ำสิ่งนี้สำหรับทุกสายพันธุ์ (มากกว่า 100) และถ้าเป็นไปได้ทำในลักษณะที่ง่าย (เพื่อให้คนอื่นสามารถทำได้) ฉันได้ลองใช้งานนี้โดยใช้ปลั๊กอิน Sextante แล้ว แต่ฉันไม่สามารถมีชื่อสปีชีส์เป็นชื่อ shapefile ได้ในตอนท้าย มีคนแนะนำวิธีการนี้ได้ไหม?

2
หนึ่งต่อหลายคนเข้าร่วมในคลาสคุณลักษณะไปยังตาราง
ฉันใช้ ArcMap 10.2.2 พร้อมใบอนุญาตขั้นสูง ฉันใช้ ArcMap สำหรับการวิเคราะห์ขั้นพื้นฐานอื่น ๆ แต่ค่อนข้างใหม่สำหรับโปรแกรมและมีทักษะการเขียนโปรแกรมขั้นพื้นฐานเท่านั้นโดยไม่มีประสบการณ์ SQL นอกเหนือจากการสืบค้นพื้นฐานมากโดยใช้ตัวสร้างรหัส SQL ใน ArcMap ฉันมีรูปหลายเหลี่ยมของพื้นที่ทางภูมิศาสตร์ของสปีชีส์และฉันมีตารางที่มีรายการของเชื้อโรค / โรคที่ดำเนินการโดยสปีชีส์เหล่านั้น สายพันธุ์บางชนิดมีเชื้อโรคหลายชนิด ในโลกอุดมคติฉันจะเข้าร่วมรูปหลายเหลี่ยมในตารางของสปีชีส์ + จุลชีพก่อโรคและเก็บข้อมูลรูปหลายเหลี่ยม / อวกาศ แต่ดูเหมือนจะไม่มีเครื่องมือ GIS ที่จะทำสิ่งนี้ (ฉันจะ ต่อมานับจำนวนเชื้อโรคที่ทับซ้อนกันดังนั้นสิ่งสำคัญคือการรวมกันของสปีชีส์ของเชื้อโรคแต่ละชนิดมีคุณสมบัติของตัวเองมากกว่าหนึ่งคุณลักษณะที่มีข้อมูลสำหรับเชื้อโรคหลายชนิด) ข้อมูลของฉันมีลักษณะเป็นอย่างไร (# 1 & # 2, # 3 สำหรับใช้ภายหลัง): ตารางคุณสมบัติสำหรับคุณสมบัติเชิงพื้นที่: ตารางที่ไม่มีข้อมูลเชิงพื้นที่: (โปรดทราบว่าสิ่งเหล่านี้ไม่ใช่ข้อมูลจริงและการรวมกันของสปีชีส์ของเชื้อโรคอาจไม่จริงจริง ๆ แล้วฉันมี 115 รูปหลายเหลี่ยมและ 519 แถวของตารางชนิดของสายพันธุ์มีที่ใดก็ได้ระหว่าง 1-40 เชื้อโรคและสปีชีส์ โต๊ะของฉัน) ในฐานะที่เป็นโบนัสที่เพิ่มเข้ามาเนื่องจากการวิเคราะห์ในอนาคตที่ฉันต้องทำฉันจึงต้องการที่จะสามารถเข้าร่วมแบบหนึ่งต่อหลายคนนี้เพื่อให้ฉันสามารถเก็บคอลัมน์พิเศษของข้อมูลจากตาราง …

2
มีตัวเลือกหลามเพื่อ“ เข้าร่วมคุณสมบัติตามตำแหน่ง” หรือไม่?
ฉันกำลังพยายามใช้งานฟังก์ชั่นjoin attributes by locationที่พบในเมนู QGIS Vector> เครื่องมือจัดการข้อมูล ฉันกำลังหาตัวเลือก python ของโอเพ่นซอร์สสำหรับสิ่งนี้ ฉันรู้ว่า arcpy มีspatial joinฟังก์ชัน แต่ฉันพยายามทำสิ่งนี้นอกสภาพแวดล้อม ESRI
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.