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

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

7
การเข้าร่วมข้อมูลจาก Excel ไปยังตารางแอตทริบิวต์ใน QGIS โดยไม่ต้องสร้างรายการซ้ำ?
ฉันมีตารางคุณลักษณะที่มีสองฟิลด์ว่างใน QGIS ฉันต้องการนำเข้าฐานข้อมูล excel เพื่อเติมฟิลด์ว่างใน QGIS ไฟล์ excel ของฉันตรงกับคอลัมน์ในตารางแอตทริบิวต์ QGIS ของฉัน ฉันสามารถเข้าร่วม excel ของฉัน (.CSV) กับรูปร่างของฉันได้อย่างถูกต้อง อย่างไรก็ตามกระบวนการแทนที่จะสร้างฟิลด์ว่างตามที่ฉันต้องการสร้างรายการซ้ำ ด้วยความช่วยเหลือของ«ผู้จัดการตาราง»ฉันสามารถแก้ไขสถานการณ์ได้ แต่ต้องใช้เวลานาน ฉันกำลังมองหาวิธีที่มีประสิทธิภาพมากขึ้นในการเข้าร่วมข้อมูล excel ของฉัน ฉันจะเข้าร่วมไฟล์ excel ของฉันไปที่ตารางคุณลักษณะของฉันโดยไม่ต้องสร้างรายการซ้ำได้อย่างไร

3
จะสร้างบรรทัดเพื่อให้เห็นความแตกต่างระหว่างคุณลักษณะรูปหลายเหลี่ยมใน PostGIS ได้อย่างไร
ฉันมีตาราง PostGIS polygon_bพร้อมคุณสมบัติรูปหลายเหลี่ยม นอกจากนี้ยังมีตารางpolygon_aที่มีรูปหลายเหลี่ยมเหมือนกันpolygon_bแต่มีการเปลี่ยนแปลงเล็กน้อย ตอนนี้ฉันต้องการสร้างเส้นเพื่อให้เห็นความแตกต่างระหว่างคุณลักษณะรูปหลายเหลี่ยม ฉันคิดว่าST_ExteriorRingและST_Differenceจะทำงาน แต่ประโยคที่ดูเหมือนว่าจะค่อนข้างยุ่งยาก CREATE VIEW line_difference AS SELECT row_number() over() AS gid, g.geom::geometry(LineString, yourSRID) AS geom FROM (SELECT (ST_Dump(COALESCE(ST_Difference(ST_ExteriorRing(polygon_a.geom), ST_ExteriorRing(polygon_b.geom))))).geom AS geom FROM polygon_a, polygon_b WHERE -- ? ) AS g; มีใครช่วยฉันบ้าง แก้ไข 1 ตามที่โพสต์โดย 'เอียง' ฉันได้ลองแล้วST_Overlaps(polygon_a.geom, polygon_b.geom) AND NOT ST_Touches(polygon_a.geom, polygon_b.geom)แต่ผลลัพธ์ไม่เป็นไปตามที่คาดไว้ CREATE VIEW line_difference AS …

3
การสร้างคำสั่งแบบมีเงื่อนไขในเครื่องคำนวณภาคสนามของ QGIS
ฉันค้นหาคำถาม & คำตอบอื่น ๆ ในหัวข้อนี้ แต่ไม่มีใครได้พูดถึงสิ่งที่ฉันต้องการจะทำ ฉันมีชุดข้อมูลขนาดใหญ่และฉันต้องการค้นหาเขตข้อมูลหนึ่งสำหรับค่าใด ๆ ในจำนวนที่กำหนด (ในกรณีนี้ 20) และหากค่ามากกว่า 20 ฉันต้องการส่งคืนค่า 1 ในสาขาอื่นมิฉะนั้น ส่งคืนค่า 0 ฉันได้ลองเขียนบางอย่างโดยไม่มีโชค ฉันใช้ QGIS 2.8

7
กำลังเรียกจุดเริ่มต้นและจุดสิ้นสุดของแต่ละบรรทัดในไฟล์ shapefile ใน ArcGIS Desktop หรือ QGIS?
ฉันมี shapefile แบบเวกเตอร์ (polyline) และฉันจำเป็นต้องดึงจุดเริ่มต้นและจุดสิ้นสุดของแต่ละบรรทัด (โหนด) และสร้าง shapefile ด้วยจุดเหล่านี้ จากนั้นฉันต้องเพิ่มตารางแอตทริบิวต์ polyline ของจุดเริ่มต้นและจุดสิ้นสุดสำหรับแต่ละบรรทัดตามในรหัสคะแนน ฉันจะทำเช่นนั้นด้วยวิธีง่ายๆใน ArcGIS Desktop หรือ QGIS ได้อย่างไร

