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

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

2
QGIS 2.16 การรวมไม่มีตัวเลือกโฟลเดอร์
ฉันได้ติดตั้ง QGIS 2.16 และสังเกตว่า Merge (เมนูเวกเตอร์> การจัดการข้อมูล) ดูเหมือนจะไม่มีตัวเลือกโฟลเดอร์อีกต่อไป นี่เป็นตัวเลือกที่อนุญาตให้คุณประมวลผล / รวมโฟลเดอร์ทั้งหมดโดยไม่ต้องโหลดเลเยอร์ในโครงการ / พื้นที่ทำงานของคุณก่อน ฉันดูการเปลี่ยนแปลงสำหรับ QGIS 2.16 - แม้ว่าเครื่องมือ fTools จะถูกแทนที่ด้วยเครื่องมือการประมวลผล แต่ฉันไม่สามารถดูได้ว่าทำไมฟังก์ชันพิเศษจึงถูกลบ

2
ggmap: รูปหลายเหลี่ยมพล็อตจาก shapefile
ใช้ ggmap ฉันต้องการรวมเขตเทศบาล (รูปหลายเหลี่ยม) จาก shapefile บนแผนที่ที่มีจุดสถานที่ตั้งบางจุด สคริปต์นี้ทำทุกอย่างยกเว้นการวางแผนรูปหลายเหลี่ยม: library(rgdal) library(ggmap) # Get shapefile with Drammen municipality borders tmpzip<-tempfile() tmpdir<-tempfile() dir.create(tmpdir) download.file("http://www.kartverket.no/Documents/Kart/N50-N5000%20Kartdata/33_N5000_shape.zip",tmpzip) unzip(tmpzip, exdir=tmpdir) kommune <- readOGR(dsn=tmpdir, layer="NO_AdminOmrader_pol") kommune<-kommune[kommune$NAVN=="Drammen",] kommune<-spTransform(kommune, CRS("+init=epsg:4326")) # Get location point data subscr<-data.frame(lon=c(10.1237,10.2161,10.2993),lat=c(59.7567,59.7527,59.6863), pop=c(58,12,150)) coordinates(subscr)<-~lon+lat proj4string(subscr)<-CRS("+init=epsg:4326") lon <- c(10.0937,10.3293) lat <- c(59.7916,59.6563) map <- get_map(location = c(lon[1], …
9 shapefile  r  ggmap 

1
การใช้ข้อความแบบไดนามิกเพื่อแสดงเครดิตเลเยอร์
ฉันกำลังมองหาวิธีในการอัปเดต 'เลเยอร์เครดิต' ลงในกล่องข้อความแบบไดนามิก ฉันพบวิธีใช้เครดิตแผนที่หรือเครดิตเฟรมข้อมูลที่นี่แต่ดูเหมือนจะไม่สามารถรับข้อมูลที่มาจากเลเยอร์ได้ ฉันดูเหมือนจะสร้างสตริงว่างทุกครั้ง มีใครทำสิ่งนี้หรือพบว่ามีการทำงานรอบ ๆ ? ดูเหมือนว่าเป็นวิธีที่มีประโยชน์อย่างยิ่งในการอัปเดตแผนที่เครดิตด้วยทรัพยากรเพียงเล็กน้อยหรือไม่มีเลย

1
ฉันจะแบ่งพาร์ติชันเป็นจำนวนมากได้อย่างไร
ฉันมีข้อมูลตำแหน่งของลูกค้าที่มีมากกว่า 130 ล้านระเบียนกระจายอยู่ทั่วประเทศ นี่คือตารางเชิงพื้นที่ใน PostGIS ตอนนี้ฉันต้องการแบ่งทั้งประเทศเป็น 'พื้นที่ให้บริการ' ซึ่งแต่ละพื้นที่ให้บริการมี: อย่างน้อย 30 ลูกค้า อยู่ที่มากที่สุด 1,000 ตารางกิโลเมตร ฉันได้วิจัยเครื่องมือการรวมของ ArcGIS แล้ว แต่ไม่เป็นไปตามเกณฑ์ของฉันเนื่องจาก: มันไม่ได้นับขั้นต่ำในการพิจารณา ฉันมี Qgis & Grass เพียงแค่การกำจัดของฉัน เครื่องมือ / กระบวนการใดที่ฉันสามารถใช้เพื่อให้บรรลุสิ่งนี้
9 qgis  grass  partition 

