คำถามติดแท็ก python

Python เป็นภาษาโปรแกรมโอเพ่นซอร์สที่ใช้ในโปรแกรม GIS จำนวนมาก


1
เป็นไปได้ไหมที่จะใช้“ ภาพหน้าจอ” ของคุณสมบัติที่ฉันเลือกใน QGIS โดยใช้ Python?
ฉันกำลังใช้เครื่องมือที่อนุญาตให้ผู้ใช้สร้างโปรไฟล์ของคุณลักษณะ (ในกรณีของฉันห่อเมือง) เป็นไปได้ไหมที่จะจับภาพหน้าจอของคุณสมบัตินี้โดยอัตโนมัติ (แสดงในหน้าต่าง QGIS) และแสดงในโปรไฟล์ PDF? รูปภาพควรแสดงขอบเขตของคุณลักษณะเท่านั้นและอาจเป็นเลเยอร์ WMS ที่อยู่นอกเหนือคุณสมบัตินั้น มีเครื่องมือบางอย่างที่คุณสามารถแนะนำได้หรือไม่?
11 qgis  python 

1
กำลังคัดลอกไฟล์ฐานข้อมูลภูมิศาสตร์บนไซต์ ftp ไปยังโลคัลดิสก์โดยใช้ Python หรือไม่
มีฐานข้อมูลไฟล์อยู่บนไซต์ ftp ที่ฉันต้องการดาวน์โหลดด้วยสคริปต์ Python ตอนนี้ฉันคิดว่าวิธีหนึ่งในการทำเช่นนี้คือการคัดลอกฐานข้อมูล ftp ไปยังฐานข้อมูลทางภูมิศาสตร์บนคอมพิวเตอร์ของฉัน ด้านล่างเป็นสคริปต์ที่ฉันเริ่มต้น ไม่มีใครรู้ว่าฉันสามารถแก้ไขสคริปต์นี้เพื่อให้ได้ ftp gdb ได้หรือไม่ ขอบคุณ ด้านล่างนี้เป็นรหัสสุดท้ายของฉันที่ทำงานตามคำตอบ @om_hennners ที่มีให้ import arcpy, os, sys from arcpy import env arcpy.env.overwriteOutput = True from ftplib import FTP directory = "/group/geodb" #location of gdb on ftp folder = "D:\\temp\\" out_gdb = "data.gdb" out_path = folder + os.sep …

1
ฉันจะเพิ่มปุ่มลงในแถบเครื่องมือ QGIS หรือสร้างแถบเครื่องมือของตัวเองได้อย่างไร
ฉันต้องการสร้างปุ่มและเพิ่มลงในแถบเครื่องมือ QGIS หรือสร้างแถบเครื่องมือของตัวเองและเพิ่มปุ่มที่นี่ ควรเริ่มต้นปลั๊กอินเมื่อผู้ใช้คลิกปุ่ม
11 qgis  python  plugins  pyqgis 

5
วิธีการแก้ไขกระบวนการโมเสคขนาดใหญ่ที่ล้มเหลว?
ฉันต้องต่อภาพขนาด 550Gb เข้าด้วยกันและซอฟต์แวร์ที่ฉันพยายามจะล้มเหลว พื้นที่ถูกแบ่งออกเป็นโซนเพื่อให้มีขนาดเล็กที่สุดมีประมาณ 200 แผ่น ฉันใช้ ERDAS เวอร์ชันล่าสุด (Imagine and Mapper), ArcINFO และ Global Mapper บน 3.30 กิกะเฮิร์ตซ์ Intel Xeon E31245, DELL, 16GB RAM, 64-bit Win 7 Professional Mullti-core (4 total), Hyper-threaded (8 total) เครื่องจักร My C มี 700GB ฟรีและ D มี 1.5TB ฉันกำลังมองหาการใช้ Grass (ไม่เคยมีมาก่อน) แต่ i.image.mosaic ดูเหมือนว่าจะจัดการไฟล์ …

