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

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

3
วิธีการวัดความคล้ายคลึงกันของวัตถุ SpatialLines
ฉันสร้างสองSpatialLinesวัตถุใน R: วัตถุเหล่านี้ถูกสร้างขึ้นด้วยวิธีนี้: library(sp) xy <- cbind(x,y) xy.sp = sp::SpatialPoints(xy) spl1 <- sp::SpatialLines(list(Lines(Line(xy.sp), ID="a"))) ทีนี้ฉันอยากสรุปว่านี่คือเส้นตรงที่หมุนแล้วพลิกและความแตกต่างระหว่างพวกเขาเท่ากับ 0 (รูปร่างที่เท่ากัน) ในการทำเช่นนั้นเราสามารถใช้maptoolsแพ็คเกจและหมุนบรรทัดที่ 1 เช่น: spl180 <- maptools::elide(spl1, rotate=180) แต่ละบรรทัดที่หมุนแล้วจะต้องตรวจสอบเทียบกับบรรทัดที่ 2 โดยใช้rgeosแพ็คเกจเช่น: hdist <- rgeos::gDistance(spl180, spl2, byid=FALSE, hausdorff=TRUE) อย่างไรก็ตามนี่เป็นวิธีการคำนวณที่มีราคาแพงมากในการจับคู่SpatialLinesวัตถุโดยเฉพาะอย่างยิ่งหากจำนวนวัตถุมีค่าประมาณ 1,000 มีวิธีที่ฉลาดในการทำงานนี้หรือไม่? ป.ล. นอกจากนี้วิธีการที่อธิบายไว้ข้างต้นไม่รับประกันการหมุนและการพลิกที่เป็นไปได้ทั้งหมด P.S2 หากบรรทัดที่ 1 ถูกย่อส่วนด้วย # 2 ความแตกต่างระหว่างบรรทัด # 1 และ # 2 …

2
การดึงความสูงของอาคารโดยใช้ข้อมูลจากระยะไกล (ยกเว้น Lidar)
ฉันจะรับค่าความสูงของอาคารจากเมืองหนึ่ง ๆ โดยไม่ต้องเข้าไปในเขตข้อมูลเพื่อรวบรวมข้อมูลได้อย่างไร อย่างไรก็ตามมีการทำผ่านภาพถ่ายดาวเทียม, SRTM, ASTER GDEM หรือ DEM ใด ๆ สำหรับเรื่องนี้หรือไม่? หนึ่งในการกล่าวถึงนี่ไม่ใช่เมืองของสหรัฐหรือเมืองที่มีข้อมูล LIDAR ฟรี (อยู่ในโรมาเนีย)

2
กรอง Overpass-API ตามประเทศ
ไม่มีใครรู้วิธีดำเนินการคำขอสะพานลอยเช่นนี้หรือไม่? "แสดงธนาคารทั้งหมดในเยอรมนี" ฉันสามารถแสดง 'สิ่งอำนวยความสะดวก = ธนาคาร' ทั้งหมดในกล่องขอบเขตเฉพาะ แต่ประเทศเยอรมนี (หรือส่วนใหญ่ของทุกประเทศ) ไม่ค่อยเหมาะกับกล่องจดหมายดังกล่าว มีวิธีการทำเช่นนี้? คุณเป็นตัวอย่างหรือไม่ ประสิทธิภาพของเซิร์ฟเวอร์หรือรันไทม์นั้นเป็นเรื่องรองเนื่องจากเราสามารถโฮสต์เซิร์ฟเวอร์ของตัวเองหรืออะไรทำนองนั้น :)