1
ลงทะเบียน qgsfunction ที่กำหนดเองใน pyqgis
ฉันใช้ pyqgis ในแอปพลิเคชันแบบสแตนด์อโลน ตอนนี้ผมต้องการที่จะสร้างการแสดงออกที่กำหนดเองเพื่อที่จะใช้เป็น FilterExpression ruleBasedRendererV2ในการปกครองของ (ฉันลองใช้โหมดแสดงภาพกับฟังก์ชั่นที่มีอยู่ก่อนหน้าและทุกอย่างทำงานได้ดี!) Custom qgisfunction(bitwise AND-function - เนื่องจากยังไม่มีฟังก์ชั่นดังกล่าว) มีลักษณะดังนี้: from qgis.utils import qgsfunction @qgsfunction(args="auto", group='Python') def bitwise_and(value1, value2, feature, parent): return value1 & value2 ฉันพยายามลงทะเบียนผ่าน: from qgis.core import QgsExpression QgsExpression.registerFunction(bitwise_and) ทดสอบการแสดงออกผ่าน: expressionString = 'bitwise_and(2, 2) = 2' exp = QgsExpression(expressionString) if exp.hasParserError(): print(exp.parserErrorString()) (ให้2=2เสมอTrue) ทำงานหลังจากลงทะเบียนฟังก์ชั่นและล้มเหลวหากไม่ได้ แต่ถึงกระนั้นฉันไม่สามารถใช้การแสดงออกภายในกฎ …

1
ระบบพิกัดของฉันคืออะไร
ฉันพยายามที่จะเข้าใจระบบพิกัดข้อมูลตัวเลขประมาณการและอื่น ๆ ได้ดีขึ้นฉันเข้าใจว่าบางระบบรักษาสิ่งต่าง ๆ ไว้ ระยะทางรูปร่างมุมพื้นที่ ฉันสงสัยว่าคุณจะบอกได้อย่างไรว่าระบบบางอย่างกำลังคงอยู่ ส่วนใดของชื่อ CRS ที่ระบุสิ่งนี้ โดยเฉพาะฉันสงสัยเกี่ยวกับระบบ UTM ในอัลเบอร์ตาแคนาดา NAD83 (CSRS) / อัลเบอร์ตา 10-TM (ป่าไม้)

2
การกำหนดหมายเลขอัตโนมัติระหว่างการแปลงเป็น QGIS?
ใครบ้างรู้วิธีการนับคะแนนโดยอัตโนมัติในระหว่างการแปลงเป็นดิจิทัลใน Qgis เพื่ออธิบายเมื่อฉันสร้างจุดใหม่มีหน้าต่างที่ฉันจะต้องพิมพ์หมายเลขจุด มีวิธีใดที่จะใช้หมายเลขอัตโนมัติโดยไม่ต้องพิมพ์หมายเลขจุดด้วยตนเอง?