2
เครื่องหมายดอกจัน (*) หมายถึงอะไรเมื่อแสดงข้างชื่อฟิลด์ในตารางแอตทริบิวต์
เครื่องหมายดอกจัน (*) หมายถึงอะไรเมื่อแสดงข้างชื่อฟิลด์ในตารางแอตทริบิวต์ ฉันคิดว่าชื่อเหล่านั้นเป็นชื่อเขตสงวน แต่ไม่ใช่

8
Shapefile เลเยอร์ใน QGIS ไม่แสดงยกเว้นว่าฉันซูมออก
ฉันมีสองรูปร่างไฟล์ในโครงการ Qgis ที่มีปัญหากับการซูม หนึ่งคือบรรทัดที่ฉันคัดลอก / วางในเลเยอร์ใหม่จากชุดของความสูงและอีกชั้นหนึ่งเป็นรูปหลายเหลี่ยมที่ฉันสร้างขึ้นโดยการยุบคุณสมบัติทั้งหมดในเลเยอร์อื่น ในทั้งสองกรณีเลเยอร์จะไม่แสดงเว้นแต่ว่าเลเยอร์ทั้งหมดแสดงในแคนวาส เมื่อฉันซูมเข้าหรือลากมุมมองทันทีที่ส่วนหนึ่งของเลเยอร์ออกจากผืนผ้าใบเลเยอร์ทั้งหมดจะหายไป ในกรณีของชั้นรูปหลายเหลี่ยมถ้าฉันลบมันและสร้างมันอีกครั้งมันทำงานอย่างถูกต้อง แต่เมื่อฉันเริ่มเติมวงแหวนมันถึงจุดที่หยุดทำงานได้ดี (ฉันต้องการที่จะจบลงด้วยรูปหลายเหลี่ยมเดียวที่ล้อมรอบคุณสมบัติทั้งหมดใน เลเยอร์เดิม) ฉันเดาว่าต้องเกี่ยวข้องกับเรขาคณิตของเลเยอร์ แต่ฉันไม่พบสาเหตุ ทั้งสองเลเยอร์ก่อนหน้านี้ทำงานได้ดีและการนำออก / เพิ่มอีกครั้งไม่สามารถแก้ไขปัญหาได้ เลเยอร์อื่น ๆ ในโครงการทำงานได้ดี (รวมถึงชุดของความสูงของรูปทรงและชั้นรูปหลายเหลี่ยมที่ฉันใช้เพื่อสร้างชั้นที่มีปัญหา) ปัญหานี้แสดงในทั้ง Qgis 2.4 และ 2.6 มีอะไรที่ฉันทำผิดหรือเปล่า?

4
Openlayers 3 Max Extent
ฉันต้องการ จำกัด ตำแหน่งที่ผู้ใช้สามารถเลื่อนบนแผนที่ได้ แต่ฉันไม่สามารถหาแหล่งข้อมูลใด ๆ ที่บอกวิธีตั้งค่าขอบเขตสูงสุดของมุมมองแผนที่ใน OpenLayers 3 ฉันรู้ว่ามีวิธีแก้ปัญหาใน OpenLayers 2 หรือไม่ เป็นไปได้ในเวอร์ชั่นใหม่

3
ใช้รูปทรงเรขาคณิตมากกว่าชนิดข้อมูลภูมิศาสตร์ใน SQL Server Spatial?
ในอดีตฉันได้ทำงานกับพิกัดละติจูดและลองจิจูดอย่างง่ายเป็นหลักใน SQL Server ฉันเก็บไว้เป็นประเภทข้อมูลทางภูมิศาสตร์ใน SQL Server และแสดงบนจอแสดงผลที่หลากหลาย (โดยหลักคือ Google Maps) เมื่อเร็ว ๆ นี้ฉันได้เริ่มทำงานกับชุดข้อมูล Shapefile จากแหล่งต่าง ๆ และเกือบจะเป็นชุดรูปแบบเรขาคณิตเท่านั้น นอกจากนี้ยังใช้ระบบอ้างอิงพิกัดที่หลากหลาย มันน่าคลั่งที่จะทำงานกับ USGS สำหรับข้อมูลบางส่วนของพวกเขาใช้ID CRS ที่หายากและยากมาก เขตLos Angels บอกว่าพวกเขาใช้ State Plane 5 (โดยไม่มีการอ้างอิง CRS โดยเฉพาะ) และแน่นอนว่ามี "state plane 5's" หลายแบบให้เลือกใน QGIS มีข้อดีบางประการสำหรับระบบอ้างอิงเชิงพื้นที่เหล่านี้ที่ไม่สามารถทำได้โดยการติดกับ WGS84 เนื่องจากผู้คนส่วนใหญ่ที่ดูและบริโภคนั้นต้องการรูปแบบดังกล่าวหรือไม่