2
ข้อมูลเมตา - สร้างอัตโนมัติโดยใช้ python
เรามีพื้นที่เก็บข้อมูลขนาดใหญ่ (10,000 บวก) ของข้อมูลเชิงพื้นที่ (shp / gdb / แท็กเวกเตอร์และ ecw / tif rasters และยังมี las, xyz และข้อมูล DEM) ซึ่งบางส่วนมีเรคคอร์ดข้อมูลเมตาใน xml โดยใช้ตัวแก้ไขข้อมูลเมตาแบบ anzlic ฉันต้องการตรวจสอบว่าชุดข้อมูลอวกาศแต่ละชุดมีเร็กคอร์ด xml ที่เกี่ยวข้องหรือไม่และตรวจสอบโปรเจคชันขอบเขตปริภูมิแหล่งที่มาและขนาดเทียบกับไฟล์อวกาศที่เกี่ยวข้อง ฉันได้สร้างสคริปต์แบบ arcpy เพื่อดึงข้อมูลนี้จากรูปแบบที่อ่านได้ของ ESRI แต่ไม่แน่ใจเกี่ยวกับวิธีจัดการกับไฟล์แท็บและที่สำคัญกว่านั้นคือวิธีตรวจสอบกับระเบียน xml แบบอิง anzlic metaeditor ดังนั้นถ้าเรามี citypoints.shp / .tab ดังนั้นเราควรมี citypoints_metadata.shp / .tab.xml เป็นเรคคอร์ดข้อมูลเมตา - นี่แยกจาก citypoints.shp.xml ซึ่งซอฟต์แวร์บางตัวสร้างขึ้นอัตโนมัติ คำถามฟอรัมอื่นที่คล้ายกันคือ ANZLIC Metadata …

2
GeoTIFF ที่สร้างใน GDAL ไม่มีช่วงต่ำสุด / สูงสุดเมื่อโหลดใน Arc / QGIS
ฉันสร้างแรสเตอร์จุดลอยตัวใน GDAL ด้วยไดรเวอร์ GeoTIFF เมื่อฉันโหลดรูปภาพที่เป็นผลลัพธ์ลงใน QGIS หรือ Arc สัญลักษณ์เริ่มต้นจะวางที่ -3.40282e38 และสูงสุดเป็น 3.40282e38 ดังนั้นแรสเตอร์จะมีลักษณะสีเทา มีวิธีที่ฉันสามารถเขียนช่วงจริงลงใน GeoTIFF โดยตรงหรือไม่เมื่อโหลดเข้าไปในโปรแกรม GIS มันจะทำการขยายฮิสโตแกรมโดยอัตโนมัติหรือไม่? ฉันพยายามสร้างฮิสโตแกรมเริ่มต้นเช่นนี้: rasterMin, rasterMax = raster.GetRasterBand(1).ComputeRasterMinMax() raster.GetRasterBand(1).SetDefaultHistogram(rasterMin, rasterMax, 255) แต่ฉันได้รับข้อผิดพลาดที่ดูเหมือนว่าเป็นปัญหาที่มีผลผูกพัน: File "/usr/lib/python2.6/dist-packages/osgeo/gdal.py", line 846, in SetDefaultHistogram return _gdal.Band_SetDefaultHistogram(self, *args) TypeError: not a sequence ข้อเสนอแนะใด ๆ เกี่ยวกับสิ่งที่ฉันสามารถทำได้หรือถ้าฉันทำผิดพลาด?

2
วิธีเพิ่มแรสเตอร์ขนาดแตกต่างกันใน GDAL ดังนั้นผลลัพธ์จะอยู่ในภูมิภาคที่ตัดกันเท่านั้น
ฉันกำลังเขียนวิธี Python ที่เพิ่มแรสเตอร์สองตัวและสร้างเอาต์พุตแรสเตอร์เดี่ยว ด้วยเหตุผลที่อยู่นอกเหนือการควบคุมของฉันขอบเขตของอินพุตแรสเตอร์นั้นแตกต่างกัน แต่มันซ้อนทับกัน เป็นไปได้หรือไม่ที่จะทำงานเฉพาะในพิกเซลแรสเตอร์อินพุตที่ซ้อนกันใน 2 พื้นที่ที่ซ้อนทับกันเพื่อสร้าง ouput ของฉันเพื่อให้ขอบเขตแรสเตอร์เอาต์พุตเป็นเพียงพื้นที่ตัดกันของอินพุตทั้งสองเท่านั้น
11 python  raster  gdal 

3
การดาวน์โหลดและการประมวลผลไฟล์แรสเตอร์ใน Python? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับระบบแลกเปลี่ยนข้อมูลทางภูมิศาสตร์ของ Stack ปิดให้บริการใน3 ปีที่ผ่านมา ฉันค่อนข้างใหม่สำหรับงูใหญ่และค้นหาคำแนะนำสำหรับคำถามที่อาจฟังดูไม่สำคัญสำหรับหลาย ๆ คน มีวิธีใช้ 'wget' ในสคริปต์ python เพื่อดาวน์โหลดไฟล์แรสเตอร์จากเซิร์ฟเวอร์และประมวลผลในสคริปต์เดียวกันหรือไม่
11 python 