3
วิธีการแปลงไอโซลีนเป็นไอโซโทปกอนด้วยโพสต์จิส?
ฉันมีตารางหนึ่งตารางของ isolines ที่กำหนดไว้ดังนี้: CREATE TABLE myisolines ( gid serial NOT NULL, isotime timestamp without timezone, val numeric(10,4), geom geometry(LineString,4326) ); เห็นวัตถุ linestring นี้มีลักษณะดังนี้: ฉันรู้ขอบเขตของข้อมูลของฉันดังนั้นฉันสามารถเพิ่ม Bbox ได้ดังนั้น LineStrings จึงสามารถปิดได้ ฉันต้องการสร้างตารางของ isopolygons myisopolygonsจากmyisolinesตารางที่มีรูปหลายเหลี่ยมที่จะไม่ทับซ้อนกัน แต่สร้างพื้นผิวต่อเนื่องและมีคอลัมน์ที่valมีvalisolines ต่ำสุดซึ่งเป็นรูปหลายเหลี่ยมที่เกิดขึ้น ฉันเข้าใจว่ามันสามารถเกิดขึ้นได้จากตัวแยกไอโซ (เกาะ) หรือไอโซที่ปิดด้วย bbox ในกรณีนั้นvalควรนำมาจากไอโซนั้น มองเห็นควรมีลักษณะดังนี้: ฉันคิดว่าฉันสามารถสร้างโทโพโลยีแล้วเปลี่ยนรูปใบหน้าเป็นรูปหลายเหลี่ยมได้ แต่ฉันไม่เข้าใจวิธีการทำอย่างถูกต้อง สิ่งนี้สามารถทำได้? อีกทางเลือกหนึ่งคือการใช้ฟังก์ชั่นความแตกต่างระหว่าง bbox และรูปหลายเหลี่ยมที่สร้างขึ้นซ้ำ ๆ แต่ฉันคิดว่านั่นไม่ใช่วิธีที่ถูกต้องที่จะทำและไม่เร็วเลย

1
ความเข้ากันได้กับ ArcGIS และ QGIS: ปัญหาเกี่ยวกับ Shapefiles หรือฐานข้อมูล Geod
ฉันทำงานที่คณะกรรมาธิการการวางแผนเล็ก ๆ ในฐานะ 1 ใน 2 ของ GIS ซึ่งเรามีใบอนุญาต ArcGIS 2 ใบ อาสาสมัครเพิ่งเริ่มทำงานกับเรา เขาใช้ QGIS และแก้ไขรูปร่างเป็นส่วนใหญ่ ฉันอาจจะต้องพิจารณาคำถามนี้ก่อน .... ArcGIS และ QGIS เล่นด้วยกันหรือไม่? ในที่สุดทุกอย่างจะจบลงใน ArcGIS จะมีปัญหาใด ๆ ในการแก้ไขรูปร่างหรือฐานข้อมูล Geod ใน QGIS จากนั้นเปิดและ / หรือแก้ไขใน ArcGIS หรือไม่ ฉันไม่รู้ว่าฉันกำลังกดที่นี่เพื่อถามคำถามอื่นหรือไม่ ... หากคำอธิบายประกอบแผนที่ถูกแก้ไขใน QGIS แผนที่นั้นสามารถเปิดใน ArcGIS ได้หรือไม่?