1
ใช้อาร์เรย์ [] ประเภทข้อมูลใน QGIS จาก PostgreSQL
ฉันเป็นผู้เริ่มต้นใน GIS ดังนั้นฉันยินดีที่จะเห็นความคิดเห็นใด ๆ ที่นี่ ฉันมีตารางใน PostgreSQL ซึ่งฉันเชื่อมต่อกับ QGIS array[]มีคอลัมน์ในตารางที่มีประเภทข้อมูลเป็น แต่ผู้ใช้สามารถแทรกข้อมูลลงในคอลัมน์โดยใช้มุมมองเช่น {a, d, c} ไม่สะดวก มีวิธีง่าย ๆ ในการแก้ไขข้อมูลหรือไม่ ฉันมีความคิดที่จะใส่ข้อมูลใน QGIS เช่น 'a, b, c' และสร้างtriggerINSERT / UPDATE ก่อนที่จะใส่ข้อมูลลงในPostgresตารางอย่างถูกต้อง แต่มันก็ดูเหมือนจะไม่ใช่วิธีที่ดีที่สุด

2
ฉันจะคำนวณรูปหลายเหลี่ยมที่ฉันสามารถใส่ในรูปหลายเหลี่ยมได้อย่างไร
ฉันมักจะใช้ qgis ฉันอธิบายปัญหาของฉันด้วยตัวอย่าง: มีป่า (รูปทรงเรขาคณิตที่ผิดปกติ 1) และต้นไม้ต้นหนึ่ง (รูปทรงเรขาคณิต 2) ฉันต้องการทราบจำนวนต้นไม้สูงสุดที่ป่าสามารถมีได้ นอกจากนี้ฉันต้องการเอาต์พุต shapefile ของการจัดการที่ดีที่สุดของต้นไม้เหล่านี้ในป่า
9 qgis  polygon 

3
การหารูปหลายเหลี่ยมโดยทางโปรแกรม> 90% ซ้อนทับโดยชั้นรูปหลายเหลี่ยมเวกเตอร์อื่นโดยใช้ QGIS?
ฉันพยายามหาวิธีใช้ python เพื่อแยกรูปหลายเหลี่ยมในเวกเตอร์หนึ่งที่ซ้อนทับด้วย> 90% โดยเวกเตอร์อื่น ฉันต้องการมีเวกเตอร์ / แผนที่ที่จะแสดงรูปหลายเหลี่ยมเหล่านั้นเท่านั้น ภาพตัวอย่างแสดงเลเยอร์ของฉัน ฉันต้องการรูปหลายเหลี่ยมสีเทาทั้งหมดที่> แดง 90% ฉันต้องทำสิ่งนี้ผ่านทาง python (หรือวิธีการแบบอัตโนมัติในทำนองเดียวกัน) ฉันมีแผนที่ประมาณ 1,000 แผนที่เพื่อดำเนินการในลักษณะเดียวกัน
9 qgis  python  pyqgis 

3
จะซิงค์ FeatureTable กับชุดตัวเลือกของ FeatureLayer ได้อย่างไร?
ArcGIS Server JS API มีคลาสFeatureTableใหม่ซึ่งแสดงตารางแอตทริบิวต์ที่สอดคล้องกับ FeatureLayer มีตัวเลือกsyncSelectionซึ่ง: เปิดใช้งานการโต้ตอบระหว่างแผนที่และตารางคุณสมบัติ การตั้งค่าคุณสมบัตินี้เป็นจริงช่วยให้สามารถเลือกสถานที่บนแผนที่ผ่านการคลิกแถวในตารางและการเลือกแถวของตารางผ่านการคลิกสถานที่บนแผนที่ อย่างไรก็ตามสิ่งนี้ดูเหมือนจะไม่ให้เกียรติชุดการเลือกที่สร้างขึ้นโดยทางโปรแกรมกับเลเยอร์ จดตัวอย่างที่https://developers.arcgis.com/javascript/3/sandbox/sandbox.html?sample=featuretableหากฉันใช้การเลือกกับ FeatureLayer มันจะไม่ปรากฏใน FeatureTable: // Create the feature layer myFeatureLayer = new FeatureLayer("https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/Warren_College_Trees/FeatureServer/0", { mode: FeatureLayer.MODE_SELECTION, visible: true, outFields: ["*"], id: "fLayer" }); var myQuery = new Query(); myQuery.where = "Spp_Code ='SABA'"; myFeatureLayer.selectFeatures(myQuery,FeatureLayer.SELECTION_NEW) สิ่งนี้ใช้การเลือกกับเลเยอร์สถานที่อย่างถูกต้อง (โปรดทราบว่าแผนที่มีเพียงจุดเดียวเท่านั้น) แต่ไม่ใช้กับตารางคุณลักษณะ (แสดงรายการทั้งหมด 1146 คะแนนด้วย 0 …