2
ฉันจะจัดอันดับถนนสำหรับการขับขี่ที่สวยงามได้อย่างไร
GIS มือใหม่ที่นี่ ฉันทำงานเกี่ยวกับโปรเจ็กต์ส่วนตัวเพื่อจัดอันดับถนนว่ารถคันนั้นดีแค่ไหนในการขับขี่มอเตอร์ไซค์ ฉันเขียนโปรแกรม Python เพื่อทำงานผ่านข้อมูลถนนในชุดข้อมูล TIGER (PostGIS) และใช้การวัดจำนวนเล็กน้อย: ความแปรปรวนของถนน (ความบิด) ความแปรปรวนของระดับความสูงของถนน ถนนผ่านไปตามแหล่งน้ำหรือไม่ ถนนผ่านสวนสาธารณะหรือไม่ ผลลัพธ์ของการใช้ตัวชี้วัดเป็นการเริ่มต้นที่ดี แต่ก็ยังห่างไกลจากความสมบูรณ์แบบ ดังนั้นฉันจึงพยายามตัดสินใจเลือกการวัดใหม่ ๆ ตรวจสอบพื้นที่รอบถนน การขี่ไปตามเนินเขานั้นดีกว่าป่าซึ่งดีกว่าสวนอุตสาหกรรม สภาพถนน (ปูหรือไม่ปู) จำนวนสัญญาณหยุดพบไฟถนน ใช้การวิเคราะห์มุมมองเพื่อตรวจสอบว่ามีน้ำอยู่บนถนนหรือไม่ ระบุมุมมองของภูเขาและใช้การวิเคราะห์มุมมองเพื่อดูว่าสามารถมองเห็นภูเขาจากถนนได้หรือไม่ (คิดว่า Great Smokey Mountains) ใช้ข้อมูลการจราจรในอดีต ฉันต้องการคำแนะนำจากผู้เชี่ยวชาญ GIS ทำเสียงเหล่านี้เป็นไปได้หรือแม้กระทั่งทำให้รู้สึก? คุณลองนึกถึงสิ่งอื่นใดที่ฉันควรลองบ้าง ที่สำคัญที่สุดฉันจะหาข้อมูลสำหรับแนวคิดที่ถูกต้องได้ที่ไหน
11 python  data  analysis 

1
ออกจากสคริปต์ด้วย Python
ฉันมีสคริปต์ Python สำหรับ ArcGIS ที่ฉันใช้งานอยู่และฉันต้องการให้สคริปต์หยุดทำงานหากไม่มีข้อมูลที่จำเป็นอยู่ ฉันลอง sys.exit () โดยตรง แต่นั่นจะให้ข้อยกเว้นใน ArcMap ที่ฉันต้องการหลีกเลี่ยง ฉันพบกระทู้นี้ที่แนะนำให้ใช้บล็อกลองดังนั้นฉันทำฟังก์ชั่นนี้: def quit_script(message): log_msg(message) # already defined; writes a message to a file if log_loc: output.close() # close the file used with log_msg() try: sys.exit() except SystemExit: pass น่าเสียดายที่มันไม่ได้ผลเช่นกัน มันไม่ได้ทำให้เกิดข้อผิดพลาดบน ArcMap อีกต่อไป แต่ก็ไม่ได้เช่นกันเลิกกัน ตอนนี้ฉันมีรหัสจำนวนมากของฉันในคำสั่ง if / else แต่มันก็น่าเกลียด …

2
การวัดระยะทางในทรงกลม Mercator กับ Zoned UTM
ฉันได้รับคะแนนเป็น WGS84 lat / long และฉันต้องการวัดระยะทาง "เล็ก" (น้อยกว่า 5km) ระหว่างพวกเขา ฉันสามารถใช้สูตร haversine ได้จากhttp://www.movable-type.co.uk/scripts/latlong.htmlและใช้งานได้ดีมาก ฉันต้องการใช้ห้องสมุด Python Shapely เพื่อให้ฉันสามารถดำเนินการได้มากกว่าระยะทางและเนื่องจากในระดับที่ฉันทำงานด้วยพื้นราบจึงเป็นการประมาณที่ดีพอ ในการคาดคะเนพิกัดทางภูมิศาสตร์ให้กับ coord แบบคาร์ทีเซียนอย่างน่าเชื่อถือฉันใช้ Python proj4แต่ดูเหมือนจะได้รับข้อผิดพลาดที่ใหญ่กว่าที่ฉันต้องการ ถ้าฉันใช้โซน UTM ในพื้นที่ฉันจะได้รับความแตกต่างระหว่างแฮเวอรีนสักสองสามเมตรซึ่งใช้ได้ แต่ฉันไม่ต้องการที่จะทำงานในโซน UTM (คะแนนอาจเป็นทั่วโลก) ดังนั้นฉันจึงลองกับ "spherical Mercator" แต่ตอนนี้ความแตกต่างระหว่าง haversine และระยะทางที่คาดการณ์นั้นดีกว่า 100% มันเหมาะกับ Mercator ทรงกลมจริงๆเหรอ? ทั้งหมดที่ฉันต้องการคือการฉายคาร์ทีเซียนที่สามารถใช้งานได้สำหรับสองจุดภายในระยะ 5 กม. จากกันทุกที่ในโลก from shapely.geometry import Point from pyproj import Proj …