2
Natural Earth (ไซต์) กำลังจะตายหรือไม่?
ฉันเจอเว็บไซต์ Natural Earth www.naturalearthdata.comจากคำตอบของสแต็คนี้ - ฉันพบว่ามันเป็นแหล่งข้อมูลที่ดีสำหรับข้อมูลรูปร่าง - น่าจะดีที่สุด แต่เมื่อมองไปรอบ ๆ ไซต์ฉันรู้สึกกังวลเล็กน้อยว่าโครงการกำลังจะตาย: ไม่มีการเผยแพร่ตั้งแต่ 2555 โพสต์บล็อกเดียวตั้งแต่ปี 2012 ไม่สามารถลงทะเบียนฟอรัม "contact us" / "pitch in" การตีกลับที่อยู่อีเมล การสมัครรับข้อมูลอัปเดตจะไม่ส่งอีเมลยืนยันใด ๆ ที่อยู่อีเมลที่แสดงไว้สำหรับอัพเดตยังตีกลับอีกด้วย ฉันทำปฏิกิริยามากเกินไปหรือไม่?

3
วิธีการเป็นสัญลักษณ์ของคุณสมบัติด้วยค่า NULL ใน symbology ที่สำเร็จการศึกษาแล้ว
ฉันมีชุดข้อมูลคุณลักษณะรูปหลายเหลี่ยมและแอตทริบิวต์จากตารางอื่นที่ฉันเข้าร่วม (หนึ่งต่อหนึ่ง) ภายใน QGIS เพื่อเป็นสัญลักษณ์ของแอตทริบิวต์เป็นแผนที่ที่เป็นนักแสดง อย่างไรก็ตามไม่ได้มีเขตข้อมูลรูปหลายเหลี่ยมทั้งหมดที่มีเขตข้อมูลที่ตรงกันในตารางของคุณลักษณะตัวเลขดังนั้นจึงมีค่า Null บางส่วนเมื่อสร้างสัญลักษณ์ที่จบการศึกษา จากการวิจัยของฉันคำแนะนำที่พบบ่อยที่สุดในสถานการณ์นี้คือการรวมสำเนาของชุดข้อมูลรูปหลายเหลี่ยม (หรือพื้นหลังอื่น ๆ ) ที่กำหนดสัญลักษณ์เริ่มต้น สิ่งนี้ได้ผลเพราะค่า Null ไม่ได้จัดอยู่ใน symbology ที่สำเร็จการศึกษาดังนั้นจึงสามารถเห็น "ใต้" ค่าเหล่านั้นได้ ฉันได้แนบภาพของสิ่งนี้ คุณสมบัติสีเทาเข้มไม่มีอยู่ในตารางการเข้าร่วม ( mb_percentile_isochrones_all) แต่มีอยู่ในตารางรูปหลายเหลี่ยมขอบเขต ( mb2013_wgtn) ดังนั้นฉันต้องการสองอินสแตนซ์ของmb2013_wgtnตารางเพื่อแสดงคุณลักษณะ "ไม่มีข้อมูล" อย่างไรก็ตามนี่ดูเหมือนจะไม่หรูหราสำหรับฉัน สัญชาตญาณที่มากขึ้นคือการกำหนดสัญลักษณ์ค่า Null บางทีสิ่งนี้อาจโปร่งใสอย่างสมบูรณ์เพื่อให้สอดคล้องกับสิ่งที่มีอยู่ในปัจจุบันหรือบางทีมันอาจเป็นสีเทาที่ไม่ออกเสียง - สิ่งที่ผู้ใช้ต้องการ ประเด็นคือในปัจจุบันหนึ่งต้องการเลเยอร์ที่แตกต่างกันสองชั้นในเนื้อหาเพื่อจัดการสัญลักษณ์ของค่า Null ซึ่งหมายความว่าการเปลี่ยนสัญลักษณ์ของคุณลักษณะทั้งหมดของคุณในเวลาเดียวกัน (พูดถ้าคุณต้องการเพิ่มความกว้างของเส้นขอบทั้งหมด ) สิ่งนี้จะต้องได้รับการจัดการสองครั้ง: หนึ่งครั้งในคุณสมบัติสำหรับคุณสมบัติที่มีสัญลักษณ์จบการศึกษาและ หนึ่งครั้งสำหรับเลเยอร์ "พื้นหลัง" ที่จัดการสัญลักษณ์ว่าง เป็นไปได้หรือไม่ที่จะกำหนดสัญลักษณ์ค่า "null" โดยไม่ใช้ "copy" ของเลเยอร์เดียวกันที่ใช้สำหรับ …

