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

Geospatial Data Abstraction Library (GDAL) การปรับภาพโมเสคการฉายซ้ำและยูทิลิตี้การแปรปรวน

5
วิธีการปฏิเสธ raster จาก 0 360 ถึง -180 180 ด้วยการตัด 180 meridian
ฉันมีภาพแรสเตอร์เชิงพิกัดที่มีระบบพิกัดที่มีความยาวตั้งแต่ 0 ถึง 360 จุดศูนย์กลางแนวนอนของภาพคือ 180 longtitude ดูภาพด้านล่าง: ฉันต้องการแปลงเป็น EPSG: 4326 SRS ด้วยช่วงความยาว -180 180 และฉันต้องการให้ศูนย์กลางของภาพอยู่ที่ Greenwich meridian (0) ฉันคิดว่า srs นี้ใช้กันอย่างแพร่หลายมาก ฉันหวังว่าผลลัพธ์จะเป็นดังนี้: ดังนั้นฉันใช้คำสั่ง gdalwarp เพื่อปฏิเสธ: gdalwarp -s_srs '+proj=latlong +datum=WGS84 +pm=180dW' -t_srs EPSG:4326 test_col.tif test_4326.tif แต่ฉันจะได้รับความยุ่งยากที่มีขนาดใหญ่ขึ้น (พิกเซลมากขึ้น) และ EPSG: 4326 เมทาดาทา ภาพมีลักษณะเหมือนกันกับภาพแรก แต่ฉันคาดหวังว่ามันจะแลกเปลี่ยนซีกโลก คำถามคือ - ฉันจะถ่ายภาพให้เป็น -180 180 EPSG ได้อย่างไร: …

3
gdalwarp cutline พร้อมกับ shapefile
ฉันกำลังพยายามคลิป Raster ของฉันตามเรขาคณิต shapefile ฉันใช้รหัสต่อไปนี้ gdalwarp -cutline INPUT.shp INPUT.tif OUTPUT.tif แต่มันส่งผลให้สีดำอยู่นอกขอบเขตของรูปร่างไฟล์ ฉันให้ตัวอย่างที่นี่ ในภาพแรกที่ฉันต้องการคลิป ภาพที่สองคือแรสเตอร์ที่เป็นผลลัพธ์ แต่ฉันต้องการแรสเตอร์ที่ 3 ที่ด้านนอกของรูปทรงเรขาคณิตจะเป็นโมฆะ ภาพที่ 1: INPUT Raster ภาพที่ 2: OUTPUT Raster รูปที่ 3: ฉันต้องการได้ผลลัพธ์เช่นนี้
26 gdal  gdalwarp 

