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

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

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

2
processing.getObject () ใน QGIS 3
ดูเหมือนว่าprocessing.getObject()ไม่มีใน QGIS อีกต่อไป from PyQt5.QtCore import * from qgis.core import * #... layer = processing.getObject(layer) # -> ...module 'processing' has no attribute 'getObject' มีวิธีการใช้ใหม่get.Objectหรือไม่?

1
ค้นหาบรรทัดที่ใกล้เคียงที่สุดที่ให้ 2 คะแนนโดยใช้ PostGIS?
ฉันมีตาราง t ที่มีคอลัมน์line_positionsซึ่งเป็นประเภทบรรทัด ให้ 2 คะแนนฉันต้องการค้นหาเส้นที่ใกล้ที่สุดซึ่งอยู่ใกล้พอ (น้อยกว่า 10 กม.) และนั่นไม่ผ่านใกล้จุดที่ฉันต้องการหลีกเลี่ยง (ขั้นต่ำ 20 กม.) ปัจจุบันฉันใช้ SELECT t.* FROM path t WHERE ST_DWithin(ST_GeographyFromText('Point(69.835 22.596)'), t.line_positions, 10000, FALSE) AND ST_DWithin(ST_GeographyFromText('Point(69.856 22.519)'), t.line_positions, 10000, false) AND NOT ST_DWithin(ST_GeographyFromText('Point(-79.804 9.141)'), t.line_positions, 20000, false) ORDER BY ST_Distance(ST_GeographyFromText('Point(69.835 22.576)'), t.line_positions, false) + ST_Distance(ST_GeographyFromText('Point(69.856 22.519)'), t.line_positions, false) ASC …

1
ลดความซับซ้อนของกระบวนการตรวจสอบสิทธิ์ PostGIS จาก QGIS
ใน QGIS ฉันมีโครงการที่มีข้อมูลจากฐานข้อมูล PostGIS (~ 15) ที่หลากหลายโดยไม่มีข้อมูลรับรองการเข้าสู่ระบบ (ผู้ใช้รับรองความถูกต้อง / รหัสผ่าน) ที่จัดเก็บไว้สำหรับการเชื่อมต่อแต่ละรายการดังที่แสดงด้านล่าง ตอนนี้เมื่อผู้ใช้รายอื่นเปิดโครงการเขา (หรือเธอ) ต้องป้อนข้อมูลรับรองสำหรับฐานข้อมูล EACH ที่ใช้: ฉันกลัวอย่างยิ่งว่าจะไม่มีผู้ใช้ของฉันที่ถูกต้องตามกฎหมายที่จะยอมรับการป้อนข้อมูลรับรอง (หรือเธอ) ของเขา 15 ครั้ง (แต่ในสภาพแวดล้อมขององค์กรที่มีผู้ใช้ 100 รายการยอมรับเป็นกุญแจสู่ความสำเร็จ) ดังนั้นสองคำถามเกิดขึ้นสำหรับฉัน: มีวิธีแนะนำชื่อผู้ใช้ตามตัวแปรโครงการทั่วโลกuser_account_nameและ มีวิธีบอก QGIS ให้ใช้ข้อมูลประจำตัวที่ป้อนสำหรับการเชื่อมต่อฐานข้อมูลครั้งแรกสำหรับการเชื่อมต่ออื่น ๆ ด้วยหรือไม่? ฉันไม่สามารถคาดการณ์ได้ว่าจะเป็นเรื่องที่ดีมากในการแก้ไขกล่องโต้ตอบ 'ป้อนข้อมูลรับรอง' ตามที่เสนอด้านล่าง แต่เป็นไปได้หรือไม่

