ระบบสารสนเทศทางภูมิศาสตร์

ถามตอบสำหรับนักทำแผนที่นักภูมิศาสตร์และผู้เชี่ยวชาญด้าน GIS

4
ลดความซับซ้อนของรูปหลายเหลี่ยมที่อยู่ติดกันโดยใช้เครื่องมือลดความซับซ้อนของรูปทรงเรขาคณิต QGIS
ฉันมี Shapefile ขนาดใหญ่ที่มี 200,000 รูปหลายเหลี่ยม แต่ไฟล์นั้นใหญ่เกินไปสำหรับแอปพลิเคชันที่จะใช้ ฉันต้องการที่จะสรุปรูปหลายเหลี่ยมเหล่านี้และสร้างไฟล์ที่เล็กกว่ามาก ฉันได้ลองทำสิ่งนี้ใน QGIS โดยใช้เครื่องมือ "ลดความซับซ้อนของรูปทรงเรขาคณิต" ฉันได้ลองในส่วนเล็ก ๆ ของ Shapefile ของฉันและฉันมีความสุขกับผลลัพธ์ แต่มีปัญหาเล็ก ๆ ซึ่งฉันไม่รู้วิธีแก้ปัญหา ฉันต่อท้ายรูปภาพเพื่อแสดงปัญหา ขอบเขตสีขาวเป็นขอบเขตก่อนที่จะทำให้เข้าใจง่าย ขอบเขตสีแดงเป็นเรื่องง่าย พื้นที่ที่มีปัญหาถูกล้อมรอบด้วยสีส้ม ในขณะที่คุณสามารถเห็น "ขอบเขตที่เรียบง่าย" มีบางพื้นที่ที่หลังจากการทำให้เข้าใจง่ายไม่ได้เป็นของรูปหลายเหลี่ยมก่อนหน้าใด ๆ ฉันจะทำให้ Shapefile นี้ง่ายขึ้นและรักษาขอบเขตทั่วไประหว่างรูปหลายเหลี่ยมเป็นบรรทัดเดียวและกำจัดพื้นที่ที่สร้างหลังจากการทำให้เป็นเรื่องง่ายได้อย่างไร ข้อมูลเพิ่มเติม: หลังจากทำตามคำแนะนำที่แนะนำ แปลงรูปหลายเหลี่ยมเป็นเส้น ลดความซับซ้อนของเส้น แปลงบรรทัดกลับเป็นรูปหลายเหลี่ยม ฉันได้รับผลลัพธ์ดังต่อไปนี้ มันดีกว่าเมื่อก่อน แต่ฉันยังคงได้พื้นที่นอกรูปหลายเหลี่ยมดั้งเดิม (ดูพื้นที่สีขาวในภาพด้านล่าง) @ แอนดรูว์แนะนำให้ฉันเชื่อมโยงแต่ละบรรทัดกับรูปหลายเหลี่ยมที่อยู่ติดกัน แต่ไม่ทราบว่าจะต้องทำอย่างไรใน QGIS ฉันยังคงพยายามทำให้กระบวนการรูปหลายเหลี่ยมลดความซับซ้อน ฉันได้ปฏิบัติตามคำแนะนำที่แนะนำในโพสต์นี้และเมื่อฉันคิดว่าฉันได้ผลลัพธ์ที่ยอมรับได้จะมีปัญหาอีกหนึ่งปรากฏขึ้น ด้านล่างนี้เป็นบทสรุปของสิ่งที่ฉันทำกับภาพผลลัพธ์ ทุกขั้นตอนดำเนินการโดยใช้ PROCESSING กล่องเครื่องมือใน QGIS …
10 qgis 

