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

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

1
ลดระยะห่างระหว่างไอเท็มในตำนานใน R หรือไม่?
ฉันพยายามสร้างchoropleth()แผนที่ที่ถูกต้องใน R โดยใช้GISToolsแพ็คเกจ ฉันใช้choro.legend()แสดงตำนานของฉัน อย่างไรก็ตามฉันไม่สามารถสร้างตำแหน่งคำอธิบายแผนภูมิที่ถูกต้องได้และ / หรือฉันไม่เข้าใจบทบาทของfmtพารามิเตอร์ในchoro.legend()ฟังก์ชันของฉัน ดูเหมือนว่าฉันfmtสามารถลดช่องว่างระหว่างสีในตำนานและคำอธิบายของฉัน ผมพบว่าหน้าความช่วยเหลือ choro.legendที่รัฐfmtเป็น"รูปแบบสไตล์ C เป็นค่าที่ระบุไว้ในข้างต้นข้อ จำกัด ระดับ choropleth" ดังนั้นนี่ควรทำงานกับค่าคลาสของฉันไม่ใช่ระยะห่างระหว่างไอเท็มคำอธิบาย? หรือความหมายของมนุษย์ที่เข้าใจได้ของสิ่งนี้คืออะไร? ฉันจะลดระยะห่างระหว่างchoro.legend()สิ่งของของฉันได้อย่างไร choropleth(my.shp, nc.lI[,1], shading = income.shade) choro.legend(-12919698, 5314317,income.shade,title='My title',cex=0.8, bty = "n", fmt = "%0.1f")
9 r  legend  choropleth 

4
การทำให้ฟิลด์ตารางแอตทริบิวต์ QGIS เป็นอัตโนมัติหรือไม่
ฉันกำลังทำงานเพื่อสร้างโครงการอุทกวิทยาโดยใช้ QGIS และแผ่นงาน Excel ที่ฉันมี เมื่อต้องการทำสิ่งนี้ฉันต้องการดึงข้อมูลบางอย่างของบรรทัดรวมอยู่ในเวกเตอร์เลเยอร์ซึ่งแสดงถึงส่วนของไพพ์ ข้อมูลที่ฉันต้องการแยกคือ: หมายเลขประจำตัว ความยาว X, Y พิกัดเริ่มต้นและสิ้นสุด ฉันพบวิธีจับฟิลด์นี้โดยใช้ "$ length" และอัลกอริธึมอื่นสำหรับพิกัด X และ Y แต่สำหรับฉันต้องเปิดตารางคุณสมบัติใส่นิพจน์ในคอลัมน์แอตทริบิวต์แต่ละรายการและคลิกเพื่ออัปเดตฟิลด์ มีวิธีการหรือไม่เมื่อฉันวาดเส้นฟิลด์เหล่านี้จะถูกเติมโดยอัตโนมัติ? นั่นคือฉันวาด / แก้ไขบรรทัด (เริ่มการแก้ไขหรือโหนดสิ้นสุด) และเมื่อฉันเปิดตารางคุณลักษณะฟิลด์ความยาวและพิกัด X, Y จะเต็มและปรับปรุง

3
การคาดการณ์ของ Sentinel-2
ฉันเพิ่งสังเกตเห็นการเปลี่ยนแปลงในประมาณการทางภูมิศาสตร์ของข้อมูล Sentinel 2 โปรดดูภาพหน้าจอด้านล่างสำหรับการชี้แจง (Granule T33UXP, แบนด์ 8 เท่านั้น) ภาพแรกถูกถ่ายใน 20160314 ภาพที่สอง (เลื่อน) ใน 20160403 ฉันเพิ่มรูปหลายเหลี่ยมเป็นข้อมูลอ้างอิง นี่เป็นข้อมูลที่ยังไม่ได้ประมวลผลซึ่งดาวน์โหลดจากฮับ API S2A_OPER_MSI_L1C_TL_SGS__20160314T171554_A003794_T33UXP_N02.01 S2A_OPER_MSI_L1C_TL_SGS__20160403T152610_A004080_T33UXP_N02.01 anyobdy สังเกตเห็นสิ่งนี้หรือไม่? นี่เป็นปัญหาที่ทราบหรือเกิดขึ้นเฉพาะในกรณีของฉันหรือไม่