1
QGIS 2.18.10 เวอร์ชั่นใดที่รองรับ
เริ่มต้นด้วยการ QGIS 2.18.10 ไม่ได้มีพจนานุกรมที่เรียกว่าSagaAlgorithmProvider supportedVersionsก่อนหน้านี้ดูเหมือนว่านี้: supportedVersions = {"2.1.2": ("2.1.2", SagaAlgorithm212), "2.1.3": ("2.1.3", SagaAlgorithm213), "2.1.4": ("2.1.4", SagaAlgorithm214), "2.2.0": ("2.2.0", SagaAlgorithm214), "2.2.1": ("2.2.0", SagaAlgorithm214), "2.2.2": ("2.2.2", SagaAlgorithm214), "2.2.3": ("2.2.3", SagaAlgorithm214), "2.3.0": ("2.3.0", SagaAlgorithm230), "2.3.1": ("2.3.0", SagaAlgorithm230)} ตอนนี้มันก็พูดว่า: if not version.startswith('2.3.'): ProcessingLog.addToLog(ProcessingLog.LOG_ERROR, self.tr('Problem with SAGA installation unsupported SAGA version found.')) ดังนั้นฉันคิดว่าตอนนี้รองรับเฉพาะรุ่น SAGA ที่เริ่มต้นด้วย …

2
ระบุต้นโจชัวด้วยข้อมูล LiDAR หรือไม่
ฉันกำลังทำงานในโครงการ LiDAR เพื่อพิจารณาว่าต้นโจชัวอยู่ที่ไหนในพื้นที่ศึกษาที่กำหนด เนื่องจากต้นไม้ปกคลุมไปด้วยต้นไม้ที่เบาบางจึงมีอยู่ 2 ชนิดที่นั่นคือต้นโจชัวและต้นฝ้าย ฉันเชื่อว่านี่เป็นการวิเคราะห์ LiDAR ที่ค่อนข้างง่ายเนื่องจากความหลากหลายของสายพันธุ์ที่ จำกัด มากในท้องฟ้า แนวทางของฉันคือการสร้างแรสเตอร์ดินเปล่า (DEM) จากนั้นจึงกลับสู่แรสเตอร์ที่ 1 จากนั้นฉันจะลบพื้นดินออกจากแรสเตอร์ขากลับที่ 1 เพื่อสร้างแรสเตอร์พืช ฉันสามารถลบเสียงรบกวนได้อย่างง่ายดาย (เช่นสายไฟฟ้าอาคาร) โดยใช้แผนที่ฐานสำหรับการตรวจสอบ เนื่องจากลูกค้าต้องการเห็นต้นโจชัวทั้งหมด> = 12 ฟุตฉันจะจัดหมวดหมู่แรสเตอร์พืชใหม่ ด้วยการทำเช่นนี้ฉันควรจะได้เห็นต้นไม้ทุกชนิดซึ่งควรจะเป็นต้นไม้โจชัวในพื้นที่ศึกษาของฉัน นี่เป็นวิธีการที่ฉันใช้ใน ArcMap: สร้างเลเยอร์ Earth Bare สร้างชุดข้อมูล las ของพื้นที่ศึกษาที่เลือกด้วยเครื่องมือสร้างชุดข้อมูล LAS สร้าง layer ชุดข้อมูลที่ลาสกับชั้นนี้กับยี่ห้อ LAS ชุดข้อมูลเครื่องมือชั้น เลือก 2 (กราวด์) จากรหัสชั้น แปลงเลเยอร์นี้เป็นแรสเตอร์ด้วยเครื่องมือ LAS Dataset เป็น Raster สร้างเลเยอร์พืช …

1
การแก้ไขสไตล์เลเยอร์ shp พร้อมกันใน QGIS?
ฉันมีรูปหลายเหลี่ยมในไฟล์ shp ที่ฉันต้องเปลี่ยนความกว้างของเส้น ฉันหัวเข้าร่วมพวกเขาในกลุ่มเดียว มีวิธีในการเปลี่ยนบรรทัดด้วยสำหรับเลเยอร์ทั้งหมดในกลุ่มพร้อมกันหรือไม่
9 qgis  python  pyqgis  layers  style 

