मेरे पास एक उच्च-रिज़ॉल्यूशन वाली छवि के लिए टाइलें बनाने के लिए मैं थोड़ा संघर्ष कर रहा हूं। हमारे पास वर्तमान छवि एक बहुत बड़ी (+ 20 जीबी) छवि है, जिसे जियोफाई फ़ाइल के रूप में सहेजा गया है।
मैं gdal2tiles कमांड लाइन उपयोगिता का उपयोग करके टाइलें उत्पन्न करना चाहता हूं और फिर टाइलें प्रदान करने के लिए टीएमएस इमेजरी प्रदाता का उपयोग करके इसे सीज़ियम में खोलकर देख सकता हूं। 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],
AUTHORITY["EPSG","32735"]]
Origin = (606276.000000000000000,7197873.000000000000000)
Pixel Size = (0.500000000000000,-0.500000000000000)
Metadata:
AREA_OR_POINT=Area
TIFFTAG_MAXSAMPLEVALUE=13165
TIFFTAG_MINSAMPLEVALUE=1
TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
TIFFTAG_SOFTWARE=ERDAS IMAGINE
TIFFTAG_XRESOLUTION=1
TIFFTAG_YRESOLUTION=1
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left ( 606276.000, 7197873.000) ( 28d 3'21.59"E, 25d19'55.12"S)
Lower Left ( 606276.000, 7169813.500) ( 28d 3'29.55"E, 25d35' 7.17"S)
Upper Right ( 632401.000, 7197873.000) ( 28d18'55.92"E, 25d19'47.60"S)
Lower Right ( 632401.000, 7169813.500) ( 28d19' 5.85"E, 25d34'59.57"S)
Center ( 619338.500, 7183843.250) ( 28d11'13.23"E, 25d27'27.58"S)
Band 1 Block=512x512 Type=UInt16, ColorInterp=Gray
Band 2 Block=512x512 Type=UInt16, ColorInterp=Undefined
Band 3 Block=512x512 Type=UInt16, ColorInterp=Undefined
Band 4 Block=512x512 Type=UInt16, ColorInterp=Undefined
मेरी पहली कोशिश यह थी कि छवि को भूतावेश करने के लिए gdal_translate का उपयोग किया जाए, और फिर जीजीपीएस: 3857 में प्रोजेक्शन को बदलने के लिए gdalwarp का उपयोग करें, जैसा कि सीज़ियम द्वारा आवश्यक है (एपीआई संदर्भ देखें)
gdal_translate -of VRT -a_srs EPSG:4326 -gcp 606275 7197875 28.055987 -25.331974 -gcp 606275 7169814 28.058200 -25.585326 -gcp 632400.5 7197875 28.31553 -25.329876 -gcp 632400.5 7169814 28.318286 -25.583209 image.tif newImage1.vrt
gdalwarp -of VRT -t_srs EPSG:3857 newImage1.vrt newImage2.vrt
हालाँकि, मुझे निम्न में से कई त्रुटियां हैं:
त्रुटि 1: अक्षांश या देशांतर सीमा से अधिक हो गया
एक और तरीका मैंने आजमाया कि सीधे gdal2tiles का उपयोग करें, और टाइल्स का निर्माण करें:
gdal2tiles.py image.tif
इसने एक सबफ़ोल्डर के साथ एक फ़ोल्डर बनाया (18 लेबल के रूप में) केवल ज़ूम स्तर था जिस पर टाइल बनाई गई थीं। हालाँकि, जो चित्र मुझे यहाँ मिलते हैं, वे पूरी तरह से "गलत" और "धुंधले" हैं।
टाइल्स में से एक का एक उदाहरण:
इस छवि के लिए टाइल बनाने के लिए कोई सुझाव gdal2tiles का उपयोग करके एक विशिष्ट क्षेत्र की बड़ी छवि है ताकि मैं इसे सीज़ियम में लोड और देख सकूं?
अपडेट करें
इसलिए, @ iant के सुझाव की कोशिश करने के बाद, मैंने निम्नलिखित आदेशों का उपयोग किया:
gdalwarp -co TILED=YES -co COMPRESS=DEFLATE -co BIGTIFF=YES -t_srs EPSG:3857 image.tif newImage.tif
यह कमांड पूरी तरह से ठीक काम करती है जब तक कि मुझे निम्नलिखित त्रुटि नहीं मिली:
त्रुटि 1: TIFFFillTile: पंक्ति 43520, कर्नल 47104 में त्रुटि पढ़ें; 35788250 बाइट्स मिले, 37421449 की उम्मीद
निश्चित नहीं है कि इस त्रुटि का क्या मतलब है, मैंने इसे फिलहाल के लिए छोड़ दिया और अभी भी एक अंतिम छवि "newImage.tif" प्राप्त की, जो कि गल्पवर्प स्टेप द्वारा निर्मित है। इसका उपयोग करके मैंने gdal2tiles.py कहा
gdal2tiles.py newImage.tif
इसने सबफ़ोल्डर्स 10-18 के साथ एक फ़ोल्डर का उत्पादन किया (और पहले की तरह केवल एक ज़ूम स्तर 18 नहीं था)। यह किसी भी कंसोल त्रुटियों के बिना, सीज़ियम में पूरी तरह से ठीक पढ़ता है, लेकिन छवि अभी भी "गलत" दिखती है:
मैं विचार कर रहा हूं कि मेरा मुद्दा @ user30184 के अनुसार हो सकता है "... gald2tiles के लिए स्रोत डेटा अच्छी तरह से सूट नहीं करता है।" हालांकि जब तक हमारा प्रदाता हमें गदल के साथ उपयोग के लिए कुछ प्रदान करने में सक्षम है, यह मेरे पास है।
मैं विचार कर रहा था कि गदल से बचने के लिए एक बैंड को अल्फा चैनल के रूप में समझने के लिए शायद बैंड में से एक को हटा दिया जाए। कोई सुझाव?