2
วิธีการปรับรูปหลายเหลี่ยมที่อยู่ติดกันได้อย่างราบรื่น?
ฉันต้องการรูปหลายเหลี่ยมที่ราบรื่นซึ่งมีขอบเขตร่วมกัน ฉันจะทำให้ราบรื่นเพื่อให้ขอบเขตการแชร์ถูกแชร์ได้อย่างไร? ฉันใช้ Arcgis 10.3

1
ทำไม QGIS ไม่ตรวจจับ CRS จากไฟล์. prj
ฉันมีกริดหกเหลี่ยมจำนวน 1 กม. ที่ครอบคลุมมณฑลต่างๆในสหรัฐอเมริกาในฐานข้อมูล postgreSQL / postGIS แต่ละตารางมี CRS EPSG: 3857 และชั้นเขตมี EPSG: 3857 เมื่อดูกริดกับมณฑลใน QGIS ทุกอย่างดูดี แต่ ... เพื่อแบ่งปันกริดเหล่านี้กับเพื่อนร่วมงานฉันต้องส่งออกไปยังรูปร่างไฟล์โดยใช้ ogr2ogr การดูข้อมูลเหล่านี้ใน QGIS แต่ละตารางจะมีการเลื่อนขึ้นประมาณ 20 กม. และ QGIS จะตั้งค่า CRS เป็น EPSG โดยอัตโนมัติ: 3395 (ซึ่งไม่ใช่ CRS ของโครงการ) เมื่อฉันส่งออกตาราง PostGIS เป็น shapefiles จาก QGIS , ดูไฟล์ .prj ว่าเช่นเดียวกับการส่งออก shapefiles ogr2ogrแต่ PostGIS …
9 qgis  postgis  ogr2ogr  epsg 

1
เพิ่มประสิทธิภาพจุดที่มีขนาดใหญ่มากในการค้นหารูปหลายเหลี่ยม
ฉันมีชุดข้อมูลที่อยู่แห่งชาติ (37 ล้านชุด) และชุดข้อมูลรูปหลายเหลี่ยมของชุดข้อมูลน้ำท่วม (2 ล้าน) ประเภท MultiPolygonZ ประเภทของรูปหลายเหลี่ยมมีความซับซ้อนมาก ST_NPoints สูงสุดอยู่ที่ประมาณ 200,000 ฉันกำลังพยายามระบุโดยใช้ PostGIS (2.18) ซึ่งจุดที่อยู่ในรูปหลายเหลี่ยมน้ำท่วมและเขียนสิ่งเหล่านี้ไปยังตารางใหม่ที่มีที่อยู่ ID และรายละเอียดความเสี่ยงน้ำท่วม ฉันได้ลองจากมุมมองที่อยู่ (ST_ ภายใน) แต่จากนั้นสลับมุมมองนี้เริ่มต้นจากมุมมองของพื้นที่น้ำท่วม (ST_Contains) เหตุผลว่ามีพื้นที่ขนาดใหญ่ที่ไม่มีความเสี่ยงจากน้ำท่วมเลย ชุดข้อมูลทั้งคู่ได้รับการทำซ้ำเป็น 4326 และทั้งสองตารางมีดัชนีเชิงพื้นที่ ข้อความค้นหาด้านล่างของฉันทำงานเป็นเวลา 3 วันในขณะนี้และไม่แสดงสัญญาณว่าจะเสร็จเร็ว ๆ นี้! select a.id, f.risk_factor_1, f.risk_factor_2, f.risk_factor_3 into gb.addresses_with_flood_risk from gb.flood_risk_areas f, gb.addresses a where ST_Contains(f.the_geom, a.the_geom); มีวิธีที่เหมาะสมที่สุดในการเรียกใช้หรือไม่ นอกจากนี้สำหรับเคียวรีที่รันนานชนิดนี้วิธีที่ดีที่สุดในการติดตามความคืบหน้านอกเหนือจากการดูการใช้ทรัพยากรและ pg_stat_activity …