1
ป้ายกำกับที่ใช้นิพจน์ใน Atlas ที่เขียนสคริปต์ไม่สามารถอัปเดตได้
ฉันพยายามติดตามนักแต่งเพลงแบบเขียนโปรแกรมจากเทมเพลตและสร้างแอตลาสโดยใช้ pyQgisเพื่อทำให้แอปพลิเคชันการพิมพ์แอตลาสโดยอัตโนมัติโดยใช้ pyqgis: เฉพาะในรหัส atlas พูดว่า: myAtlasMap = myComposition.getComposerMapById(0) myAtlas = QgsAtlasComposition(myComposition) myAtlas.setCoverageLayer(atlas_desktop) myAtlas.setComposerMap(myAtlasMap) myAtlas.setFixedScale(True) myAtlas.fixedScale() myAtlas.setHideCoverage(False) myAtlas.setFilterFeatures(True) รหัสนี้ใช้ได้กับงานของฉันและฉันใช้แผนที่ atlas feutures ใหม่ 100 อัน แต่ในtemplate.qptฉันมีป้ายกำกับพร้อมรหัสดังนี้: QGIS [%concat( "OBJECTID" )%] นั่นOBJECTIDเป็นสิ่งเดียวกันสำหรับแผนที่ใหม่ทั้งหมด 100 แผนที่ มีความคิดอะไรไหม ถ้าฉันใช้การส่งออกแผนที่ด้วยตนเองแล้วสำหรับOBJECTIDการเปลี่ยนแปลงแผนที่ใด ๆ ฉันมีรายละเอียดเพิ่มเติมจริงไม่ทำงานอะไรที่เกี่ยวข้องกับเลเยอร์แอตลาสในtemplate.qptฉันมีกฎสไตล์ฐานหรือกฎป้ายกำกับฐานดังนี้: intersects($atlasgeometry, $geometry ) หรือ $id = $atlasfeatureid นั่นคือบางส่วนใน 100 แผนที่: ฉันคิดว่าเพื่อให้นักแต่งเพลงโหลดโปรแกรมจากเทมเพลตและสร้างแอตลาสโดยใช้ pyQgisเพียงแค่ส่งออกฟีเจอร์ของฉันจากเลเยอร์แอตลาสและแอตลาสในเทมเพลตของฉันเป็นเท็จ ความคิดใด ๆ

2
ใช้ postgis เพื่อสร้างเฉดสีอาคาร
ฉันกำลังทำงานกับเครื่องมือประเมินศักยภาพพลังงานแสงอาทิตย์สำหรับอาคารที่มีอยู่ แนวคิดคือใช้รูปร่างของอาคาร (= รูปหลายเหลี่ยม) ความสูงและสร้างเฉดสีที่ได้ในเวลาที่กำหนด ฉันแค่ไปทำการทดสอบเพื่อดูดวงอาทิตย์ ฉันรู้เกี่ยวกับฟังก์ชันหญ้า r.sun.mask แต่มันสู้เพื่อสิ่งที่ฉันพยายามจะทำ สำหรับตอนนี้ฉันแค่อยากได้ร่มเงาเมื่อดวงอาทิตย์อยู่ทางใต้ที่อุณหภูมิ 18 °ในท้องฟ้า อาคารจึงควรมีเงาสูงประมาณสามเท่า สิ่งที่ฉันพยายามจะได้รับ: ฉันค้นหามาระยะหนึ่งแล้ว แต่ไม่พบเครื่องมือใด ๆ ใน Postgis ที่จะทำเช่นนี้ ฉันกำลังคิดเกี่ยวกับการบัฟเฟอร์แล้วตัดรูปหลายเหลี่ยม แต่ไม่สามารถทำงานได้ คุณรู้เครื่องมือใด ๆ หรือมีความคิดวิธีการทำอย่างไร