1
การจำลองผลลัพธ์ของ gdalwarp โดยใช้การผูก gdal Python
ฉันพยายามที่จะใหม่ / โครงการ resample กับ GDAL ผูกหลาม gdalwarpแต่กำลังได้รับผลลัพธ์ที่แตกต่างกันเล็กน้อยเมื่อเทียบกับผู้ที่มาจากยูทิลิตี้บรรทัดคำสั่ง ดูการอัปเดตด้านล่างสำหรับตัวอย่างที่สั้นกว่า สคริปต์นี้แสดงให้เห็นถึงวิธีการหลาม: from osgeo import osr, gdal import numpy def reproject_point(point, srs, target_srs): ''' Reproject a pair of coordinates from one spatial reference system to another. ''' transform = osr.CoordinateTransformation(srs, target_srs) (x, y, z) = transform.TransformPoint(*point) return (x, y) def reproject_bbox(top_left, bottom_right, …
20 python  gdal  gdalwarp  numpy 

1
ขนาดไฟล์เงินเฟ้อปกติด้วย gdalwarp?
หลังจากใช้gdalwarpในการฉายภาพและจัดเรียงตามตาราง (ผ่าน-tap) จำนวนของ rasters ฉันสังเกตเห็นว่า rasters ที่ส่งออกมีขนาดใหญ่กว่า rasters ดั้งเดิมอย่างมีนัยสำคัญ การค้นหาเว็บอย่างละเอียดพอสมควรทำให้เกิดปัญหา Trac นี้ : Frank Warmerdam อธิบายเหตุผล: "ในการตรวจสอบอย่างละเอียดความแตกต่างในไฟล์ที่เป็นปัญหาคือเพราะ gdal_translate ใช้ส่วนต่อประสาน TIFFWriteScanline () เพื่อเขียนไฟล์เอาต์พุตจากภายใน GTiffDataset :: CreateCopy? () และนี่เขียนเฉพาะแถบ 'สุดท้าย' สุดท้ายของ ไฟล์ตามที่จำเป็นเพื่อให้พื้นที่ภาพสมบูรณ์แต่ gdalwarp ต้องผ่านส่วนต่อประสาน blockio ซึ่งเขียนแถบสุดท้ายที่สมบูรณ์แม้ในส่วนที่หลุดออกจากส่วนท้ายของไฟล์ " อย่างไรก็ตามปัญหา Trac นี้มีอายุ ~ 7 ปีและฉันรู้ว่ามีการเปลี่ยนแปลงบางอย่างเกี่ยวกับสาธารณูปโภคของ GDAL รวมถึงสิ่งที่gdalwarpได้ทำมาตั้งแต่นั้น ฉันต้องการทราบว่าเหตุผลดังกล่าวยังคงมีอยู่หรือไม่และถ้าขนาดไฟล์ที่ฉันเห็นเป็น "ปกติ" คำว่า "ปกติ" ที่นี่อาจถูกนำมาใช้เพื่อหมายถึงไม่แปลกใจหรือคาดหวังแต่ที่สำคัญกว่า: มีสิ่งใดที่สามารถทำได้เพื่อลดผลกระทบเช่นลดขนาดไฟล์แรสเตอร์เอาท์พุท? ด้านล่างเป็นตารางอัตราเงินเฟ้อขนาดไฟล์ที่ฉันพบ …

3
ความแตกต่างระหว่าง gdalwarp และ gdal_merge สำหรับโมเสกคืออะไร
ฉันต้องการรวมประมาณ 20 tiff dem ต่อแต่ละประมาณ 100MB และฉันใช้ gdalwarp (ฉันรู้เกี่ยวกับตัวเลือกไฟล์เสมือน): gdalwarp $(list_of_tiffs) merged.tiff อย่างไรก็ตามคำสั่งนี้ใช้เวลานานมากและหลังจากผ่านไป 15 นาทีก็มีการประมวลผลภาพที่ 5 จากชุด ฉันยุติมัน จากนั้นฉันก็พบว่าสคริปต์ gdal_merge.py ยังสามารถใช้สำหรับโมเสกได้เช่นกันและลองใช้งาน: gdal_merge.py $(list_of_tiffs) ซึ่งเสร็จสิ้นภายในเวลาไม่เกิน 3 นาที อย่างที่ฉันคาดไว้ว่าทั้งสองคำสั่งจะให้ผลลัพธ์เดียวกันฉันสงสัยว่าความแตกต่างระหว่างทั้งสองเป็นอย่างไรทำไม gdalwarp ใช้เวลานานมากถ้าผลลัพธ์เหมือนกัน

3
Gdal: การตัดแรสเตอร์ด้วยแรสเตอร์อื่น
ฉันกำลังเขียนยูทิลิตี้ง่าย ๆ ในการครอบตัดไฟล์แรสเตอร์ geotiff หลายแบนด์ไปยังพื้นที่ (เล็กกว่า) เดียวกัน เมื่อใช้ gdalwarp ฉันสามารถครอบตัดไฟล์ได้อย่างง่ายดายโดยใช้รูปทรงการตัดรูปหลายเหลี่ยมเดียว: gdalwarp -cutline clipper.shp -crop_to_cutline input.tif output.tif อย่างไรก็ตามพื้นที่จริงที่ฉันต้องการคลิปจะถูกกำหนดไว้ในขั้นต้นเสมอโดยไฟล์แรสเตอร์ geotiff อื่นไม่ใช่ไฟล์รูปร่าง มันจะดีถ้าฉันสามารถใช้ขอบเขตของแรสเตอร์นั้นเป็นไฟล์รูปวาด แต่ฉันไม่แน่ใจว่าจะทำอย่างไร น่าแปลกใจที่สิ่งต่อไปนี้ใช้งานไม่ได้ (มันไม่ได้ทำให้เกิดข้อผิดพลาด แต่ก็ไม่ได้สร้างอะไร): gdalwarp -cutline clipper.tif-crop_to_cutline input.tif output.tif ดังนั้นคำถามของฉันคือมีวิธีให้แรสเตอร์gdalwarp -cutline? อีกวิธีหนึ่งมีฟังก์ชัน gdal อื่นที่สามารถคลิปแรสเตอร์โดยใช้แรสเตอร์อื่นได้หรือไม่ หากไม่มีสิ่งเหล่านี้เป็นไปได้มีวิธีที่ง่ายมากในการสร้างรูปร่างไฟล์ที่มีรูปหลายเหลี่ยมเดียวที่กำหนดโดยขอบเขตของแรสเตอร์หรือไม่? รหัสนี้จะถูกห่อหุ้มด้วยสคริปต์ไพ ธ อนที่กว้างขวางกว่าดังนั้นฉันสามารถใช้ยูทิลิตี้บรรทัดคำสั่ง gdal หรือการผูกไพ ธ อนใด ๆ สำหรับ gdal ในฐานะที่เป็นบันทึกด้านข้างฉันรู้ว่าฉันสามารถสร้างรูปทรงการตัดได้อย่างง่ายดายซึ่งครอบคลุมขอบเขตของแรสเตอร์ของฉันใน QGIS ฉันอาจเลิกทำหากไม่พบวิธีแก้ปัญหาที่ตรงไปตรงมา แต่ท้ายที่สุดฉันจะเลิกใช้ยูทิลิตีนี้ในหลายสิบถ้าไม่ใช่พื้นที่นับร้อยซึ่งเป็นส่วนหนึ่งของการวิเคราะห์อัตโนมัติขนาดใหญ่ดังนั้นฉันจึงไม่อยากจะเบื่อ ขั้นตอนแบบแมนนวลแม้ว่าจะง่ายมาก
14 python  raster  gdal  clip  gdalwarp 

3
จะแก้ไขการเรียกใช้คอนโซล GDAL / OGR ใน QGIS 3.0 ได้อย่างไร
ใน QGIS 2.XX เครื่องมือแถบเมนูแบบหล่นลงมีกล่องโทรที่สามารถแก้ไขได้ที่ด้านล่างซึ่งคำสั่งที่ไม่พร้อมใช้งานใน gui สามารถป้อนด้วยตนเอง (โดยคลิกที่ปุ่มดินสอ) ใน 3.0 เครื่องมือแถบเมนูเหมือนกับเครื่องมือ GDAL ที่พบในกล่องเครื่องมือการประมวลผลซึ่งมีเหตุผลมากกว่า แต่ตอนนี้ฉันไม่เห็นวิธีการเพิ่มคำสั่งง่ายๆในการทำงานของเครื่องมือ ตัวอย่างที่ฉันแนบเป็นwarp (reproject)เครื่องมือฉันต้องการเพิ่มคำสั่ง " -wo CUTLINE_ALL_TOUCHED=TRUE" ฉันจะทำอย่างไร
13 gdalwarp  qgis-3 

1
PyQGIS บันทึกแรสเตอร์เป็นรูปภาพที่แสดงผลแล้วใช้เครื่องมือ GDAL ในนั้น
ฉันได้พยายามที่จะใช้รหัสจากQGIS บันทึก Raster เป็นภาพการแสดงผล iเป็นเลเยอร์แรสเตอร์: pipelayer = i pipeextent = pipelayer.extent() pipewidth, pipeheight = (pipelayer.width(), pipelayer.height()) piperenderer = pipelayer.renderer() pipeprovider = pipelayer.dataProvider() crs = pipelayer.crs().toWkt() pipe = QgsRasterPipe() pipe.set(pipeprovider.clone()) pipe.set(piperenderer.clone()) pipedFile = os.path.join(tempfile.gettempdir(), safeLayerName + '_pipe.tif') print pipedFile file_writer = QgsRasterFileWriter(pipedFile) file_writer.writeRaster(pipe, pipewidth, pipeheight, pipeextent, pipelayer.crs()) in_raster = pipedFile prov_raster …

1
ฉันจะรักษาเลเยอร์ที่จางหายไปเมื่อทำการโมเสคภาพด้วย gdal ได้หรือไม่?
ฉันกำลังทำการโมเสกภาพบางภาพด้วย gdal และต้องการปรับปรุงผลลัพธ์ขั้นสุดท้ายโดยใช้เลเยอร์อัลฟาที่ค่อยเป็นค่อยไป / ค่อยเป็นค่อยไปไปที่ขอบของภาพแต่ละภาพเพื่อลบขอบคมที่อยู่ตรงกลางของโมเสก ปัญหาที่ฉันมีอยู่ก็คือส่วนของภาพแต่ละภาพที่มีเลเยอร์ทีละส่วนกำลังปิดบังภาพที่อยู่ด้านล่างในโมเสกสุดท้ายแทนที่จะเป็นกึ่งโปร่งใสดังที่แสดงด้านล่าง: เป็นการดีที่ฉันต้องการภาพหนึ่งภาพที่จะจางหายไปในครั้งต่อไปโดยใช้ความโปร่งใสแบบค่อยเป็นค่อยไป ขั้นตอนที่ฉันดำเนินการเพื่อสร้างโมเสกมีดังนี้: เพิ่ม gcps ให้กับภาพต้นฉบับเพื่อระบุตำแหน่งทางภูมิศาสตร์และปรับทิศทางให้เหมาะสม (ทำกับแต่ละภาพตามลำดับ): gdal_translate -of GTiff -a_srs EPSG:4326 -a_srs EPSG:4326 -gcp 1616 0 -88.2728612066 40.5175787437 -gcp <etc., etc.> <original_image_with_gradual_alpha>.tif <image_with_gradual_alpha_and_gcps>.tif วางภาพลงใน geotiffs ใหม่ที่วางอย่างเหมาะสม (ทำตามแต่ละภาพ): gdalwarp -s_srs EPSG:4326 -t_srs EPSG:4326 -dstnodata 0 <image_with_gradual_alpha_and_gcps>.tif <warped_geotiff_with_alpha>.tif รวมภาพที่บิดเบี้ยวทั้งหมดเข้าด้วยกันเป็นภาพโมเสคเดียว: gdalbuildvrt -srcnodata 0 mosaic.vrt <warped_geotiff_with_alpha_root>*.tif gdal_translate mosaic.vrt …

4
วิธีหยุด gdalwarp ในการสร้างเอาต์พุตที่ครอบคลุมทั่วโลกใกล้กับ dateline ได้อย่างไร
ฉันใช้ gdalwarp เพื่อจัดการกระเบื้อง SRTM ใกล้กับ dateline (เช่น 180 °หรือที่เรียกว่า antimeridian) ไทล์ SRTM มีการทับซ้อนกันเล็กน้อย (1/2 พิกเซล) เล็กน้อยกับเมริเดียน คุณสามารถดูได้โดยใช้ gdalinfo: gdalinfo S16W180.hgt Driver: SRTMHGT/SRTMHGT File Format Files: S16W180.hgt Size is 1201, 1201 [...] Lower Left (-180.0004167, -16.0004167) (180d 0' 1.50"W, 16d 0' 1.50"S) Upper Right (-178.9995833, -14.9995833) (178d59'58.50"W, 14d59'58.50"S) [...] ดังนั้นแหล่งขยายช่วงวันที่ด้วยจำนวนเล็กน้อย สิ่งนี้ทำให้เกิดปัญหากับ …
11 srtm  gdalwarp 

1
ฉันจะแก้ไขข้อผิดพลาด Gdalwarp ได้อย่างไร 'มีหลายจุดที่ไม่สามารถแปลง' สำหรับการแมป Geostationary ไปยัง Lambert conformal ได้อย่างไร
ฉันกำลังพยายามแมปจาก Geostationary ไปยัง Lambert โดยใช้ gdalwarp ข้อมูลอินพุตของฉันอยู่ใน netcdf และอยู่ในพิกัดทางภูมิศาสตร์ (องศา) และฉันต้องการส่งออกข้อมูลที่แมปไปยัง netcdf ฉันได้สร้างไฟล์ vrt ที่สอดคล้องกันสำหรับการป้อนข้อมูล netcdf Gdalwarp จะส่งออกไฟล์ netcdf แต่ข้อมูลที่ส่งออกเป็นศูนย์ทั้งหมดและฉันได้รับข้อผิดพลาดต่อไปนี้: Creating output file that is 5120P x 5120L. Processing input file netcdf.vrt. ERROR 1: Too many points (441 out of 441) failed to transform, unable to compute output bounds. Warning …

1
การอ้างอิงทางภูมิศาสตร์โดยใช้ GDAL และ Python?
ฉันต้องการที่จะ georeference แรสเตอร์ที่ใช้และpython GDALแนวทางปัจจุบันของฉันคือการโทรgdal_translateและgdalwarpใช้os.systemและรายการจุดควบคุมภาคพื้นดินที่น่าเกลียด ฉันต้องการวิธีการทำสิ่งนี้ภายในpythonจริงๆ นี่เป็นกระบวนการปัจจุบันที่ฉันใช้: import os os.system('gdal_translate -of GTiff -gcp 1251.92 414.538 -7.9164e+06 5.21094e+06 -gcp 865.827 107.699 -7.91651e+06 5.21104e+06 "inraster.tif" "outraster1.tif"') os.system('gdalwarp -r bilinear -tps -co COMPRESS=NONE "outraster2.tif" "outraster3.tif"') มีก่อนหน้านี้คือคำถามและคำตอบจาก 2012 ซึ่งระบุว่าสามารถเข้าถึงได้หลังจากการนำเข้าgdal_translate gdalฉันไม่แน่ใจว่าล้าสมัยหรือว่าผิด แต่เมื่อฉันรันfrom osgeo import gdalฉันไม่เห็นgdal.gdal_translateตัวเลือก ฉันไม่รู้ว่ามันมีอยู่หรือไม่ แต่ฉันจะรักถ้าฉันสามารถแปลและปฏิเสธ rasters ในแบบ pythonic ตัวอย่างเช่น: # translate gcp_points = [(1251.92, …

2
วิธีการใช้ gdal2tiles บนภาพ TIFF แบบกำหนดเองที่ได้รับจากผู้ให้บริการเพื่อสร้างไทล์
ฉันพยายามอย่างหนักในการสร้างไทล์สำหรับภาพความละเอียดสูงที่เรามี ภาพปัจจุบันที่เรามีคือภาพที่มีขนาดใหญ่มาก (+ 20GB) ซึ่งบันทึกเป็นไฟล์ GeoTiff ฉันต้องการสร้างไทล์โดยใช้ยูทิลิตีบรรทัดคำสั่ง gdal2tiles จากนั้นเปิดและดูใน Cesium โดยใช้ผู้ให้บริการภาพ TMS เพื่อจัดเรียงไทล์ ใช้ gdalinfo นี่คือรายละเอียดบางส่วนของภาพ: Driver: GTiff/GeoTIFF Files: image.tif Size is 52250, 56119 Coordinate System is: PROJCS["WGS 84 / UTM zone 35S", GEOGCS["WGS 84", DATUM["WGS_1984", SPHEROID["WGS 84",6378137,298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich",0], UNIT["degree",0.0174532925199433], AUTHORITY["EPSG","4326"]], PROJECTION["Transverse_Mercator"], PARAMETER["latitude_of_origin",0], PARAMETER["central_meridian",27], PARAMETER["scale_factor",0.9996], PARAMETER["false_easting",500000], PARAMETER["false_northing",10000000], UNIT["meters",1], …

1
ความแตกต่างระหว่าง gdalwarp และ projectRaster
ฉันพยายามฉายภาพแรสเตอร์ ใน R มีprojectRaster()ฟังก์ชั่นสำหรับสิ่งนี้ (ด้านล่างเป็นตัวอย่างที่ทำซ้ำได้อย่างสมบูรณ์): # example Raster require(raster) r <- raster(xmn=-110, xmx=-90, ymn=40, ymx=60, ncols=40, nrows=40) r <- setValues(r, 1:ncell(r)) projection(r) # project to newproj <- "+init=epsg:4714" # using raster package to reproject pr1 <- projectRaster(r, crs = CRS(newproj), method = 'bilinear') ซึ่งใช้งานได้ดี อย่างไรก็ตามมันค่อนข้างช้า เพื่อเพิ่มความเร็วฉันแม้ว่าจะใช้gdalwarpแทน (ด้วย SSD ค่าใช้จ่ายในการอ่านและเขียนจาก / …

3
สำหรับการวนลูปโฟลเดอร์ไปยังชุดคลิปแรสเตอร์โดยรูปหลายเหลี่ยมโดยใช้ python และ QGIS?
ฉันใช้ python และ QGIS 2.0 ฉันพยายามที่จะคลิป rasters ในโฟลเดอร์ด้วยคุณสมบัติรูปหลายเหลี่ยมเดียว มันเป็นครั้งแรกที่ฉันใช้ (สมมุติ) "PyQGIS" ฉันเคยชินกับการโค้งก่อน อย่างไรก็ตามฉันไม่ได้รับสคริปต์ง่ายๆของฉันทำงานข้อเสนอแนะใด ๆ จะได้รับการชื่นชมมาก! import qgis.core, qgis,utils QgsApplication.setPrefixPath("C:/OSGeo4W64/apps/qgis", True) QgsApplication.initQgis() CLIP= "C:/Users/unim/Documents/Umberto/Universita/PhD/Guglielmin/Permafrost/Alta_Valtellina/Landsat_ita/study_area_foscagno.shp" INPUT_FOLDER="C:/Users/unimi/Documents/Umberto/Universita/PhD/Guglielmin/Permafrost/Alta_Valtellina/Landsat_ita/LE71930282000259EDC00" OUTPUT= "C:/Users/unim/Documents/Umberto/Universita/PhD/Guglielmin/Permafrost/Alta_Valtellina/Landsat_ita/foscagno_pyqgis/" for RASTER in INPUT_FOLDER.tif do echo "Processing $RASTER" gdalwarp -q -cutline CLIP -crop_to_cutline -of GTiff RASTER OUTPUT+ "clip_"+ RASTER done QgsApplication.exitQgis() ด้านล่างนี้คือการปรับปรุงที่ฉันทำตั้งแต่ตอนนี้ไม่ได้ทำให้สคริปต์ทำงาน แต่ฉันคิดว่าฉันอาจเข้าใกล้ ... …
9 gdal  pyqgis  gdalwarp 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.