2
ใช้เลเยอร์หน่วยความจำเป็นอินพุตและ / หรือเอาต์พุตด้วย runalg หรือไม่
เลเยอร์หน่วยความจำสามารถใช้เป็นอินพุทและ / หรือเอาท์พุทที่มีRunalg ได้หรือไม่? ด้วยrunandloadฉันสามารถใช้งานได้: processing.runandload("qgis:mergevectorlayers","memory:bufferOne", "memory:bufferTwo", r"memory:merged") processing.runandload("qgis:dissolve", r"memory:merged", True, '', r"D:\PythonTesting\dissolved.shp") พารามิเตอร์ 2 และ 3 เป็นเลเยอร์อินพุตซึ่งอยู่ในหน่วยความจำแล้วและพารามิเตอร์ 3 คือเลเยอร์เอาต์พุตซึ่งถูกเขียนลงในหน่วยความจำและใช้ในเครื่องมือต่อไปนี้ (ละลาย) มันใช้งานได้ดี แต่เมื่อฉันพยายามใช้ตรรกะเดียวกันกับrunalgแล้วเลเยอร์ที่ผสานของฉันในหน่วยความจำดูเหมือนจะไม่ถูกสร้างขึ้นเนื่องจากเครื่องมือ Dissolve ไม่เคยทำงาน ตัวอย่างเช่นต่อไปนี้จะไม่ทำงาน: processing.runalg("qgis:mergevectorlayers","memory:bufferOne", "memory:bufferTwo", r"memory:merged") processing.runandload("qgis:dissolve", r"memory:merged", True, '', r"D:\PythonTesting\datenschrott\dissolved.shp") ฉันสามารถสันนิษฐานได้ว่าrunalgไม่ยอมรับเลเยอร์ที่อยู่ในหน่วยความจำหรือไม่สามารถส่งออกได้หรือไม่?

2
วาดเส้นระหว่างจุดที่ระยะทางเฉพาะใน PostGIS?
ฉันมีข้อมูลจุดตามถนนฉันต้องการเปลี่ยนจุดเหล่านั้นเป็นเส้นสีเรียบง่าย พอยน์เตอร์ใดที่ปัญหานี้อาจถูกเรียกหรืออัลกอริธึมที่สามารถช่วยฉันแก้ปัญหานี้ได้? ฉันหวังว่าจะใช้PostGISฟังก์ชั่นในการทำสิ่งนี้ แต่ฉันเปิดรับข้อเสนอแนะนี่เป็นข้อมูลจาก.shpไฟล์ แก้ไข 1: อัปเดตรูปภาพเพื่อแสดงวิธีแก้ปัญหาในอุดมคติ การวาดเส้นจะขึ้นอยู่กับระยะห่างระหว่างจุดนั้นอย่างหมดจดไม่มีอะไรที่ฉันสามารถใช้เพื่อจัดกลุ่มพวกเขาโดย เป็นการดีที่นี่จะเป็นคะแนนที่ระยะทางสูงสุดที่ระบุไว้ตามเส้นที่ฉาย? และโดยเส้นที่ฉายผมหมายถึงหาจุดที่ 1 จากนั้นจุดต่อไปที่ใกล้ที่สุดจากนั้นฉายเส้นและตรวจสอบว่ามีจุดใด ๆ ในบรรทัดนี้ที่ระยะทางสูงสุดกับจุดใดจุดหนึ่งที่อยู่บนเส้น
9 postgis  line 

2
วิธีลดขนาดของรูปร่างเมื่อคุณสมบัติถูกลบไปแล้ว?
สคริปต์ตัวจิ๋วนี้จะลบฟีเจอร์เล็ก ๆ ทั้งหมดในเลเยอร์ทั้งหมด ใช้งานได้ดี แต่ขนาดของไฟล์. shp จะไม่ลดลง บอกฉันทีว่าทำไม... canvas = iface.mapCanvas() expr = QgsExpression("$length<100") for l in canvas.layers(): l.startEditing() it = l.getFeatures(QgsFeatureRequest(expr)) for ft in it: l.deleteFeature(ft.id()) l.commitChanges()
9 qgis  python 