3
การคำนวณระยะทางทั้งหมดจากจุดเดียวไปยังรูปหลายเหลี่ยม [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ฉันมีสองชั้น: ชั้นที่กำหนดคุณสมบัติ (95 วัตถุ) และชั้นรูปหลายเหลี่ยมที่กำหนดที่ดินที่เกี่ยวข้องกับคุณสมบัติ (211 วัตถุ) แต่ละจุดเกี่ยวข้องกับรูปหลายเหลี่ยมอย่างน้อยหนึ่งรูป สิ่งที่ฉันต้องการผลิตคือตารางระยะทางของแต่ละจุดของรูปหลายเหลี่ยมที่เกี่ยวข้องกับจุดนั้น (ขอบที่ใกล้ที่สุดหรือเซนทรอยด์ของรูปหลายเหลี่ยม - จะทำ) การคำนวณระยะทางที่ใกล้ที่สุดนั้นค่อนข้างง่ายใน QGIS และ ArcGIS แต่การคำนวณเหล่านั้นตัดรูปหลายเหลี่ยมที่อยู่ไกลออกไปอย่างน้อยที่สุดโดยวิธีที่ฉันใช้ เป็นการดีที่ฉันต้องการผลลัพธ์ของ Point_ID | distance to polygon 1 | distance to polygon 2 | distance to polygon 3 | etc. พอยน์เตอร์ใด ๆ ใน ArcGIS 10 หรือ QGIS …

2
การพิจารณาว่า Shapefile และแรสเตอร์ซ้อนทับกันใน Python โดยใช้ OGR / GDAL หรือไม่ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ฉันกำลังสร้างสคริปต์ใน python โดยใช้ OGR / GDAL ฉันมีชุดไฟล์รูปร่างและชุดไฟล์แรสเตอร์ GeoTiff ฉันต้องการให้สคริปต์ของฉันเพิกเฉยกับรูปร่างของไฟล์หากพวกเขาไม่ตัดกันกับพื้นที่แรสเตอร์ Shapefile ไม่ได้เป็นรูปสี่เหลี่ยมผืนผ้าดังนั้นฉันไม่สามารถเปรียบเทียบค่า xmin / xmax, ymin / ymax ที่ส่งกลับโดย layer เท่านั้น GetGetExtent () ฉันต้องการรูปหลายเหลี่ยมที่เกิดขึ้นจริงซึ่งเป็นรูปร่างโดยรวมแล้ววิธีพิจารณาว่ารูปหลายเหลี่ยมนั้นตัดกับสี่เหลี่ยมแรสเตอร์หรือไม่ ฉันคิดว่าฉันสามารถรวมรูปหลายเหลี่ยมทั้งหมดใน shapefile เข้ากับคุณลักษณะหนึ่งแล้วอ่านเรขาคณิตในคุณลักษณะนั้นแล้วเปรียบเทียบข้อมูลนั้นกับขอบเขตแรสเตอร์ อย่างไรก็ตามฉันไม่แน่ใจเกี่ยวกับวิธีการดำเนินการนี้โดยเฉพาะ วิธีดึงข้อมูลรูปหลายเหลี่ยมเส้นขอบจาก shapefile? วิธีการตรวจสอบว่ารูปหลายเหลี่ยมนั้นตัดกันพื้นที่สี่เหลี่ยมที่กำหนดหรือไม่

1
แปลงพิกัดจาก readShapePoly ใน R เป็น long-lat พิกัด
ฉันกำลังพยายามหาเซนทรอยด์บางส่วนของไฟล์รูปร่างสำหรับเทศบาลเดนมาร์กและหลังจากนั้นหาเวลาขับรถระหว่างพวกเขา ผมใช้RของreadShapePolyฟังก์ชั่นจากmaptoolsรวมกับgCentroidฟังก์ชั่นจากrgeosและผลงานทุกอย่าง อย่างไรก็ตามฉันได้รับ spatialpoints เช่น SpatialPoints: x y 1 571860.7 6225016 Coordinate Reference System (CRS) arguments: NA ซึ่งไม่ใช่สิ่งที่ชัดเจนที่ฉันสามารถใช้ใน Google เพื่อคว้าเวลาเดินทาง ฉันกำลังมองหาวิธีการแปลงตัวเลขเหล่านี้เป็นลองจิจูดละติจูด แต่ไม่มีความคิดวิธี เมื่อฉันอ่านข้อมูลโดยใช้readOGRจากrgdalห้องสมุดฉันได้รับพิกัดเดียวกัน แต่มันบอกฉันเกี่ยวกับสิ่งที่ฉันถือว่าเป็นเส้นโครง (แต่พิกัดเหมือนกัน) Slot "proj4string": CRS arguments: +proj=utm +zone=32 +ellps=intl +units=m +no_defs ตัวอย่างที่ทำซ้ำได้: ฉันใส่ข้อมูลสำหรับตัวอย่างที่นี่: https://github.com/sebastianbarfort/shapefiles สิ่งนี้ควรทำให้เกิดปัญหาซ้ำ: library(maptools) library(rgdal) library(rgeos) map = readShapePoly("~/Downloads/shapefiles-master/kommuner1983.shp") centroid = gCentroid(map) centroid

1
การทำสัญลักษณ์โดยใช้ค่า RGB จาก Excel ใน ArcGIS Desktop?
ฉันมีไฟล์ excel พร้อมคอลัมน์แอตทริบิวต์ 2 คอลัมน์ข้อมูล 1 คุณลักษณะ 2 จำนวนสี (RGB) ที่คุณลักษณะปัจจุบันควรเป็นสัญลักษณ์ ไฟล์ไฟล์นี้สามารถเข้าร่วมกับเลเยอร์ได้โดยใช้ฟิลด์ "ข้อมูลคุณสมบัติ" ซึ่งไม่ซ้ำกัน (เข้าร่วมโดยตารางแอตทริบิวต์) ดังนั้นฉันมีคุณลักษณะเป็นคุณลักษณะหมายเลขสีสำหรับทุกรูปหลายเหลี่ยม ฉันจะใช้ข้อมูลนี้เพื่อเป็นสัญลักษณ์ของทุกสถานที่ด้วยสีที่นำเข้าจากแผ่นงาน excel แล้วได้อย่างไร

3
การกำหนดรหัสจุดให้กับแอตทริบิวต์เริ่มต้นและสิ้นสุดของ polyline นั้นหรือไม่
ฉันมีไฟล์สองแบบคือ Point และ Polyline ฉันกำลังพยายามเติมข้อมูลชั้น polyline ของฉันด้วย ID ข้อมูลจุด (systemID) ที่บรรทัดเริ่มต้นที่พวกเขาสิ้นสุด; เช่น. สร้างสองคอลัมน์ (จากและถึง) บรรทัดมีทิศทางการไหลที่กำหนดให้กับพวกเขาแล้ว ฉันใช้เครื่องมือ ArcHydro แต่ Arcpy ก็ใช้ได้เช่นกัน ใน ArcHydro ฉันได้ลองใช้เครื่องมือคุณสมบัติ> สร้างจาก / ถึงโหนดสำหรับบรรทัด แต่มันสร้างค่าสำหรับถึงและจากที่ไม่ได้มาจากข้อมูลจุดของฉัน ทางเลือกอื่น ๆ ของฉันคือใช้ Feature to Vertices และเข้าร่วมผลลัพธ์ในตาราง data point เพื่อรับ systemID แต่แล้วฉันก็ต้องอัพเดทชั้น polyline เช่นกัน ฉันแน่ใจว่ามีวิธีที่ง่ายกว่าในการทำเช่นนี้ หมายเหตุ: ไม่ใช่ทุกบรรทัดที่มีจุดที่จุดยอดค่าว่างนั้นใช้ได้สำหรับพวกเขา

1
วิธีการกรองเลเยอร์ QGIS จากไพ ธ อน?
การใช้คอนโซล Python ของ QGIS 2.4 ฉันพยายามแสดงเฉพาะเซ็ตย่อยของคุณสมบัติเลเยอร์ ฉันจัดการเพื่อรับคุณสมบัติทั้งจากเลเยอร์: featuresIterator = layer.getFeatures(QgsFeatureRequest().setFilterExpression ( u'"field"=4')) และจาก dataProvider: featuresIterator = layer.dataProvider().getFeatures(QgsFeatureRequest().setFilterExpression ( u'"field"=4')) (ฉันไม่แน่ใจที่จะเข้าใจความแตกต่าง) สิ่งที่ฉันต้องการบรรลุในตอนนี้คือการแสดงเฉพาะคุณสมบัติเหล่านี้ ในลักษณะเดียวกับที่ใช้ในการสร้างแบบสอบถามจาก GUI ฉันไม่ทราบว่าจะต้องมีการจัดการที่ระดับการแสดงผล (ซึ่งจะทำให้คุณลักษณะบางอย่างและไม่ใช่คุณสมบัติอื่น ๆ ) หรือในระดับผู้ให้บริการข้อมูล (ซึ่งจะให้มุมมองข้อมูลที่มีเพียงชั้นเท่านั้น เซตย่อยที่ต้องการ) หรือที่อื่น ๆ ในระหว่างนั้น
9 qgis  python 

2
การสร้างแผนที่และบันทึกลงในภาพด้วย GeoTools [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน8 เดือนที่ผ่านมา ฉันต้องการสร้างแผนที่ด้วย GeoTools และบันทึกลงในภาพ (เช่น JPEG) ความต้องการของฉันเรียบง่าย: สร้างแผนที่ของโลกด้วย 2 เลเยอร์: ขอบเขตทางการเมืองและกริด เลเยอร์มาจากแหล่งที่แตกต่างกันและการคาดการณ์ที่แตกต่างกัน ส่งออกแผนที่ไปยังการคาดการณ์ที่แตกต่างกัน (เช่น "EPSG: 5070", "EPSG: 4326", "EPSG: 54012", "EPSG: 54009" ฯลฯ ) คลิปเอาต์พุตไปยัง AOIs อื่น (เช่น -124.79 ถึง -66.9 lon, 24.4 ถึง 49.4 lat) ฉันต้องการทำสิ่งนี้โดยทางโปรแกรมผ่าน API จนถึงตอนนี้ฉันประสบความสำเร็จอย่าง จำกัด ฉันเรียนรู้ที่จะสร้างแผนที่และเอาท์พุทในการฉายภาพต่าง ๆ โดยใช้วิธีนี้: //Step …
9 geotools 

2
QGIS ทำงานกับอนาคอนด้าหรือไม่?
ฉันกำลังพยายามให้ QGIS ทำงานร่วมกับการแจกจ่าย Anaconda ของ Python แต่ฉันไม่ทราบวิธีที่จะทำให้มันใช้งานได้ หนึ่งในคำตอบที่ถูกกล่าวถึงว่า QGIS ไม่ทำงานกับ Anaconda และฉันต้องการตรวจสอบอีกครั้งในกรณีที่มีการปรับปรุงใด ๆ ในช่วงสองสามเดือนที่ผ่านมา หากเป็นไปได้ที่จะทำเช่นนั้นคุณช่วยชี้ทางทรัพยากรที่อธิบายถึงวิธีการทำสิ่งนี้ได้ไหม ฉันใช้ Windows 7 (64 บิต) กับ conda 3.7.1 และ python 2.7.6

1
ข้อมูลเกี่ยวกับสิ่งที่กำลังมาใน ArcGIS 10.3 สำหรับเดสก์ท็อป
ทุกปีฉันต้องทำเรื่องให้นายจ้างของฉันฟังว่าทำไมมันเป็นเรื่องสำคัญที่เราต้องจ่ายค่าบำรุงรักษาต่อไป เพื่อให้การลงทุนนี้เป็นไปอย่างถูกต้องฉันต้องมีความคิดเกี่ยวกับสิ่งที่กำลังจะมาถึงดังนั้นฉันจึงเริ่มทำการค้นหาใหม่ใน ArcGIS 10.3 Desktop และฉันไม่สามารถหาข้อมูลที่เป็นรูปธรรมได้ ไม่มีใครรู้ว่าฉันสามารถหาข้อมูลนี้ได้ที่ไหน? ฉันเข้าใจว่า ArcGIS Pro มาพร้อมกับ 10.3 แต่ในเวลานี้ฉันสนใจเฉพาะฟีเจอร์ใหม่การแก้ไขและความก้าวหน้าใน ArcGIS 10.3 สำหรับเดสก์ท็อปและส่วนขยาย

1
ค่าเซลล์ในคอมโพสิตแรสเตอร์หมายถึงอะไร
เมื่อฉันสร้างแรสเตอร์แบบคอมโพสิตใน QGIS โดยใช้เครื่องมือ GRASS r.composite จากนั้นคลิกที่เซลล์ใดเซลล์หนึ่งฉันจะได้รับค่าเหล่านี้ในแรสเตอร์สีน้ำเงิน / เขียว / แดง / คอมโพสิต: สีน้ำเงิน = 124 เขียว = 124 แดง = 172 คอมโพสิต = 15861 ฉันรู้ว่าสีน้ำเงิน / เขียว / แดงแสดงถึงค่าความสว่างของแถบที่กำหนด 15861 เป็นตัวแทนอะไรและคำนวณอย่างไร?
9 qgis  grass 

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