2
กำลังโหลดเลเยอร์แผ่นเวกเตอร์ในแผนที่แผ่นพับ?
ฉันต้องการโหลดเลเยอร์ไทล์เวกเตอร์ในแผนที่ Leaflet tile tile เป็นเลเยอร์ tile vector ที่เกี่ยวกับลำดับ Mapillary (ดูที่https://a.mapillary.com/#vector-tiles ... ) และรูปแบบ URL ของ tile คือ: https://d2munx5tg0hw47.cloudfront.net/tiles/{z}/{x}/{y}.mapbox ไทล์กระเบื้องใช้รูปแบบไทล์เวกเตอร์ของ Mapbox ฉันค้นหาบนเน็ต แต่ฉันไม่พบตัวอย่าง: ฉันเห็นว่าสิ่งนี้สามารถทำได้โดยใช้ Mapbox แต่ถ้าเป็นไปได้ฉันต้องการใช้เฉพาะแผ่นพับเท่านั้น

1
PostGIS: วิธีผสานคุณสมบัติที่ต่อเนื่องกันซึ่งใช้ค่าคุณลักษณะเดียวกัน
ฉันมีตาราง PostGIS ขนาดใหญ่ที่จัดเก็บคุณสมบัติของเส้น ฉันต้องการรวมคุณสมบัติที่เชื่อมต่อซึ่งกันและกันและให้ค่าคุณลักษณะเหมือนกัน นี่คือตัวอย่างด้านล่างของสิ่งที่ฉันต้องการบรรลุ ฟีเจอร์ outmost (สีดำและสีน้ำเงิน) ไม่ได้ถูกผสานเพราะไม่มีที่อยู่ติดกันแม้ว่าค่าคุณลักษณะจะเหมือนกัน มีการรวมกันของคุณสมบัติสีเขียวและสีแดงเนื่องจากตรงกับเงื่อนไขทั้งสอง คุณสมบัติสีเหลืองถูกทิ้งไว้เหมือนเดิม คุณจะทำให้สำเร็จด้วยแบบสอบถาม SQL ได้อย่างไร

1
เพิ่ม GDAL เป็นการพึ่งพาแพ็คเกจ Python หรือไม่
ฉันพยายามจัดทำสคริปต์ Python ที่ใช้ GDAL สำหรับ PyPI ฉันเริ่มต้นด้วยการอ้างอิงโดยตรงในsetup.py: install_requires=['GDAL==1.11.2'], วิธีนี้แพ็คเกจไม่สามารถติดตั้งในสภาพแวดล้อมการทดสอบเสมือนจริงของฉัน: extensions/gdal_wrap.cpp:2855:22: fatal error: cpl_port.h: No such file or directory #include "cpl_port.h" ^ compilation terminated. error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 ฉันลองแล้วมีการอ้างอิงถึงpygdalเนื่องจากมีการทำเครื่องหมายเป็นรุ่นที่เป็นมิตร virtualenv: install_requires=['pygdal'], วิธีนี้การติดตั้งจะเสร็จสิ้นโดยไม่มีข้อผิดพลาด (แต่ด้วยการโหลดคำเตือนการคอมไพล์ตามปกติ) อย่างไรก็ตามเมื่อนั้นฉันจึงเรียกใช้สคริปต์ฉันได้รับข้อผิดพลาดนี้กลับมา: Traceback (most recent call last): File "/home/desouslu/.virtualenvs/test_p3/bin/hasc2gml", line …
9 python  gdal 

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