5
วิธีปรับปรุงประสิทธิภาพเมื่อใช้เคอร์เซอร์ ArcGIS ใน Python กับตารางขนาดใหญ่
ฉันมีคลาสฟีเจอร์จุดใหญ่ในไฟล์ฐานข้อมูลภูมิศาสตร์ (~ 4 000 000 บันทึก) นี่เป็นตารางคะแนนปกติที่มีความละเอียด 100 ม. ฉันต้องทำการวางแนวทั่วไปบนเลเยอร์นี้ สำหรับสิ่งนี้ฉันสร้างกริดใหม่โดยที่แต่ละจุดอยู่ตรงกลางของจุด 4 "เก่า": * * * * o o o * * * * o o o * * * * [*] = จุดของตารางเดิม - [o] = จุดของตารางใหม่ ค่าแอททริบิวของแต่ละจุดใหม่จะคำนวณตามค่าน้ำหนักของ 4 เพื่อนบ้านในกริดเก่า ฉันวนรอบทุกจุดของกริดใหม่ของฉันและสำหรับแต่ละจุดฉันวนรอบทุกจุดบนกริดเก่าของฉันเพื่อค้นหาเพื่อนบ้าน (โดยการเปรียบเทียบค่าของ X และ Y ในตารางคุณลักษณะ) เมื่อพบ 4 เพื่อนบ้านแล้วเราก็ออกไปจากวง …

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

2
โหลดโปรแกรมแต่งเพลงจากแม่แบบและสร้างแผนที่โดยใช้ PyQGIS
ฉันพยายามสร้างปลั๊กอินเพื่อโหลดผู้แต่งเพลงจากไฟล์สร้างแอตลาสและส่งออกไปยังรูปภาพ จนถึงตอนนี้ฉันประสบความสำเร็จในการโหลดเทมเพลตและส่งออกไปยังรูปภาพ ฉันไม่สามารถเพิ่มเลเยอร์ใด ๆ ในตำนาน (ซึ่งอยู่ใน toc) ลงในแผนที่ที่ส่งออกซึ่งส่งผลให้แผนที่ว่างเปล่าและไม่มีการแสดงออกของฟิลด์ใดทำงาน # Get layers in the legend and append, must be a cleaner way to do this? layers = self.iface.legendInterface().layers() layerStringList = [] for layer in layers: layerID = layer.id() layerStringList.append(layerID) # Add layer to map render myMapRenderer = QgsMapRenderer() myMapRenderer.setLayerSet(layerStringList) myMapRenderer.setProjectionsEnabled(False) # …

3
รูปแบบและการตั้งค่าใดที่ใช้สำหรับภาพถ่ายเสาอากาศใน QGIS
คำถามต่อไปนี้เกี่ยวกับการจัดการ Aerials ด้วย ArcGIS: รูปแบบที่มีประสิทธิภาพที่สุดในการจัดการภาพถ่ายทางอากาศเพื่อการดูเท่านั้น ดูเหมือนว่ามี 2 ตัวเลือกที่สำคัญสำหรับการจัดเก็บ / resampling / reprojecting ฯลฯ เสาอากาศ: JP2000 / JP2 / JPEG 2000 (เร็ว ๆ นี้ 5 รหัสสำหรับการจัดการ GDAL) ECW (ERDAS Wavelets ที่ถูกบีบอัด (.ecw)) อื่น ๆ ที่ฉันพลาด? สิ่งที่ฉันเข้าใจขึ้นอยู่กับรุ่น QGIS สำหรับทั้งสองอย่างนั้นมักจะต้องมีการติดตั้งไลบรารีเพิ่มเติมบางอย่าง ECW มีข้อ จำกัด บางประการ - สำหรับการบีบอัดข้อมูลจำเป็นต้องซื้อใบอนุญาตหรือไม่? ฉันทดสอบ jpeg ที่ฉันไม่สามารถใช้สำหรับไฟล์ขนาดใหญ่ (ข้อ จำกัด ด้านขนาดสูงสุด) และมันก็ช้าด้วยขนาดที่ใหญ่กว่า …