2
กรองตามขอบเขตใน geopandas หรือไม่
ฉันมี dataframe geopandas ใน EPSG: 4326 และฉันจะสร้าง dataframe ขึ้นใหม่ซึ่งประกอบด้วยแถวทั้งหมดที่อยู่ในกล่องที่ จำกัด ก่อนอื่นฉันจะได้รับ bounding box ที่ฉันสนใจ (ซึ่งจริงๆแล้วคือ bounding box ของ dataframe อื่น): print df_sussex.total_bounds [ -1.57239292 50.57467674 0.14528384 51.27465152] จากนั้นฉันสร้าง dataframe ที่ประกอบด้วยกล่อง bounding เท่านั้น: pts = gpd.GeoDataFrame(df_sussex.total_bounds) และในที่สุดฉันก็ลองเอาฟีเจอร์ทั้งหมดที่ตัดกับกล่องขอบนั้น: sac_sussex = gpd.overlay(pts, df_sac, how='intersection') AttributeError: No geometry data set yet (expected in column …
11 python  geopandas 

1
Geopandas Line Polygon Intersection
ฉันกำลังพยายามหาจุดที่หลายเส้นตัดกันรูปหลายเหลี่ยมสำหรับตำแหน่งทางภูมิศาสตร์ที่แตกต่างกันสองแห่ง: from shapely.geometry import Polygon, LineString import geopandas as gpd polygon = Polygon([(0, 0), (1, 0), (1, 1), (0, 1), (0, 0)]) line1 = LineString([(0.5, 0.5), (0.7, 0.7)]) line2 = LineString([(0.9, 0.9), (0.2, 0.6)]) poly_gdf = gpd.GeoDataFrame(geometry=[polygon]) line_gdf = gpd.GeoDataFrame(geometry=[line1, line2]) นี่คือลักษณะทางภูมิศาสตร์ด้านบนที่มีลักษณะ (หนึ่งมีรูปหลายเหลี่ยมและอีกสองบรรทัดมี) ดูเหมือนว่าฉันทั้งสองเส้นตัดกันรูปหลายเหลี่ยม: อย่างไรก็ตามเอาต์พุตตัดกันนั้นสับสนมาก: print(line_gdf.intersects(poly_gdf)) 0 จริง 1 เท็จ …

3
ดึงข้อมูลจาก NetCDF โดยใช้รูปหลายเหลี่ยม shapefile ใน Python [ซ้ำกัน]
คำถามนี้มีคำตอบอยู่ที่นี่แล้ว : วิธีการปิดบังข้อมูลอนุกรมเวลาของ NetCDF จาก Shapefile ใน Python (1 คำตอบ) ปิดให้บริการในวันที่ 20 ที่ผ่านมา ฉันต้องการเซ็ตย่อยข้อมูลจาก NetCDF โดยใช้ shapefile เฉพาะ ข้อมูลคืออุณหภูมิพื้นผิวทะเลและสีของมหาสมุทรที่ความละเอียด 1/4 องศา ฉันมีรูปหลายเหลี่ยม 4 รูปที่อธิบายถึงสหรัฐอเมริกา ไหล่ทวีปของระบบนิเวศทางทะเลขนาดใหญ่ในภาคตะวันออกเฉียงเหนือและเป็นส่วนประกอบย่อยที่ฉันต้องใช้เพื่อดึงข้อมูล ฉันทำงานกับไฟล์คอมโพสิตทุกเดือนตั้งแต่ปีพ. ศ. ไฟล์ได้รับการเซทไปยังกริดพื้นที่ทำงานโดยประมาณของ [35, 45, -80, -60] แล้ว ก่อนหน้านี้เราแปลงไฟล์ข้อมูล HDF5 เป็น rasters ใน R และประมวลผลด้วยวิธีนี้ แต่วิธีนี้ไม่มีประสิทธิภาพจริงๆและฉันมั่นใจว่ามีวิธีแก้ปัญหาที่ดีกว่าใน Python โดยใช้ไฟล์ NetCDF ปัจจุบัน ป่านนี้ฉันได้ใช้ GDAL และ Fiona เพื่ออ่านใน …

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