3
การดำเนินงานขนาน GIS ใน PyQGIS?
ข้อกำหนดทั่วไปใน GIS คือการใช้เครื่องมือประมวลผลกับไฟล์จำนวนหนึ่งหรือใช้กระบวนการสำหรับคุณสมบัติจำนวนหนึ่งในไฟล์หนึ่งไปยังไฟล์อื่น การดำเนินการส่วนใหญ่เหล่านี้ขนานกันอย่างน่าอายซึ่งผลลัพธ์ของการคำนวณไม่ได้มีอิทธิพลต่อการดำเนินการอื่นใดในลูป ไม่เพียงแค่นั้น แต่บ่อยครั้งที่ไฟล์อินพุตนั้นแตกต่างกันไป เคสแบบคลาสสิกคือไฟล์แบบเรียงต่อกันออกจากไฟล์ที่มีรูปหลายเหลี่ยมเพื่อคลิป นี่คือวิธีการแบบคลาสสิก (ทดสอบ) เพื่อให้ได้สิ่งนี้ในสคริปต์ไพ ธ อนสำหรับ QGIS (fyi การส่งออกของไฟล์หน่วยความจำชั่วคราวไปยังไฟล์จริงมากกว่าครึ่งเวลาในการประมวลผลไฟล์ทดสอบของฉัน) import processing import os input_file="/path/to/input_file.shp" clip_polygons_file="/path/to/polygon_file.shp" output_folder="/tmp/test/" input_layer = QgsVectorLayer(input_file, "input file", "ogr") QgsMapLayerRegistry.instance().addMapLayer(input_layer) tile_layer = QgsVectorLayer(clip_polygons_file, "clip_polys", "ogr") QgsMapLayerRegistry.instance().addMapLayer(tile_layer) tile_layer_dp=input_layer.dataProvider() EPSG_code=int(tile_layer_dp.crs().authid().split(":")[1]) tile_no=0 clipping_polygons = tile_layer.getFeatures() for clipping_polygon in clipping_polygons: print "Tile no: "+str(tile_no) tile_no+=1 …

1
วิธีการแยก sublinestring จาก linestring ด้วยส่วนที่ทับซ้อนกัน
คำแถลงปัญหา: กำหนดเส้นทางรถบัส (กำหนดเป็น linestring ln.the_geom) และชุดของตำแหน่งป้ายรถเมล์ (pt1.the_geom, pt2.the_geom, ... ptn.the_geom) แบ่งเส้นทางรถประจำทางออกเป็นส่วน ๆ ระหว่างป้ายรถเมล์ . ฉันใช้สองฟังก์ชัน postgis ST_line_substring(ln.the_geom,ST_line_locate_point ln.the_geom,pt1.the_geom),ST_line_locate_point(ln.the_geom,pt2.the_geom)) ด้านบนใช้งานได้ดีหากเส้นทางรถเมล์ไม่มีส่วนที่ทับซ้อนกัน อย่างไรก็ตามหากมีส่วนที่ทับซ้อนกัน ST_line_locate_point จะถ่ายจุดหนึ่งไปยังอีกปลายหนึ่งของ linestring ตัวอย่างเช่น: รถบัสเดินทางจาก A ถึง B สร้าง loop จากนั้นเดินทางจาก B ถึง A "A ถึง B" และ "B to A" เป็นเส้นทางคู่ขนานที่มีจุดทั้งหมดซ้อนทับกัน ในกรณีที่ป้ายหยุดรถ P1 และ P2 P2 จะถูกจับคู่กับจุด P2 แทน …