2
วิธีใช้แพคเกจไทล์ ArcGIS พร้อมเดสก์ท็อป
ฉันทำหลักสูตรการฝึกอบรม ArcGIS Online มาระยะหนึ่งและเรียนรู้เพิ่มเติมเกี่ยวกับแพคเกจไทล์เล็กน้อย ฉันทำตามคำแนะนำวิธีการสร้างแพ็คเกจ และสร้างแพคเกจไทล์สำหรับถ่ายภาพทางอากาศ กระบวนการเสร็จสมบูรณ์และตอนนี้ฉันมีแพ็คเกจขนาดเล็ก68GBแล้ว ฉันต้องการใช้แพคเกจนี้ในเครื่องใน ArcGIS Desktop แต่เมื่อใดก็ตามที่ฉันเพิ่มAirPhoto.tpkใน ArcMap ของฉันมันจะหยุดและคงอยู่เช่นนั้น ฉันมีพีซีที่ทรงพลังและทรัพยากรไม่สูงสุดเมื่อฉันพยายามเพิ่มมันดูเหมือนว่าจะหยุดการทำงานของเดสก์ท็อป ArcGIS ฉันพยายามรอประมาณ 12 ชั่วโมงเพื่อให้กระบวนการเสร็จสมบูรณ์ แต่ก็ยังคงค้างอยู่ ฉันสามารถแชร์แพ็คเกจอื่นและเก็บไว้ใน ArcGIS ออนไลน์จากนั้นนำกลับไปที่เดสก์ท็อป ตัวเลือกนั้นใช้งานไม่ได้กับภาพถ่ายทางอากาศเพราะฉันจะเก็บเครดิตไว้ในระดับออนไลน์ ฉันได้ ArcGIS สำหรับเซิร์ฟเวอร์ที่นี่และคิดว่าฉันจะลองเพิ่มที่นั่นและแบ่งปัน ฉันทำอะไรผิดที่นี่ ฉันจำเป็นต้องเปิดหีบบรรจุภัณฑ์หรือเปล่าหรือไม่และถ้าเป็นเช่นนั้นจุดใดของแพคเกจกระเบื้อง? ฉันกำลังใช้งาน 10.3 ขั้นสูงอยู่การอัปเกรดเป็น 10.4 แก้ปัญหานี้หรือไม่

2
SQL Server - เลือกรูปหลายเหลี่ยมซ้อนกันภายในรูปหลายเหลี่ยมที่ใหญ่กว่า
นี่เป็นคำถามเชิงเรขาคณิตของ SQL Server ที่ดูเหมือนง่ายที่ฉันคิดว่าน่าจะมีโซลูชันนอกกรอบ แต่ฉันไม่มีโชคในการค้นหา ความตั้งใจของฉันคือการเลือกระเบียนทั้งหมดภายในหนึ่งตารางที่มีรูปหลายเหลี่ยมที่ซ้อนกัน (มีอยู่) ภายในรูปหลายเหลี่ยมที่มีขนาดใหญ่กว่าจากตารางอื่น ฉันคาดหวังการทำงานSTWithinและSTContainsการแก้ปัญหาที่ฉันต้องการ แต่น่าเสียดายที่ทั้งคู่ระบุเฉพาะรูปหลายเหลี่ยมด้านในภายในรูปหลายเหลี่ยมขนาดใหญ่ไม่ใช่รูปหลายเหลี่ยมซ้อนกันที่สัมผัสกับขอบเขตของรูปหลายเหลี่ยมขนาดใหญ่ ดูภาพตัวอย่าง STIntersectionตัวเลือกทางเลือกที่ทำงานเพื่อตอบสนองความต้องการของฉันคือ อย่างไรก็ตามปัญหาของฟังก์ชั่นนี้คือมันแค่คืนค่าคอลัมน์รูปทรงเรขาคณิตเท่านั้น! ฉันต้องการขอรับรหัสบันทึกแทน ใครบ้างมีข้อเสนอแนะเกี่ยวกับวิธีการนี้สามารถทำได้? STWithin: select a.bg10 from gis.usa_10_block_group a join gis.usa_10_mkt_definition b on a.shape.STWithin(b.shape) = 1 where b.mktname = 'Loop' STContains: select a.bg10 from gis.usa_10_block_group a join gis.usa_10_mkt_definition b on b.shape.STContains(a.shape) = 1 where b.mktname = 'Loop' STIntersection: …

1
การทำการพิมพ์ผู้แต่งโครงการ QGIS โดยอัตโนมัติหรือไม่
ฉันมีโครงการขนาดใหญ่ซึ่งประกอบด้วยไฟล์โครงการ QGIS ประมาณ 10 เท่า แต่ละโครงการมีผู้แต่งเพลงพร้อมด้วยแผนที่ตั้งค่าเพื่อสร้างแผนที่ได้สูงสุด 10 แผนที่ วิธีที่ง่ายที่สุดในการเปิดแต่ละโครงการโดยอัตโนมัติและสร้าง PDF โดยใช้แอทลาสผู้แต่งคืออะไร (บางอย่างเช่นนี้จะเหมาะ - ไม่แน่ใจว่าเป็นไปได้) C: \ OSGeo4W \ bin \ qgis.bat - โครงการ MyProject1.qgs - รหัส SaveAtlasAsPdf.py C: \ OSGeo4W \ bin \ qgis.bat - โครงการ MyProject2.qgs - รหัส SaveAtlasAsPdf.py

