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

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

4
รับรหัสหลาม QGIS 2.x เพื่อทำงานใน QGIS 3.x? วัตถุไม่มีแอตทริบิวต์ 'legendInterface'
โค้ดต่อไปนี้ทำงานได้ดีใน QGIS 2.x แต่มันไม่ทำงานใน QGIS 3.x myDir = 'd:/work/output_folder/' layers = iface.legendInterface().layers() pipe = QgsRasterPipe() for layer in layers: extent = layer.extent() width, height = layer.width(), layer.height() renderer = layer.renderer() provider=layer.dataProvider() crs = layer.crs().toWkt() pipe.set(provider.clone()) pipe.set(renderer.clone()) opts = ["COMPRESS=LZW"] file_writer = QgsRasterFileWriter(myDir + layer.name() + ".tif") file_writer.setCreateOptions(opts) file_writer.writeRaster(pipe, width, height, …

3
ทำ heatmap จากข้อมูลบรรทัดใน QGIS หรือไม่
ฉันต้องการทำการวิเคราะห์ความหนาแน่นของเส้นสำหรับข้อมูลบรรทัดของฉันตามคุณลักษณะ ตัวเลือก heatmap (การวิเคราะห์ความหนาแน่นของเคอร์เนล) เป็นไปได้สำหรับข้อมูลจุดเท่านั้น ฉันพยายามแปลงข้อมูลบรรทัดเป็นคะแนนและสร้างแผนที่ความร้อน แต่คุณลักษณะสำหรับน้ำหนักนั้นหายไปจากการแปลง นี่คือการวิเคราะห์ความหนาแน่นของเส้นที่ดำเนินการด้วย ArcGIS ฉันกำลังมองหาที่จะทำเช่นเดียวกันกับ QGIS เป็นไปได้หรือไม่ที่จะทำการวิเคราะห์ความหนาแน่นของเส้นที่คล้ายกันใน QGIS?
12 qgis  heat-map  density 

2
วิธีการรวมวัตถุ sfc จากแพ็คเกจ R
เมื่อใช้แพ็คเกจ R sfจะรวมsfcวัตถุได้อย่างไร ตัวอย่างเช่นให้รหัสต่อไปนี้หนึ่งจะสร้างsfcวัตถุเดียวsfc12ที่มีรูปทรงเรขาคณิตจากทั้งสองsfc1และsfc2? ( length(sfc12)ควรเป็น 2) library(sf) pt1 = st_point(c(0,1)) pt2 = st_point(c(1,1)) sfc1 = st_sfc(pt1) # An sfc object sfc2 = st_sfc(pt2) # Another sfc object # sfc12 = ? วิธีการบางอย่างที่ไม่ทำงาน: sf_sfc(sfc1, sfc2) # Error in vapply(lst, class, rep("", 3)) : values must be length 3, # but …
12 r  sf 

4
จานสีที่มีคุณภาพ - ปลอดภัยในการถ่ายเอกสาร (พร้อมระดับสีเทา)
ฉันกำลังมองหาจานสีคุณภาพ 5 ระดับซึ่งสามารถพิมพ์ในเครื่องพิมพ์ขาวดำ ภาพด้านล่างแสดงแผนที่เป็นสี (ด้านบน: เชิงคุณภาพด้านล่าง: การเบี่ยงเบน) และลักษณะแต่ละแบบในโทนสีเทา (ด้านขวามือ) ทั้งสองจานสี ( Set3และSpectral) เป็นColorBrewer [UL] เชิงคุณภาพ Set3 [UR] เชิงคุณภาพSet3 ในระดับสีเทา [LL] การเปลี่ยนเส้นทาง Spectral [LR] การSpectralดำน้ำในระดับสีเทา โดยเฉพาะอย่างยิ่งฉันต้องแยกแยะกลุ่มในภาพด้านบนขวาในขณะที่ด้านล่าง (สเปคตรัม) ดีกว่ามากถ้าไม่สมบูรณ์ (ฉันไม่สามารถพูดได้ว่าเป็นสีฟ้าหรือสีแดง) และตาม ColorBrewer ชุดรูปแบบสีสเปกตรัม (อันที่ฉันใช้ที่นี่) เป็นphotocopy safeจานสี 5 ระดับเท่านั้น การลดคลาส (เป็น 3 หรือ 4) อาจเป็นตัวเลือก แต่ฉันเกรงว่ามันไม่ได้มีจุดประสงค์ในแผนที่นี้ อาจไม่เกี่ยวข้องกับโปรแกรม GIS แต่โดยทั่วไปฉันใช้ QGIS ซึ่งมี ColorBrewer, cpt-city …
12 qgis  symbology 

1
เปลี่ยนโฟลเดอร์เริ่มต้นของ ArcGIS Home หรือไม่
ArcGIS Desktop ใช้ค่าเริ่มต้นในโฟลเดอร์ Home เป็นอย่างเช่นC:\Users\<username>\Documents\ArcGISสร้างโฟลเดอร์ในMy DocumentsหรือDocumentsขึ้นอยู่กับรุ่นของ Windows D:\GISส่วนตัวผมพยายามที่จะให้การทำงานของระบบสารสนเทศภูมิศาสตร์ของฉันออกจากเอกสารโฟลเดอร์และมักจะเก็บไฟล์ของฉันทั้งหมดในโฟลเดอร์ที่เรียกว่า เหตุผลหลักสำหรับเรื่องนี้ก็เพราะงานของฉันมีเครือข่ายที่เก็บโฟลเดอร์เอกสารซึ่งมีโควต้า 5mb ซึ่งเล็กเกินไปสำหรับการจัดเก็บข้อมูล GIS ทุกชนิด สิ่งนี้ทำให้แย่ลงโดยความจริงที่ว่า Esri Add-ins เริ่มต้นที่จะติดตั้งในโฟลเดอร์นี้ด้วย ฉันพยายามหาวิธีที่จะทำให้ ArcGIS D:\GISเป็นโฟลเดอร์ของฉันเป็นตำแหน่งเริ่มต้นโดยไม่ต้องบันทึก MXD เป็นครั้งแรก ฉันรู้ว่าฉันสามารถบันทึก MXD ลงในโฟลเดอร์นั้นแล้วมันจะกลายเป็นโฟลเดอร์ Home ของ MXD นั้น ฉันต้องการที่จะเปิด ArcMap และให้ไฟล์ / โฟลเดอร์ของฉันสามารถเข้าถึงได้จากโฟลเดอร์ Home นั้นD:\GISโดยไม่ต้องไปหามันหรือแม้กระทั่งใช้เป็นการเชื่อมต่อโฟลเดอร์ โดยค่าเริ่มต้นโฟลเดอร์ Home จะใช้ใน ArcMap เพื่อบันทึกผลลัพธ์จัดเก็บชุดข้อมูลใหม่และเข้าถึงข้อมูลที่เป็นไฟล์ เป็นตำแหน่งที่ใช้เริ่มต้นเพื่อเพิ่มเลเยอร์ใหม่ใน ArcMap และเพื่อเก็บชุดข้อมูลใหม่ที่สร้างขึ้นระหว่างการแก้ไขและการประมวลผลทางภูมิศาสตร์ เช่นเดียวกับที่เป็นจริงสำหรับข้อมูลที่ไม่มีข้อมูล เมื่อคุณส่งออกเค้าโครงหน้าเป็น PDF ตำแหน่งเริ่มต้นจะเป็นตำแหน่งบ้านของแผนที่ (โฟลเดอร์พื้นที่ทำงานของเอกสารแผนที่) การทำงานกับโฟลเดอร์ …

3
การหาจุดหลายเหลี่ยมหลายจุดใน Python อย่างมีประสิทธิภาพ
ฉันอยากได้จุดตัดของรูปหลายเหลี่ยมหลายอัน ใช้shapelyแพ็คเกจของ Python ฉันสามารถหาจุดตัดของรูปหลายเหลี่ยมสองรูปได้โดยใช้intersectionฟังก์ชัน มีฟังก์ชั่นที่มีประสิทธิภาพคล้ายกันเพื่อให้ได้จุดตัดของรูปหลายเหลี่ยมหลายรูปแบบหรือไม่? นี่คือข้อมูลโค้ดเพื่อทำความเข้าใจสิ่งที่ฉันหมายถึง: from shapely.geometry import Point coord1 = ( 0,0 ) point1 = Point(coord1) circle1 = point1.buffer(1) coord2 = ( 1,1 ) point2 = Point(coord2) circle2 = point2.buffer(1) coord3 = ( 1,0 ) point3 = Point(coord3) circle3 = point3.buffer(1) circle1.intersection(circle2)สี่แยกของวงกลมสองวงสามารถพบได้โดย ฉันสามารถหาจุดตัดของทั้งสามวงกลมcircle1.intersection(circle2).intersection(circle3)ได้ อย่างไรก็ตามวิธีนี้ไม่สามารถขายได้กับรูปหลายเหลี่ยมจำนวนมากเนื่องจากต้องใช้รหัสมากขึ้น ฉันต้องการฟังก์ชันที่ใช้รูปหลายเหลี่ยมหลายรูปแบบโดยพลการและคืนค่าจุดตัดของพวกมัน

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 | …

1
วิธีการเข้าถึงโมดูล QGIS จาก virtualenv ของฉัน
ฉันใช้ Ubuntu 14.4 และฉันได้ติดตั้งสภาพแวดล้อมเสมือนของหลาม จากนั้นฉันก็ติดตั้งไพ ธ อนหลายไลบรารี (gdal, lxml, psycopg2 และอื่น ๆ ) นอกจากนี้ในระบบของฉันฉันมีโมดูลสำหรับ QGIS ดังนั้นเมื่อฉันพิมพ์หลามแล้วฉันสามารถนำเข้าโมดูลนี้เป็น: import qgis.core แต่เมื่อฉันพยายามทำสิ่งเดียวกันผ่าน virtualenv ฉันได้รับข้อผิดพลาด: ไม่พบโมดูล เมื่อฉันสร้าง virtualenv ฉันทำกับตัวเลือก: virtualenv --no-site-packages env ซึ่ง จำกัด env ของฉันจาก env ของระบบ คำถามคือวิธีการเข้าถึงโมดูล QGIS ใน virtualenv ของฉัน
12 qgis  python 

2
แสดงคุณลักษณะของสายงานใดใน QGIS
ฉันกำลังทำงานกับ QGIS ในไฟล์ street shp ซึ่งมีฟิลด์จากซ้ายไปขวาจากขวาไปขวาฟิลด์สร้าง geocoder ฉันจำเป็นต้องรู้ว่าคุณลักษณะเหล่านี้มุ่งเน้นไปทางใดซึ่งฉันคิดว่าเหมือนกับการรู้ว่าจุดใดที่สอง (หรือมากกว่า) ที่ทำให้เส้นมาก่อน มีวิธีหมุนเครื่องหมายสามเหลี่ยมบนลักษณะเส้นเครื่องหมายโดยอัตโนมัติหรือไม่เพื่อแสดงให้เห็นว่าเส้นถูกวางแนวอย่างไร
12 qgis  style  line  markers 

3
การคำนวณตัวเลขเรียงลำดับลงในตารางที่เรียงลำดับโดยใช้ ArcGIS Desktop หรือไม่
มีวิธีการคำนวณที่เรียงลำดับข้อมูลที่มีหมายเลขลำดับ? ฉันเคยเห็นclass feature sorting เพื่อคำนวณเขตข้อมูล ID ตามลำดับโดยใช้ ArcGIS Field Calculator หรือไม่ ที่สรุปวิธีการคำนวณตัวเลขตามลำดับ แต่จะคำนวณตามลำดับ FID เสมอไม่ใช่ตามลำดับที่เรียงลำดับ #Pre-logic Script Code: rec=0 def autoIncrement(): global rec pStart = 1 pInterval = 1 if (rec == 0): rec = pStart else: rec += pInterval return rec #Expression: autoIncrement() ตัวอย่างของสิ่งที่ฉันพยายามที่จะทำ ฉันใช้การเรียงลำดับขั้นสูงเพื่อจัดเรียงตามปีเดือนวันและตอนนี้ต้องการมีหมายเลขเรียงลำดับในSeqฟิลด์ คุณจะเห็นว่าOBJECTIDฟิลด์ของฉันไม่เป็นไปตามลำดับดังนั้นโค้ดด้านบนจะไม่ทำงาน สามารถทำได้ทั้งในเครื่องคำนวณภาคสนามหรือใช้ Update Cursor …

4
แสดงสัญลักษณ์เสาอากาศบนแผนที่: สัญลักษณ์จุดหรือคุณสมบัติ (รูปหลายเหลี่ยม)
ฉันต้องการแสดงเครือข่ายเซลลูล่าร์บนแผนที่ ข้อมูลอินพุตเป็นไฟล์. csv โดยที่แต่ละสตริงเป็นเซกเตอร์เซลลูลาร์ คุณลักษณะคือ: id ภาค, พิกัดของมัน, ราบและมุมของความกว้างของลำแสงเสาอากาศ ค่าความกว้างของคานเสาอากาศอยู่ในช่วง 30 ถึง 360 องศา ความกว้างของคานเสาอากาศ 360 หมายความว่าจะต้องแสดงบนแผนที่เป็นวงกลม เสาอากาศที่มีความกว้างลำแสงอื่น ๆ จะต้องแสดงเป็นส่วนที่มีมุมรับแสงที่เหมาะสม เป็นไปได้หรือไม่ที่จะแสดงเสาอากาศโดยใช้สัญลักษณ์เท่านั้น? ฉันรู้วิธีสร้างสัญลักษณ์ SVG ของฉันเองและหวังว่าจะหาวิธีหมุนมันตามราบ แต่มีวิธีใดบ้างที่จะใช้ความกว้างของคานเสาอากาศแปรผันตามค่าคุณลักษณะจาก 30 ถึง 360 องศา ฉันคิดว่าสัญลักษณ์เป็นวิธีที่ดีที่สุดในการดึงเสาอากาศเนื่องจากการแสดงข้อมูลแบบไดนามิกบนแผนที่ตามขนาดของมุมมองหากวิธีนี้เป็นไปได้ใน QGIS แน่นอนว่างานสามารถแก้ไขได้โดยการวาดรูปหลายเหลี่ยมที่เหมาะสมเป็นคุณลักษณะเลเยอร์ แต่นั่นจะเป็นวิธีแก้ปัญหา

5
วิธีเติมหลุมเป็นรูปหลายเหลี่ยมโดยอัตโนมัติ
มีตัวเลือกใน QGIS เพื่อเติมช่องว่างในรูปหลายเหลี่ยมโดยอัตโนมัติโดยการตั้งค่าพารามิเตอร์เช่นพื้นที่สูงสุดระยะห่างระหว่างเส้นขอบหรือไม่ ฉันต้องการที่จะลบ / เติมหลุมที่ "ผอม" / เล็กมาก
12 qgis  polygon 

4
ฉันไม่พบ shp2pgsql ในการติดตั้ง postgis
ฉันติดตั้ง postgis ตามคู่มือนี้แล้ว ทั้งหมดก็โอเค SELECT postgis_full_version(); "POSTGIS="2.1.7 r13414" GEOS="3.4.2-CAPI-1.8.2 r3921" PROJ="Rel. 4.8.0, 6 March 2012" GDAL="GDAL 1.10.1, released 2013/08/26" LIBXML="2.9.1" LIBJSON="UNKNOWN" TOPOLOGY RASTER" แต่ฉันไม่มี shp2pgsql ใน/usr/lib/postgresql/9.4/binตามที่คุณเห็น: foo@bar:/usr/lib/postgresql/9.4/bin$ ls clusterdb initdb pg_dump pg_standby psql createdb oid2name pg_dumpall pg_test_fsync reindexdb createlang pg_archivecleanup pg_isready pg_test_timing vacuumdb createuser pg_basebackup pg_receivexlog pg_upgrade vacuumlo dropdb pgbench …

4
วิธีอัปเดตเนื้อหาป๊อปอัปจากตัวทำเครื่องหมาย
ฉันสร้างป๊อปอัพโดยใช้ Leaflet: marker.bindPopup(content).openPopup(); ฉันจะอัปเดตcontentค่าในภายหลังได้อย่างไร ฉันคิดว่าจะทำจากเครื่องหมายบางอย่างเช่นนี้: marker.updatePopup(newContent);
12 leaflet  popup 

2
เพิ่มแหล่งที่มาของไทล์เวกเตอร์ลงใน QGIS
เป็นไปได้หรือไม่ที่จะเพิ่มที่มาของไทล์เวกเตอร์ (ใช้รูปแบบบัฟเฟอร์โปรโตคอลของ MapBox หรือ GeoJSON หรืออื่น ๆ ) ใน QGIS? ถ้าเป็นเช่นนั้นได้อย่างไร (คำถามของฉันคล้ายกับMapbox Vector Tile ใหม่สามารถใช้เป็นแผนที่ฐาน QGIS ได้หรือไม่แต่ไม่ได้ จำกัด เฉพาะ MapBox source และไม่ได้เป็นเพียงแผนที่ฐานหรือ OpenLayers เท่านั้น)

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