3
การสร้างภาพสามมิติพร้อมซอฟต์แวร์โอเพ่นซอร์ส GIS [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันกำลังค้นหาเครื่องมือ QGIS (หรือซอฟต์แวร์ GIS โอเพนซอร์ซอื่น ๆ ) ที่สามารถวิเคราะห์ข้อมูล XYZ ได้ นอกจากนี้ฉันสนใจที่จะได้ยินว่ามีใครย้ายไปใช้ซอฟต์แวร์ที่ไม่ใช่เชิงพาณิชย์เกี่ยวกับการวิเคราะห์ทางธรณีวิทยา 3 มิติและประสบการณ์ของคุณ - สิ่งที่ควรทำและไม่ควรทำ

1
การใช้เลเยอร์เวกเตอร์ในหน่วยความจำพร้อมการประมวลผล QGIS / SEXTANTE
ฉันพยายามเรียกใช้qgis:clipอัลกอริทึมจากคอนโซล แต่ได้รับข้อผิดพลาดเมื่อใช้เลเยอร์ในหน่วยความจำเป็นพารามิเตอร์โอเวอร์เลย์ คาดว่าจะเป็นเช่นนี้หรือฉันกำลังทำอะไรผิดหรือเปล่า? รหัส: mem_layer = QgsVectorLayer("Polygon?crs=epsg:4326", "temp_layer", "memory") if not mem_layer.isValid(): raise Exception("Failed to create memory layer") mem_layer_provider = mem_layer.dataProvider() clip_polygon = QgsFeature() clip_polygon.setGeometry(QgsGeometry.fromRect( QgsRectangle( self.output_layer.extent().xMinimum() + 10, self.output_layer.extent().yMinimum() + 10, self.output_layer.extent().xMaximum() - 10, self.output_layer.extent().yMaximum() - 10 ) )) mem_layer_provider.addFeatures([clip_polygon]) mem_layer.updateExtents() output = self.output_layer_path + "2" processing.runalg("qgis:clip", layer, mem_layer, …

4
ArcGIS 10.2 Query Layer บนประสิทธิภาพของ SQL Server
ฉันใช้ Query Layer บน SQL Server ใน ArcMap Query Layer ดำเนินการทันทีใน SQL Server แต่ใช้เวลานานในการดึงข้อมูลใน ArcMap ซึ่งระบบจะไม่ตอบสนองเป็นเวลาประมาณ 10 นาทีหรือนานกว่านั้น ในระหว่างการวาด ArcMap CPU ตัวใดตัวหนึ่งจะถูก maxed out ในกระบวนการ SQL Server My Query คือ STIntersects ของบัฟเฟอร์บนฟีเจอร์ Line (Shannon) เทียบกับฟีเจอร์รูปหลายเหลี่ยม (Townlands) ดังนี้ SELECT TOWNLANDS.TL_ID,TOWNLANDS.Shape FROM dbo.TOWNLANDS as townlands with(index(FDO_Shape)) JOIN dbo.Shannon on townlands.Shape.STIntersects (Shannon.Shape.STBuffer(2.0))=1 แบบสอบถามส่งคืน …

2
กำลังเรียกใช้งานสคริปต์ในหน้าต่าง Python ของ ArcMap?
ฉันกำลังเขียน Python ในเท็กซ์เอดิเตอร์ของฉันดังนั้นฉันจึงมีสคริปต์ Python, script.py ฉันยังคงพัฒนามันอยู่ดังนั้นจึงไม่ต้องการใส่ไว้ในกล่องเครื่องมือของฉันและในขณะนี้หมายถึงการคัดลอกและวางจากโปรแกรมแก้ไขข้อความของฉันไปยังหน้าต่าง Python ใน ArcGIS Desktop มีคำสั่งที่ให้ฉันเรียกมันจากหน้าต่าง ArcGIS Python หรือไม่? บางสิ่งบางอย่างตาม: run script.py ดูเหมือนว่ามีเหตุผลที่ควรมีอยู่ แต่อาจจะไม่

2
วิธีการระบุหน่วยการวัดเมื่อเข้าถึงแอตทริบิวต์ 'ความยาว' ของวัตถุเรขาคณิต?
การใช้เครื่องมือ CalculateField_management เราสามารถระบุหน่วยการวัดได้เมื่อคำนวณความยาวของรูปร่าง: #Calculate polyline lengths in miles polylines = "C:\sampleShape.shp" arcpy.CalculateField_management(polylines, "shapeLen", "!Shape.length@MILES!", "PYTHON_9.3") ฉันต้องการทำสิ่งเดียวกันภายในเคอร์เซอร์โดยใช้ 'SHAPE @ LENGTH' ของแต่ละคุณสมบัติโดยมีความยาวที่ส่งคืนในหน่วยที่ฉันเลือก: #hypothetical example 1 with arcpy.da.UpdateCursor(polylines, field_names=["SHAPE@LENGTH.FEET", "shapeLen"]) as upCurs: for row in upCurs: row[1] = row[0] upCurs.updateRow(row) หรืออาจเป็นไปได้โดยใช้ @shape geometry object (ประสิทธิภาพน้อยกว่า): #hypothetical example 2 with arcpy.da.UpdateCursor(polylines, field_names=["@SHAPE", "shapeLen"]) as …

1
ฉันจะคลิป basemap OSM ด้วยรูปหลายเหลี่ยมได้อย่างไร
ฉันสร้างแผนที่ใน qgis 2.0 แล้ว แผนที่ใช้ปลั๊กอิน OpenLayers เพื่อเพิ่มเลเยอร์ OSM เป็นแผนที่ฐาน ฉันต้องการ จำกัด แผนที่ฐานที่จะมองเห็นได้เฉพาะภายในรูปหลายเหลี่ยมที่กำหนดไว้ในชั้นรูปร่าง ฉันจะบรรลุสิ่งนี้ได้อย่างไร

1
จะทำอย่างไรถ้า Statement ใน Field Calculator ของ ArcGIS for Desktop?
ฉันมีไฟล์รูปร่างที่มีสองฟิลด์ตัวเลข ("Dist_1" และ "Dist_2") ฉันต้องการการคำนวณภาคสนามที่จะเติมฟิลด์เพิ่มเติม ("ผลลัพธ์") ด้วยหนึ่งในสามคำตอบ: ก่อนถ้า Dist_1 มากกว่า Dist_2 จะเติมผลลัพธ์ด้วย 'True' ที่สองถ้า Dist_1 น้อยกว่า Dist_2 ที่เติมด้วย 'False' และที่สามถ้า Dist_1 และ Dist_2 นั้นมีค่าเท่ากับ "Equal"

1
ความแตกต่างระหว่าง Make Feature Layer (การจัดการข้อมูล) และการใช้พื้นที่ทำงาน in_memory หรือไม่?
ฉันสงสัยว่าความแตกต่างระหว่างMake Feature Layer (การจัดการข้อมูล)และการใช้พื้นที่ทำงาน in_memoryหรือไม่ สำหรับฉันหนึ่งสามารถใช้ในการทำขั้นตอนบางอย่างในหน่วยความจำแทนการเขียนข้อมูลไปยังตำแหน่งบนดิสก์หรือตำแหน่งเครือข่ายและเร่งกระบวนการ

3
การลบคุณสมบัติรูปหลายเหลี่ยมที่ทับซ้อนกันจากหนึ่งในสองเลเยอร์โดยใช้ QGIS หรือไม่
ฉันมีรูปหลายเหลี่ยมซ้อนกันสองชั้นและฉันจำเป็นต้องลบพื้นที่ที่ทับซ้อนกัน - วิธีนี้ฉันควรลงท้ายด้วยรูปหลายเหลี่ยมที่ไม่ทับซ้อนกันสองชั้น ฟังดูง่าย แต่ฉันไม่สามารถทำให้ถูกต้องกับเครื่องมือใด ๆ ใน Qgis! ฉันควรใช้ "คลิป" หรือ "ตัดรูปร่างโดยรูปหลายเหลี่ยม" หรืออาจเป็น "เครื่องมือ" ความแตกต่าง "และ" คลิป " สิ่งที่ฉันทำผลิตภัณฑ์ไม่ถูกต้อง

1
มีวิธีในการแสดงจำนวนเลเยอร์ใน TOC หรือไม่
ฉันกำลังใช้ ArcGIS 10 ในสารบัญ (TOC) ของ ArcMap มีวิธีให้ "ชื่อเลเยอร์" แสดงจำนวนคุณลักษณะทั้งหมดในแต่ละเลเยอร์โดยอัตโนมัติหรือไม่ ฉันคิดว่า TOC จะมีหน้าตาแบบนี้: ถนน (27) สตรีม (100) พัสดุภัณฑ์ (12) ฉันพบตัวเลือกนี้สำหรับการสร้างมูลค่าที่ไม่ซ้ำแต่: ฉันไม่ใช่คน ArcObjects และ ฉันต้องการทำงานร่วมกับตัวแสดงผลแบบค่าเดียวเท่านั้น การเรียงลำดับแท็บ "รายการตามการเลือก" ของมีความสามารถนี้ แต่เฉพาะเมื่อมีคุณสมบัติที่เลือก

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