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

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

3
การประมวลผลภาพโดยใช้ Python, GDAL และ Scikit-Image
ฉันกำลังดิ้นรนกับการประมวลผลและหวังว่าฉันจะสามารถแก้ไขได้ที่นี่ ฉันทำงานกับ Remote Sensing ที่ใช้กับการป่าไม้โดยเฉพาะการทำงานกับข้อมูล LiDAR แนวคิดคือการใช้ Scikit-image สำหรับการตรวจจับต้นไม้ด้านบน เนื่องจากฉันใหม่ใน Python ฉันถือว่าชัยชนะส่วนตัวที่ยอดเยี่ยมในการทำสิ่งต่อไปนี้: นำเข้า CHM (พร้อม matplotlib); เรียกใช้ตัวกรอง Gaussian (พร้อมแพ็คเกจ scikit-image); เรียกใช้ตัวกรอง maxima (พร้อมแพ็คเกจ scikit-image); รัน peak_local_max (พร้อมแพ็กเกจ scikit-image); แสดง CHM ​​ด้วย maxima ท้องถิ่น (พร้อม matplotlib); ตอนนี้ปัญหาของฉัน เมื่อฉันนำเข้าด้วย matplot รูปภาพจะสูญเสียพิกัดทางภูมิศาสตร์ ดังนั้นพิกัดที่ฉันมีจึงเป็นเพียงพิกัดรูปภาพพื้นฐาน (เช่น 250,312) สิ่งที่ฉันต้องการคือการรับค่าของพิกเซลภายใต้จุดสูงสุดในภาพ (จุดสีแดงในภาพ) ที่นี่ในฟอรัมฉันเห็นชายคนหนึ่งถามสิ่งเดียวกัน ( รับค่าพิกเซลของแรสเตอร์ GDAL ภายใต้จุด OGR …

2
ทำให้การเล่นสีแบบ bivariate ด้วย QGIS?
แผนที่ล่าสุดที่ฉันได้เห็นมีการไล่ระดับสีสองทางที่เป็นระเบียบซึ่งสามารถใช้ในการเชื่อมโยงสีระหว่างการประมาณต่อเนื่อง นี่คือตัวอย่างที่นำมาจากสิ่งพิมพ์ล่าสุด Christian Levers, Pieter J. Verkerk, Daniel Müller, Peter H. Verburg, Van Butsic, เปโดรเจเลติ, มาร์คัสลินเดอร์, โทเบียสคูเอมเมอร์ - ไดรเวอร์ของรูปแบบการเก็บเกี่ยวป่าไม้ในยุโรป เอลส์ 1 มีนาคม 2557 (เข้าถึง: http://dx.doi.org/10.1016/j.foreco.2013.12.030 ) ฉันเชื่อว่าการไล่ระดับสีเหล่านั้นถูกสร้างขึ้นด้วยArcGIS 10.xและฉันสงสัยว่าฉันสามารถสร้างการไล่ระดับสีดังกล่าวด้วยเครื่องมือ GIS ที่มีให้ใช้งานฟรี (หรืออย่างน้อยก็มีบน Linux) ยินดีรับฟังข้อเสนอแนะหรือตัวอย่างโค้ด

1
รุ่นที่โหลดรูปร่างหลายไฟล์เพื่อ Postgis
ตามที่shp2pgsqlช่วยเหลือตัวเลือกวาง , ผนวก , สร้างและเตรียมความพร้อมเป็นพิเศษร่วมกัน ดังนั้นถ้าฉันต้องการสร้างตารางจากรูปร่างและต่อท้ายผนวกรูปร่างหลาย ๆ ไฟล์ฉันจะทำสิ่งต่อไปนี้โดยรักษาตัวนับเพื่อระบุว่าเราอยู่ในโหมดสร้างหรือผนวก cnt=0 for shp in $(ls *.shp); do if [ $cnt -eq 0 ] ; then shp2pgsql -s 27700 -c $shp schema.table_name | psql -h localhost db else shp2pgsql -s 27700 -a $shp schema.table_name | psql -h localhost db fi ((cnt++)) done ใช้งานได้ตามที่คาดไว้ …

1
QGIS ย้ายเลเยอร์ / คุณสมบัติทั้งหมดโดยใช้ Vector Affine Transformation
ฉันใช้ QGIS เพื่อวิเคราะห์เส้นทางการบินที่ผลิตโดยใช้ซอฟต์แวร์ที่แตกต่างกัน ตอนนี้เมื่อพวกเขาอยู่บน QGIS จุดอ้างอิงของทุกสิ่งอยู่ที่ 0,0 ซึ่งเป็นจุดอ้างอิงสนามบิน แต่ในโลกแห่งความเป็นจริงจุดอ้างอิงสนามบินนี้มีค่าใน Easting และ Northing เช่น Easting = 286499.025 Northing = 6230965.204 ดังนั้นทุกอย่างอื่น (รันเวย์สิ้นสุดลงคะแนนการติดตามควรตรงตามที่พวกเขาอยู่ในโลกแห่งความจริง) ฉันได้ทำการวิจัยและพบปลั๊กอิน Vector Affine Transformation ตอนนี้ใช้สิ่งนี้ฉันจะย้ายทุกอย่างไปยังจุดอ้างอิงของ Easting = 286499.025 Northing = 6230965.204 Easting = X และ Northing = Y ฉันมีปัญหาในการเข้าใจเมทริกซ์ของปลั๊กอิน

2
ใช้คณิตศาสตร์แบบง่ายในไฟล์ SLD บน Geoserver หรือไม่
เป็นไปได้หรือไม่ที่จะใช้ Math อย่างง่ายในไฟล์ SLD บน Geoserver สมมติว่าฉันต้องการอ่านคุณสมบัติขนาดตัวอักษรจากฐานข้อมูลและคูณค่าของมันฉันจะทำสิ่งนี้ได้อย่างไร <sld:TextSymbolizer> ... <sld:CssParameter name="font-size"> <ogc:PropertyName>text_size</ogc:PropertyName> * 2.1 </sld:CssParameter> ... </sld:TextSymbolizer> วิธีง่าย ๆ นี้เห็นได้ชัดว่าใช้งานไม่ได้ดังนั้นฉันคิดว่าต้องมีวิธีที่จะทำให้บรรลุผลได้
11 geoserver  sld 

2
มีวิธีในการแยกรูปหลายเหลี่ยมด้วยหลายบรรทัดใน QGIS หรือไม่?
ฉันมีรูปหลายเหลี่ยม (.shp) และชั้นของเส้น (.shp) ฉันต้องการแยกรูปหลายเหลี่ยมออกเป็นหลายชิ้นตามเส้นที่ทับซ้อนรูปหลายเหลี่ยม หลังจากนั้นฉันต้องการแก้ไขรูปหลายเหลี่ยมแยกกัน (ตารางแอตทริบิวต์) ฉันลองวิธีแก้ปัญหา: บัฟเฟอร์เส้นด้วยระยะทางสั้น ๆ จากนั้นก็ทำงานกับเครื่องมือการประมวลผลทางภูมิศาสตร์ (ความแตกต่าง - "ไม่แตกต่าง") หลังจากนั้น "หลายส่วนเป็นส่วนเดียว" มันทำงานได้ แต่ฉันชอบที่จะทำมันด้วยเส้น มีส่วนขยายสำหรับ QGIS หรือวิธีอื่นในการทำงานหรือไม่? คล้ายกับเครื่องมือ ESRI ArcINFO "Split Polygons With Lines" หรือไม่? แต่ทั้งหมดที่ฉันมีคือ QGIS 2.6
11 qgis  vector  line 

1
ตรวจจับแทร็กอัตโนมัติ
รับพื้นที่ที่มีความหดหู่ในพื้นที่เปิดจาก; พูดยานพาหนะภูมิประเทศทั้งหมดขับรถบนพื้นผิวที่อ่อนนุ่ม ยานพาหนะจะทำให้เกิดการหดหู่แบบขนาน (เส้นทาง) ประมาณ 10-20 เซนติเมตรในเชิงลึกและกว้างประมาณ 15-30 ซม. โดยมีความยาวแตกต่างกันไปตามความทนทานของพื้นผิว แพลตฟอร์มการสำรวจระยะไกลใดที่เกี่ยวข้องกับการวิเคราะห์ในภายหลัง Quickbird ลูกกระจ๊อกขนาดเล็ก LIDAR ถ่ายภาพทางอากาศ? มีขั้นตอนที่มีอยู่ในเครื่องมือ (FME / QGIS / ESRI / อื่น ๆ ) ซึ่งสามารถใช้ในการจัดทำเอกสารเส้นทางได้หรือไม่? ให้เราเพื่อทำให้คำถามนี้ง่ายขึ้นสมมติว่าเรารู้ในแง่บวกว่าไม่มีเส้นทางอื่นในพื้นที่หรือพวกมันถูกกรองออกจากภาพ ไม่จำเป็นต้องใช้ระบบอัตโนมัติเต็มรูปแบบและอาจเป็นไปไม่ได้ นี่คือตัวอย่างของลักษณะของแทร็ก

1
วิธีรับตำแหน่งคุณลักษณะใน OpenLayers v3
หลังจากที่ฉันใช้การโต้ตอบการวาดหรือปรับเปลี่ยนการโต้ตอบฉันมีฟังที่ส่งกลับคุณสมบัติที่แก้ไขหรือเพิ่ม ตัวอย่าง draw.on('drawend', function (event) { // get the feature var feature = event.element; // ...listen for changes on it logStatus(feature.getId()); }); ฉันรู้วิธีรับรหัส แต่ฉันต้องการตำแหน่ง (ไม่ช้า) ของคุณสมบัติเพราะฉันต้องการบันทึกลงในฐานข้อมูลฉันจะทำอย่างไร ฉันไม่พบมันใน API

1
การเปลี่ยนรหัสผ่านของผู้ดูแลระบบ geoserver
ฉันจะเปลี่ยนรหัสผ่านเริ่มต้นของผู้ดูแลระบบ geoserver geoserverเป็นอย่างอื่นได้อย่างไร ฉันลองสองสิ่งที่แตกต่างกัน แต่ไม่มีอะไรทำงาน สิ่งแรกที่ฉันลองทำตามเอกสารออนไลน์คือไปที่ data_dir ที่: /usr/local/lib/geoserver-2.5/data_dir/security และฉันหาได้เท่านั้น <user enabled="true" name="admin" password="digest1:XXXX..."> ในusergroup/default/users.xml. แต่ฉันไม่สามารถแก้ไขไดเจสต์ได้ สิ่งที่สองที่ฉันพยายามคือเปลี่ยนรหัสผ่านจากส่วนติดต่อผู้ดูแลเว็บในเมนู "รหัสผ่าน" ที่แผงด้านซ้าย แม้ว่าฉันจะสามารถเปลี่ยนรหัสผ่านได้ แต่ดูเหมือนจะเปลี่ยนสิ่งที่เรียกว่ารหัสผ่านหลัก รหัสผ่านสำหรับadminยังคงเหมือนเดิม ฉันใช้ geoserver2.5 จาก osgeolive8

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

3
จากรูปหลายเหลี่ยมไปจนถึงการวัดความหลากหลายอย่างต่อเนื่อง?
ก่อนอื่น; ฉันพยายามค้นหาคำถามที่คล้ายกัน แต่ไม่ประสบความสำเร็จ อาจเป็นเพราะฉันค่อนข้างใหม่กับ GIS และฉันไม่รู้จริงๆว่าฉันต้องการอะไร หากมีคนชี้ให้ฉันเห็นปัญหาคล้ายกันฉันยินดีที่จะลบโพสต์นี้ ฉันต้องการสร้างตัวแปร 'ต่อเนื่อง' หรือแรสเตอร์ (ในเซลล์กริดเล็ก) ของความหลากหลายของประชากรสำหรับประเทศหนึ่ง ๆ ฉันมีไฟล์รูปร่างที่แสดงการแพร่กระจายของกลุ่มชาติพันธุ์ในรูปหลายเหลี่ยม (รูปที่ 1) และผลลัพธ์ที่ฉันมองหาคือ 'ตัวบ่งชี้ค่าเฉลี่ยของความหลากหลาย' ในแต่ละหน่วยการปกครอง (AU ในกรณีนี้คือ 360 เขตเลือกตั้งไนจีเรีย) รูปที่ 1 รูปประชากรกลุ่มโพลิกอนในไนจีเรีย วิธีแก้ปัญหาที่ฉันคิดคือหาเปอร์เซ็นต์พื้นที่ของแต่ละรูปหลายเหลี่ยมในแต่ละ AU และคำนวณดัชนีความหลากหลายจากนั้น แต่ปัญหาคือฉันจะทิ้งข้อมูลไว้ค่อนข้างมากเนื่องจากการกระจายของหน่วยงานบริหาร ดังที่แสดงในรูปที่ 2, สี่เหลี่ยม 'a', 'b' และ 'c' จะมี 'ดัชนีการแยก' เหมือนกัน แต่เป็นที่ชัดเจนว่าพวกเขาไม่ได้อยู่ในตำแหน่งเดียวกันกับ 'ฮอตสปอต' รูปที่ 2 ดังนั้นฉันจึงคิดว่าวิธีแก้ปัญหาอื่นสามารถสร้างแผนที่กริดและคำนวณระยะทางไปยังชายแดนที่ใกล้ที่สุด แต่การแบ่งปันเพียงครั้งเดียวจะไม่เหมือนกับการอยู่ในใจกลางของแผนที่ซึ่งมีหลายกลุ่มอยู่ด้วยกัน หลังจากค้นหาคำถามนี้ฉันเดาว่ารูปหลายเหลี่ยมสามารถเปลี่ยนเป็นจุดโดยใช้เซนทรอยด์ของพวกเขาแล้วใช้วิธีการเดียวกัน แต่ความจริงก็คือฉันยังใหม่กับสิ่งนี้และคำถามนั้นไม่ได้ตอบอย่างชัดเจน ฉันจะทำสิ่งนั้นได้อย่างไร ใช้ตัวอย่างอื่นฉันต้องการสร้างสิ่งนี้ …
11 qgis  raster  polygon  r 

2
การอ่านรูปทรงเรขาคณิตของ postgis ด้วยหุ่นดี
ฉันกำลังทำเวิร์กโฟลว์ขนาดเล็กในโน้ตบุ๊ก ipython ที่มี geopandas และ shapely ดึงข้อมูล geospatial จำนวนมากบางครั้งมาจาก shapefiles บางครั้งมาจาก postgis (ซึ่งมีการประมวลผลที่แพงกว่า) ตอนนี้ฉันก็ดึงตาราง postgis ไปเป็น python โดยใช้การsqlalchemyแปลงเรขาคณิตเป็น WKT ไปพร้อมกัน sql = """ SELECT ST_AsText(ST_Transform(the_geom,4326)) as newgeom,* FROM public.parcels2010_small limit 5; """ parcels = pd.read_sql(sql, engine) parcels +----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+ | id | newgeom | the_geom | parcel_id | osm_node_id | +----+---------------------------------------------------+---------------------------------------------------+-----------+-------------+ …

3
1km วงกลมรอบจุด lat-long- ในหลายสถานที่ในโลก
ฉันมีคะแนน lat-long-points หลายร้อยจุดกระจายอยู่ทั่วโลกและต้องสร้างวงกลมรูปหลายเหลี่ยมรอบแต่ละจุดด้วยรัศมี 1,000 เมตร ฉันเข้าใจว่าจุดต่าง ๆ จะต้องถูกฉายจากองศา (ความยาว lat) เป็นบางสิ่งบางอย่างด้วยหน่วยเมตร แต่จะทำอย่างไรได้โดยไม่ต้องค้นหาด้วยตนเองและกำหนดเขต UTM สำหรับแต่ละจุด นี่คือความกังวลสำหรับจุดแรกในฟินแลนด์ library(sp) library(rgdal) library(rgeos) the.points.latlong <- data.frame( Country=c("Finland", "Canada", "Tanzania", "Bolivia", "France"), lat=c(63.293001, 54.239631, -2.855123, -13.795272, 48.603949), long=c(27.472918, -90.476303, 34.679950, -65.691146, 4.533465)) the.points.sp <- SpatialPointsDataFrame(the.points.latlong[, c("long", "lat")], data.frame(ID=seq(1:nrow(the.points.latlong))), proj4string=CRS("+proj=longlat +ellps=WGS84 +datum=WGS84")) the.points.projected <- spTransform(the.points.sp[1, ], CRS( …

3
แก้ไขข้อผิดพลาด“ SDK ดูเหมือนว่าไม่ถูกต้อง” เมื่อตั้งค่า PyCharm และ PyQGIS?
ผมอยากจะตั้งค่า PyCharm วิธีการโพสต์บล็อกนี้อธิบาย: การตั้งค่าสำหรับ PyCharm PyQGIS และ Qt ฉันทำทุกอย่างตามคำแนะนำ แต่เมื่อมันมาถึงการเพิ่มล่ามโครงการฉันได้รับข้อความแสดงข้อผิดพลาดนี้: ใครบ้างมีวิธีแก้ปัญหานี้?

2
จะติดตั้ง GDAL และ QGIS บน Raspberry Pi ได้อย่างไร?
ฉันต้องการเรียกใช้ GDAL QGIS บนRaspberry Piเพื่อทำหน้าที่เป็นเครื่องมือประมวลผล GIS ที่ราคาไม่แพง แผนการจะซื้อประมาณ 50 Pis ใครมีลิงค์หรือข้อมูลเกี่ยวกับการติดตั้งและใช้งาน GDAL บน Raspberry Pi หรือเพียงแค่ติดตั้ง GDAL ในสภาพแวดล้อม RASPBIAN อย่างดีที่สุดที่ฉันเห็น Raspbian เป็นตัวเลือกอันดับต้น ๆ ของฉันและเป็น Debian ที่ใช้ แต่ ARCH, RASPBMC, PIDORA, RISC OS และ OPENELEC เป็นรสชาติของ linux ที่เปิดให้ฉันออกจากกล่อง หวังว่าด้วย Python

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