1
เซิร์ฟเวอร์ QGIS ส่งการอัปเดต ... WHERE NULL ไปยัง postgis ในเลเยอร์ WFS
ฉันใช้เซิร์ฟเวอร์ Windows Server 2012 PostgreSQL 9.3.5, 64-bit POSTGIS 2.1.3 เซิร์ฟเวอร์ QGIS 2.6.1-2 QGIS Desktop 2.8.3 และ 2.12 ฉันใช้แท็บเล็ต Microsoft Surface Pro 4 โดยใช้ QGIS Desktop 2.12 เพื่อแก้ไขเลเยอร์บางอย่างในฐานข้อมูล Postgresql เลเยอร์ในแท็บเล็ตคือเลเยอร์ WFS ที่ให้บริการโดยเซิร์ฟเวอร์ QGIS เมื่อฉัน toogle แก้ไขหลังจากใส่ข้อมูลบางอย่างในเลเยอร์เพื่อบังคับให้ส่งและเก็บข้อมูลในเซิร์ฟเวอร์บางครั้งการอัปเดตไม่ได้ทำในฐานข้อมูล ฉันเห็นว่าคำขอ POST http มาถึงเซิร์ฟเวอร์แล้ว แต่บางครั้งฉันไม่เห็นคอมมิชชัน (อัปเดต) ในฐานข้อมูลและบางครั้งก็ทำงานได้ดีและยอมรับได้ ในบันทึกของเซิร์ฟเวอร์ QGIS ฉันสามารถเห็น (ฉันอัปเดตข้อมูลคุณลักษณะ 3 อย่างใน QGIS Desktop): …

1
การเพิ่มเลเยอร์ PostGIS จากปลั๊กอิน QGIS Python
ฉันพยายามพัฒนาปลั๊กอินเพื่อเพิ่มเลเยอร์ postgis ลงใน qgis จากปลั๊กอินซึ่งเป็นส่วนหนึ่งของการเรียนรู้ภาษาไพ ธ อน รหัสสำหรับการเพิ่มเลเยอร์ postgis ถูกนำมาจากตำราอาหารและทำงานได้ดีถ้าฉันเรียกใช้จากคอนโซล Python ภายใน qgis (หากกดปุ่ม OK ในกล่องโต้ตอบผลลัพธ์ == 1 และควรเพิ่มเลเยอร์ของฉันไปยัง qgis) แต่ถ้าฉันเรียกใช้จากปลั๊กอินมันจะพ่นข้อความ NameError: ชื่อ 'QgsDataSourceURI' ไม่ได้ถูกกำหนดไว้ เหตุใดฉันจึงได้รับข้อผิดพลาดในการเรียกใช้จากปลั๊กอิน ฉันจะเพิ่มเลเยอร์จากปลั๊กอิน / ภายในฟังก์ชั่นกับความแตกต่างจากคอนโซลหลามได้หรือไม่ def run(self): """Run method that performs all the real work""" # show the dialog self.dlg.show() # Run the dialog event loop …

2
จัดรูปแบบไฟล์ GeoJSON เฉพาะเป็นรูปแบบที่ถูกต้อง
ฉันต้องการใช้ไฟล์ jsonนี้มันไม่ใช่ไฟล์ GeoJSON แต่ฉันสังเกตเห็นว่ามันมีคุณสมบัติหลายอย่างและไม่ใช่ไฟล์ที่ฉันสับสน ฉันอยากถามว่าคุณรู้จักเครื่องมือบางอย่างที่ฉันสามารถรวมคุณสมบัติ / FeatureCollections ทั้งหมดไว้ในไฟล์ GeoJSON ที่ถูกต้องไฟล์เดียวหรือไม่เพื่อที่ฉันจะสามารถใช้มันได้เช่น D3.js ไฟล์ต้นฉบับอยู่ที่นี่และฉันได้กำจัดสิ่งที่ไม่จำเป็นสำหรับ geojson ไปแล้ว นี่คือข้อความที่ตัดตอนมาจาก GeoJson มันค่อนข้างใหญ่ดังนั้นฉันจึงเป็นแค่ข้อมูลโค้ด {"points": [{ "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "coordinates": [41.9773865, 36.3372536], "type": "Point" }, "properties": { "attacks": 1, "location": "Sinjar", "date": "2015-10-16" } }, { "type": "Feature", "geometry": { "coordinates": [43.4873886, …
9 geojson  json 

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