3
ArcGIS สืบค้นอักขระเฉพาะในส่วนที่เฉพาะเจาะจงของฟิลด์
ใช้ ArcGIS 10.2.2 ฉันมีเขตข้อมูลสตริงในตารางแอตทริบิวต์ SDE ฉันต้องการความช่วยเหลือในการสร้างแบบสอบถามเพื่อเลือกระเบียนทั้งหมดที่มีศูนย์ในอักขระที่ 6 และ 7 ของฟิลด์ (เช่น 1995-0023A) เพื่อช่วยให้ฉันเข้าใจคำค้นหาประเภทนี้ได้ดีขึ้นฉันต้องการเห็นแบบสอบถามที่เลือกระเบียนที่มีศูนย์ในอักขระ 6 ตัวของเขตข้อมูล ฉันสามารถใช้ส่วนคำสั่ง "และ" และทำซ้ำเพื่อเลือกอักขระตัวที่ 7 ได้เช่นกัน ฉันลองชุดรูปแบบแล้ว "FIELD1" LIKE '%00_______'แต่ไม่ได้เลือกระเบียนด้วยเลขศูนย์คู่ในตำแหน่งที่ถูกต้องในสตริง

1
วิธีกำหนดสีให้กับค่าแรสเตอร์เฉพาะโดยใช้ R
ฉันกำลังใช้levelplotฟังก์ชั่นของrasterVisแพ็คเกจสุดเจ๋งเพื่อสร้างแผนที่ที่มีค่าต่างกันประมาณศูนย์ ฉันกำลังวางแผนไฟล์แรสเตอร์โดยใช้จานสีแดงเป็นสีน้ำเงิน แต่ฉันพยายามกำหนดค่าสีเทาให้เป็นศูนย์ในแผนที่ โดยเฉพาะฉันต้องการทำซ้ำสีของรูปนี้: ขอให้สังเกตว่ามีการใช้ระดับสีแดงถึงสีน้ำเงิน แต่ค่าศูนย์มีการใช้สีเทา ขณะนี้แผนที่ของฉันมีลักษณะดังนี้: และนี่คือรหัสที่จะทำซ้ำ (ไฟล์มีอยู่ที่https://www.dropbox.com/s/cypfdu1eaz2fuok/r.annual.tif?dl=0 ): # Load required packages library(rasterVis) # open file r.annual <- raster("Downloads/r.annual.tif") # Set color palette myTheme=rasterTheme(region=brewer.pal('RdBu', n=11)) # Plot levelplot(annual.mask, par.settings=myTheme, margin=F) ฉันจะกำหนดสีเทาให้กับค่าศูนย์ทั้งหมดในแผนที่ของฉันด้านบนได้อย่างไร

4
จำกัด แถวด้วยฟังก์ชั่น Spatial
ฉันพยายามปรับปรุงประสิทธิภาพสำหรับข้อความค้นหาด้านล่าง ไม่ว่าฉันจะเขียนแบบสอบถามอย่างไร (แบบสอบถามย่อยในส่วนคำสั่งย่อย, แบบสอบถามย่อยในส่วนคำสั่ง WHERE) จะยืนยันว่าจะเรียกใช้แถว ~ 570K ทั้งหมดผ่านฟังก์ชัน ST_DWITHIN ที่มีราคาแพงแม้ว่าจะมีเพียง 60 แถวที่เขต = 24 ฉันจะได้รับ postgres เพื่อกรองในเขต = 24 ก่อนที่จะวิ่งผ่าน fung postgis ซึ่งดูเหมือนว่าฉันจะเร็วขึ้นและมีประสิทธิภาพมากขึ้น? 700ms ไม่ได้ทำให้เกิดความกังวลมากเกินไป แต่เนื่องจากตารางนี้เพิ่มขึ้นเป็น 10M + ฉันกังวลเกี่ยวกับประสิทธิภาพ นอกจากนี้เพื่อทราบว่า p.id เป็นคีย์หลัก p.zipcode เป็นดัชนี fk, z.county เป็นดัชนี fk และ p.geom มีดัชนี GiST ค้นหา: EXPLAIN ANALYZE SELECT count(p.id) FROM point …

1
การบันทึกฟังก์ชั่น Python ที่กำหนดเองใน QGIS
ฉันจะบันทึกฟังก์ชัน Python ที่กำหนดเองของฉันใน QGIS ได้อย่างไร ฉันต้องการให้ผู้ใช้ช่วยเหลือสำหรับฟังก์ชั่นที่ฉันเขียนให้พวกเขา: ฉันได้ลองเพิ่ม docstring แล้ว: แต่เมื่อใดก็ตามที่ฉันคลิกโหลดข้อผิดพลาดจะปรากฏขึ้น: ข้อความแสดงข้อผิดพลาดแสดงข้อผิดพลาดการเยื้องอย่างชัดเจนซึ่งไม่สอดคล้องกับรหัสจริงของฉัน

2
เมื่อใดจึงจะเปิดใช้งานการแปลง CRS แบบ 'ทันทีได้' ใน QGIS เมื่อไหร่ที่จะปิด?
ฉันเข้าใจสิ่งที่ 'ทันที "และฉันได้อ่านhttps://docs.qgis.org/2.6/en/docs/training_manual/vector_analysis/reproject_transform.htmlอีกครั้ง ฉันมักจะเปิดเครื่องตลอดเวลา แต่ไม่รู้ว่ามันถูกต้องหรือไม่? ฉันรู้ว่าอาจทำให้เกิดปัญหา ฉันได้ดูคำถามที่เกี่ยวข้องและพวกเขาทั้งหมดมีแนวโน้มที่จะเมื่อผู้ใช้มีปัญหาและซับซ้อนมากขึ้นโดยคนถามเกี่ยวกับชุดข้อมูลเฉพาะของพวกเขาและซีอาร์เอสที่เกี่ยวข้อง มีกฎง่ายๆหรือไม่ที่จะตอบเมื่อเปิด 'On the fly' และควรปิดเมื่อใด?

1
QGIS - เป็นไปได้ไหมที่จะแปลงอักขระที่เน้นเสียงเป็นอักขระปกติในตารางแอตทริบิวต์ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับระบบแลกเปลี่ยนข้อมูลทางภูมิศาสตร์ของกองซ้อน ปิดให้บริการใน3 ปีที่ผ่านมา ฉันมีชุดข้อมูล OSM ที่มีชื่อที่มีตัวอักษรประจำชาติ (นี่คือการส่งออก CSV แต่ฉันมีใน SHP): osm_id,code,fclass,population,name,longitude,latitude 276645544,1003,village,221,Krč,14.248410,49.194988 444571400,1003,village,88,Radonice,14.548085,49.143251 488567474,1003,village,115,Doubravka,14.363835,49.282158 488567478,1003,village,114,Koloměřice,14.399437,49.280328 488567484,1003,village,111,Údraž,14.309249,49.281551 491452727,1004,hamlet,33,Poněšice,14.481200,49.105121 601855465,1003,village,147,Hvožďany,14.433230,49.286094 631878480,1003,village,211,Myšenec,14.208999,49.223213 และต้องการแปลงเป็นแบบฟอร์มนี้: osm_id,code,fclass,population,name,longitude,latitude 276645544,1003,village,221,Krc,14.248410,49.194988 444571400,1003,village,88,Radonice,14.548085,49.143251 488567474,1003,village,115,Doubravka,14.363835,49.282158 488567478,1003,village,114,Kolomerice,14.399437,49.280328 488567484,1003,village,111,Udraz,14.309249,49.281551 491452727,1004,hamlet,33,Ponesice,14.481200,49.105121 601855465,1003,village,147,Hvozdany,14.433230,49.286094 631878480,1003,village,211,Mysenec,14.208999,49.223213 โดยที่สำเนียงนั้นถูกลบออกไปแทนที่จะเป็น "č, š, ř, á" เป็นต้นคุณมี "c, s, r, a" ฉันไม่จำเป็นต้องแก้ไขคอลัมน์ปัจจุบัน - อาจสร้างคอลัมน์ใหม่ที่มีชื่อที่แปลงแล้ว ฉันกำลังจะใช้เครื่องมือออนไลน์บางอย่างเช่นนี้สำหรับไฟล์ CSV แต่มันจะดีมากถ้าฉันสามารถแก้ปัญหานี้ใน QGIS …

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