2
มีมาตรฐานสำหรับไฟล์. prj หรือไม่
เราใช้ไฟล์รูปร่างสำหรับการแลกเปลี่ยนข้อมูล ฉันดูที่ไฟล์. prj: โปรแกรมต่างๆสร้างไฟล์ prj ที่แตกต่างกัน มีมาตรฐานว่าจะต้องระบุพารามิเตอร์ในไฟล์ prj หรือไม่? AFAIK ชื่อของการฉายภาพ (เช่น PROJCS ["ETRS89 / UTM โซน 32N (zE-N)", ... ]) สามารถกำหนดได้อย่างอิสระ แต่ฉันไม่สามารถเชื่อได้ว่าชื่อของ datum (เช่น DATUM ["D_ETRS_1989", ... ]) สามารถกำหนดได้อย่างอิสระเช่นกัน ฉันไม่พบข้อมูลเกี่ยวกับสิ่งนี้ แม้แต่ในESRI Shapefile คำอธิบายทางเทคนิคยังไม่มีข้อมูลเกี่ยวกับไฟล์. prj ESRI KB บทความ 14056 HowTo: สร้างเมตาดาต้าฉาย (.prj) ไฟล์สำหรับ shapefilesพูดว่า: “คุณจะต้องใช้ชื่อที่กำหนดไว้ล่วงหน้าสำหรับโครงแผนที่และพารามิเตอร์วัตถุ ” แต่บทความไม่ได้ระบุตำแหน่งที่จะค้นหาชื่อ predefine เหล่านี้ GIS- …

2
ทางเลือกโอเพนซอร์ซสำหรับแนวคิดบริการประมวลผลทางภูมิศาสตร์ของ ArcGIS?
ฉันกำลังค้นหาตัวอย่างของการใช้ตรรกะที่ Esri สร้างขึ้นด้วยบริการประมวลผลทางภูมิศาสตร์ คุณเป็นผู้สร้างเครื่องมือที่กำหนดเองหรืออาจเป็นเครื่องมือของระบบ >> คุณเผยแพร่มันเพื่อแสดงฟังก์ชั่นนี้เป็นบริการเว็บ >> คุณใช้บริการเว็บกับลูกค้า ตัวอย่างง่ายๆแบบคลาสสิก: ผู้ใช้สามารถคลิกบนแผนที่เพื่อสร้างจุด> พิกัดที่ส่งไปยังเซิร์ฟเวอร์> การดำเนินการบัฟเฟอร์กำลังดำเนินการที่ส่วนท้าย> คุณลักษณะของเขตกันชน (หรือเพียงภาพ) จะถูกส่งกลับไปยังไคลเอนต์ และแสดงบนผืนผ้าใบแผนที่ ฉันพัฒนาบริการ Esri GP มา 3 ปีแล้วและเป็นประสบการณ์ที่ดีโดยเฉพาะตั้งแต่เวอร์ชัน 10.1 มีตัวอย่างของระบบโอเพ่นซอร์ส / โซลูชันที่สามารถใช้เพื่อสร้างตรรกะที่คล้ายกันได้หรือไม่? ฉันได้ค้นแล้วพบgis santanteแต่ก็ไม่มีอะไรพิเศษเกี่ยวกับวิธีการทำงานและจำนวนตรรกะที่มีให้ผ่าน Esri 52ดูเหมือนว่าจะยังทำงานได้ แต่ฉันก็หายไปจากคำอธิบายที่สะอาดของแนวคิด

4
การแปลงไฟล์ osm เป็น shapefile (หรือ data frame) ใน R
ฉันกำลังมองหาไฟล์รูปร่างถนนสำหรับออสเตรเลียในวันนี้ ฉันสิ้นสุดขึ้นไปGeofabrik Open Street Map มีข้อมูลใน.osmรูปแบบ แต่พวกเขาไม่ได้มีหนึ่งใน.shpสำหรับออสเตรเลีย ถ้าเป็นไปได้ฉันต้องการแปลงosmไฟล์เป็นshapefilesใช้ R. ฉันได้ค้นหาไปแล้ว แต่ยังไม่พบวิธีแก้ไข มีวิธีการนี้หรือไม่? อีกวิธีหนึ่งเป็นไปได้ไหมที่จะอ่านไฟล์ osm เป็น R และแปลงข้อมูลเป็น data frame เพื่อให้ฉันสามารถวาดรูปโดยใช้ggplot2? ฉันได้ประสบความสำเร็จในภาพต่อไปนี้ของนิวซีแลนด์ใช้สอง shapefiles ด้วยและmaptools ggplot2เป็นการดีที่ฉันต้องการสร้างแผนที่ที่คล้ายกันของออสเตรเลีย

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