ส่งออกข้อมูล ArcGIS เรียงต่อกันเป็นรูปแบบภาพใดก็ได้


13

ฉันมีชุดข้อมูลแรสเตอร์ในรูปแบบCache / Mixedใน ArcGIS ฉันต้องส่งออกเป็นtiffทางภูมิศาสตร์หรือรูปแบบภาพแรสเตอร์อื่น ๆ เพื่อใช้เป็นแผนที่พื้นฐานในซอฟต์แวร์ GIS ที่ใช้เดสก์ท็อปเช่น QGIS

จนถึงตอนนี้ฉันเพิ่งพบเครื่องมือใน ArcGIS ชื่อExport tile cache (การจัดการข้อมูล)เท่านั้นที่สามารถเปลี่ยนรูปแบบไทล์เป็นไฟล์. tpkหรือรูปแบบแคช/ ระเบิด / กระชับ ฉันไม่พบเครื่องมือใด ๆ ในการแปลงข้อมูลไทล์เหล่านี้เป็นภาพใด ๆ

หากฉันใช้ตัวเลือกส่งออกข้อมูลที่มีอยู่ใน ArcGIS ภาพที่ได้จะเป็นอะไรอื่นนอกจากภาพสีดำ

มีใครรู้ว่าฉันสามารถส่งออกข้อมูลย่อยเหล่านี้ไปยังภาพได้อย่างไร


แก้ไข

คำตอบที่ได้รับจาก @felixIP สามารถแก้ปัญหาได้ แต่ฉันกำลังมองหาวิธีแก้ปัญหาอื่น ไทล์มีไฟล์คอนฟิกูเรชันบางไฟล์ซึ่งมีดังในภาพด้านล่าง

โครงสร้างไฟล์ของไทล์แคชเซิร์ฟเวอร์ ArcGIS

conf.cdiลักษณะเหมือนด้านล่าง

<?xml version="1.0" encoding="utf-8" ?>
<EnvelopeN xsi:type='typens:EnvelopeN' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:typens='http://www.esri.com/schemas/ArcGIS/10.1'>
    <XMin>8142366.0491449088</XMin>
    <YMin>4370513.4222595459</YMin>
    <XMax>8146042.4910550155</XMax>
    <YMax>4375009.1735663339</YMax>
    <SpatialReference xsi:type='typens:ProjectedCoordinateSystem'>
        <WKT>PROJCS[&quot;WGS_1984_Web_Mercator_Auxiliary_Sphere&quot;,GEOGCS[&quot;GCS_WGS_1984&quot;,DATUM[&quot;D_WGS_1984&quot;,SPHEROID[&quot;WGS_1984&quot;,6378137.0,298.257223563]],PRIMEM[&quot;Greenwich&quot;,0.0],UNIT[&quot;Degree&quot;,0.0174532925199433]],PROJECTION[&quot;Mercator_Auxiliary_Sphere&quot;],PARAMETER[&quot;False_Easting&quot;,0.0],PARAMETER[&quot;False_Northing&quot;,0.0],PARAMETER[&quot;Central_Meridian&quot;,0.0],PARAMETER[&quot;Standard_Parallel_1&quot;,0.0],PARAMETER[&quot;Auxiliary_Sphere_Type&quot;,0.0],UNIT[&quot;Meter&quot;,1.0],AUTHORITY[&quot;EPSG&quot;,3857]]</WKT>
        <XOrigin>-20037700</XOrigin>
        <YOrigin>-30241100</YOrigin>
        <XYScale>148923141.92838538</XYScale>
        <ZOrigin>-100000</ZOrigin>
        <ZScale>10000</ZScale>
        <MOrigin>-100000</MOrigin>
        <MScale>10000</MScale>
        <XYTolerance>0.001</XYTolerance>
        <ZTolerance>0.001</ZTolerance>
        <MTolerance>0.001</MTolerance>
        <HighPrecision>true</HighPrecision>
        <WKID>102100</WKID>
        <LatestWKID>3857</LatestWKID>
    </SpatialReference>
</EnvelopeN>

ในขณะที่config.xmlมีข้อมูลต่อไปนี้

<?xml version="1.0" encoding="utf-8" ?>
<CacheInfo xsi:type='typens:CacheInfo' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:typens='http://www.esri.com/schemas/ArcGIS/10.1'>
    <TileCacheInfo xsi:type='typens:TileCacheInfo'>
        <SpatialReference xsi:type='typens:ProjectedCoordinateSystem'>
            <WKT>PROJCS[&quot;WGS_1984_Web_Mercator_Auxiliary_Sphere&quot;,GEOGCS[&quot;GCS_WGS_1984&quot;,DATUM[&quot;D_WGS_1984&quot;,SPHEROID[&quot;WGS_1984&quot;,6378137.0,298.257223563]],PRIMEM[&quot;Greenwich&quot;,0.0],UNIT[&quot;Degree&quot;,0.0174532925199433]],PROJECTION[&quot;Mercator_Auxiliary_Sphere&quot;],PARAMETER[&quot;False_Easting&quot;,0.0],PARAMETER[&quot;False_Northing&quot;,0.0],PARAMETER[&quot;Central_Meridian&quot;,0.0],PARAMETER[&quot;Standard_Parallel_1&quot;,0.0],PARAMETER[&quot;Auxiliary_Sphere_Type&quot;,0.0],UNIT[&quot;Meter&quot;,1.0],AUTHORITY[&quot;EPSG&quot;,3857]]</WKT>
            <XOrigin>-20037700</XOrigin>
            <YOrigin>-30241100</YOrigin>
            <XYScale>148923141.92838538</XYScale>
            <ZOrigin>-100000</ZOrigin>
            <ZScale>10000</ZScale>
            <MOrigin>-100000</MOrigin>
            <MScale>10000</MScale>
            <XYTolerance>0.001</XYTolerance>
            <ZTolerance>0.001</ZTolerance>
            <MTolerance>0.001</MTolerance>
            <HighPrecision>true</HighPrecision>
            <WKID>102100</WKID>
            <LatestWKID>3857</LatestWKID>
        </SpatialReference>
        <TileOrigin xsi:type='typens:PointN'>
            <X>-20037508.342787001</X>
            <Y>20037508.342787001</Y>
        </TileOrigin>
        <TileCols>256</TileCols>
        <TileRows>256</TileRows>
        <DPI>96</DPI>
        <PreciseDPI>96</PreciseDPI>
        <LODInfos xsi:type='typens:ArrayOfLODInfo'>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>0</LevelID>
                <Scale>591657527.591555</Scale>
                <Resolution>156543.03392799999</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>1</LevelID>
                <Scale>295828763.79577702</Scale>
                <Resolution>78271.516963999893</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>2</LevelID>
                <Scale>147914381.89788899</Scale>
                <Resolution>39135.758482000099</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>3</LevelID>
                <Scale>73957190.948944002</Scale>
                <Resolution>19567.879240999901</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>4</LevelID>
                <Scale>36978595.474472001</Scale>
                <Resolution>9783.9396204999593</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>5</LevelID>
                <Scale>18489297.737236001</Scale>
                <Resolution>4891.9698102499797</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>6</LevelID>
                <Scale>9244648.8686180003</Scale>
                <Resolution>2445.9849051249898</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>7</LevelID>
                <Scale>4622324.4343090001</Scale>
                <Resolution>1222.9924525624899</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>8</LevelID>
                <Scale>2311162.2171550002</Scale>
                <Resolution>611.49622628138002</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>9</LevelID>
                <Scale>1155581.108577</Scale>
                <Resolution>305.74811314055802</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>10</LevelID>
                <Scale>577790.55428899999</Scale>
                <Resolution>152.874056570411</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>11</LevelID>
                <Scale>288895.27714399999</Scale>
                <Resolution>76.437028285073197</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>12</LevelID>
                <Scale>144447.638572</Scale>
                <Resolution>38.218514142536598</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>13</LevelID>
                <Scale>72223.819285999998</Scale>
                <Resolution>19.109257071268299</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>14</LevelID>
                <Scale>36111.909642999999</Scale>
                <Resolution>9.5546285356341496</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>15</LevelID>
                <Scale>18055.954822</Scale>
                <Resolution>4.7773142679493699</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>16</LevelID>
                <Scale>9027.9774109999998</Scale>
                <Resolution>2.38865713397468</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>17</LevelID>
                <Scale>4513.9887049999998</Scale>
                <Resolution>1.1943285668550501</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>18</LevelID>
                <Scale>2256.994353</Scale>
                <Resolution>0.59716428355981699</Resolution>
            </LODInfo>
            <LODInfo xsi:type='typens:LODInfo'>
                <LevelID>19</LevelID>
                <Scale>1128.4971760000001</Scale>
                <Resolution>0.29858214164761698</Resolution>
            </LODInfo>
        </LODInfos>
    </TileCacheInfo>
    <TileImageInfo xsi:type='typens:TileImageInfo'>
        <CacheTileFormat>MIXED</CacheTileFormat>
        <CompressionQuality>75</CompressionQuality>
        <Antialiasing>false</Antialiasing>
    </TileImageInfo>
    <CacheStorageInfo xsi:type='typens:CacheStorageInfo'>
        <StorageFormat>esriMapCacheStorageModeExploded</StorageFormat>
        <PacketSize>128</PacketSize>
    </CacheStorageInfo>
</CacheInfo>

และมีไพ่อยู่ใน_alllayersโฟลเดอร์ ที่จริงแล้วมีการเชื่อมโยงระหว่างข้อมูลการกำหนดค่านี้และการตั้งชื่อแบบแผนของโฟลเดอร์และไฟล์ใน_allayersและฉันไม่สามารถหาลิงค์นั้นได้เมื่อฉันได้รับจุดที่แท้จริงแล้วมันไม่ใช่เรื่องใหญ่อะไรที่จะเชื่อมต่อกระเบื้องด้วยกัน


คุณสามารถเพิ่มมันเป็นเลเยอร์ให้กับ mxd ได้หรือไม่?
FelixIP

ใช่แน่นอนใน ArcMap ฉันสามารถเปิดชุดข้อมูลนี้ได้
muzaffar

มันเป็นแบบฝึกหัดการเขียนสคริปต์ขั้นพื้นฐานมาก สร้างแหอวนที่มีเซลล์ขนาดเล็กสร้าง DDP จากมันและเดินทางผ่านมันส่งออกมุมมองไปที่แรสเตอร์
FelixIP

DDP หมายความว่าอย่างไร
muzaffar

เพจที่ขับเคลื่อนด้วยข้อมูล
FelixIP

คำตอบ:


13

ฉันเพิ่มภาพถ่ายทางอากาศจากเซิร์ฟเวอร์ GIS และสร้าง fishnet ในส่วนที่สนใจ: ป้อนคำอธิบายรูปภาพที่นี่

ฉันใช้ Fishnet เป็นเลเยอร์ดัชนีสำหรับหน้าที่ขับเคลื่อนข้อมูลของฉันตรวจสอบให้แน่ใจว่าคำสั่งการเรียงลำดับนั้นตรงกับคำสั่งบันทึกในตาราง Fishnet

ฉันใช้สคริปต์ (ดูด้านล่าง) เพื่อเดินทางผ่านหน้าต่างๆส่งออกไปยัง temp raster คลิปไปที่ PNG raster ที่ตั้งชื่อตามชื่อหน้า ผลที่ได้แสดงให้เห็นถึงการตัดกระเบื้องที่มีภาพแหล่งที่มาจาง:

ป้อนคำอธิบายรูปภาพที่นี่

สคริปต์มี 1 พารามิเตอร์อินพุต - โฟลเดอร์เอาต์พุตเพื่อบันทึกไทล์ของคุณ ก่อนใช้งานฉันแนะนำให้คุณเล่นด้วยความละเอียด (dpi) และขนาดเซลล์ (เพื่อให้ได้ความละเอียดที่ดีที่สุด) ของแหอวน

# EXPORT SCREENs TO RASTERs
import arcpy, traceback, os, sys, time
from arcpy import env
env.overwriteOutput = True
outFolder=arcpy.GetParameterAsText(0)
dpi=1200
tempRaster=outFolder+os.sep+"victim.png"

## ERROR HANDLING
def showPyMessage():
    arcpy.AddMessage(str(time.ctime()) + " - " + message)

try:
    mxd = arcpy.mapping.MapDocument("CURRENT")
    ddp = mxd.dataDrivenPages
    thePagesLayer = arcpy.mapping.ListLayers(mxd,ddp.indexLayer.name)[0]
#   GET RECTANGLES
    g=arcpy.Geometry()
    geometryList=arcpy.CopyFeatures_management(thePagesLayer,g)
#   EXPORT PAGES
    df = arcpy.mapping.ListDataFrames(mxd)[0]
    fld = ddp.pageNameField.name
    Page_Names=arcpy.da.TableToNumPyArray(thePagesLayer, fld)
    for pageID in range(1, ddp.pageCount+1):
        ddp.currentPageID = pageID
        arcpy.RefreshActiveView()
        time.sleep(3)
        arcpy.mapping.ExportToPNG(mxd,tempRaster,df,dpi,world_file=True)
        fName=outFolder+os.sep+Page_Names[pageID-1][0]+".png"
        anExtent=geometryList[pageID-1].extent
        envelope='%f %f %f %f' %(anExtent.XMin, anExtent.YMin, anExtent.XMax, anExtent.YMax,)
#   CLIP EXPORTED BY PAGE RECTANGLE
        arcpy.Clip_management (tempRaster, envelope,fName)
        arcpy.AddMessage('%s processed' %fName)
except:
    message = "\n*** PYTHON ERRORS *** "; showPyMessage()
    message = "Python Traceback Info: " + traceback.format_tb(sys.exc_info()[2])[0]; showPyMessage()
    message = "Python Error Info: " +  str(sys.exc_type)+ ": " + str(sys.exc_value) + "\n"; showPyMessage()

ลำดับการเรียงหน้าเป็นสิ่งสำคัญที่สุด ก่อนที่สคริปต์เริ่มต้นของ 'travel' จะสร้างรายการของรูปสี่เหลี่ยมผืนผ้า / หน้าและใช้ i-th (ไม่มีหน้า -1) เพื่อตัดภาพหน้าจอ หากลำดับของหน้า <> ลำดับของเรกคอร์ดในตาราง fishnet สคริปต์จะสร้างผลลัพธ์แปลก ๆ ถ้ามี

ยกเลิกสคริปต์หลังจากผ่านไปสองสามขั้นตอนและตรวจสอบผลลัพธ์ เริ่มต้นใหม่หากเหมาะสม

อัพเดท 3 พฤษภาคม 2559

ดูเหมือนว่าบางคนพบว่าสคริปต์มีประโยชน์ ฉันแก้ไขเพื่อให้ลำดับหน้าและประเภทฟิลด์ในการจัดเก็บชื่อหน้าไม่สำคัญอีกต่อไป

# EXPORTS SCREEN TO RASTER(s)
import arcpy, traceback, os, sys, time
from arcpy import env
env.overwriteOutput = True
outFolder=arcpy.GetParameterAsText(0)
env.workspace = outFolder
dpi=1200
tempRaster=outFolder+os.sep+"victim.png"
## ERROR HANDLING
def showPyMessage():
    arcpy.AddMessage(str(time.ctime()) + " - " + message)
try:
    mxd = arcpy.mapping.MapDocument("CURRENT")
    ddp = mxd.dataDrivenPages
#   GET PAGES INFO
    thePagesLayer = arcpy.mapping.ListLayers(mxd,ddp.indexLayer.name)[0]
    df = arcpy.mapping.ListDataFrames(mxd)[0]
    fld = ddp.pageNameField.name
    for pageID in range(1, ddp.pageCount+1):
        ddp.currentPageID = pageID
        arcpy.RefreshActiveView()
        time.sleep(3)
        arcpy.mapping.ExportToPNG(mxd,tempRaster,df,dpi,world_file=True)
        fName=outFolder+os.sep+str(ddp.pageRow.getValue(fld))+".png"
        rect=ddp.pageRow.getValue("Shape")
        anExtent=rect.extent
        envelope='%f %f %f %f' %(anExtent.XMin, anExtent.YMin, anExtent.XMax, anExtent.YMax,)
#   CLIP EXPORTED BY PAGE RECTANGLE
        arcpy.Clip_management (tempRaster, envelope,fName)
        arcpy.AddMessage('%s processed' %fName)
    arcpy.Delete_management(tempRaster)
except:
    message = "\n*** PYTHON ERRORS *** "; showPyMessage()
    message = "Python Traceback Info: " + traceback.format_tb(sys.exc_info()[2])[0]; showPyMessage()
    message = "Python Error Info: " +  str(sys.exc_type)+ ": " + str(sys.exc_value) + "\n"; showPyMessage()

1
สวัสดี FelixIP เมื่อฉันเรียกใช้สคริปต์ที่ผมได้รับข้อผิดพลาดต่อไปและต่อไปนี้Python Traceback Info: File "D:\thesis\M\scipt.py", line 30, in <module> fName=outFolder+os.sep+Page_Names[pageID-1][0]+".png" Python Error Info: <type 'exceptions.TypeError'>: coercing to Unicode: need string or buffer, numpy.int32 foundคุณช่วยกรุณาดูเรื่องนี้และบอกฉันว่าฉันต้องทำอะไรเพื่อแก้ไขปัญหานี้?
muzaffar

1
มันล้มเหลวด้วยชื่อหน้า คุณใช้ฟิลด์ใดในการจัดเก็บในเลเยอร์ดัชนี DDP? ตัวอย่างได้โปรด รวมทั้งชื่อของโฟลเดอร์เอาท์พุท ดูเหมือนว่าฟิลด์นั้นเป็นตัวเลข ต้องเป็นสตริงขออภัยที่ไม่กล่าวถึงสิ่งนี้
FelixIP

1
ฉันสร้าง Fishnet และเพิ่มชื่อ 'order_' ในไฟล์นั้นและเพิ่มค่าจาก 1 เป็นเป็นต้นไป ค่าที่จะไปถึงรอบปี 1900 merged_fishnetชื่อของโฟลเดอร์ออกเป็น ที่จริงแล้วฉันได้สร้างเครื่องมือและเพิ่มโฟลเดอร์ผลลัพธ์เป็นพารามิเตอร์ นี่เป็นวิธีที่ถูกต้องที่คุณต้องการให้ฉันเรียกใช้สคริปต์หรือไม่
muzaffar

1
ฟิลด์ต้องเป็นสตริง สร้างใหม่ ใช้ Python str (int (! Oldfield!)). zfill (4) เพื่อเติมลงในเครื่องคำนวณภาคสนาม
FelixIP

2
อัพโหลดไปที่ไหนสักแห่งฉันจะได้ดูการแบ่งปันอีเมลและอื่น ๆ นั้นขัดต่อนโยบายของเว็บไซต์นี้
FelixIP

2

ฉันได้เขียนสคริปต์หลามสำหรับเรื่องนี้ นี่เป็นเวอร์ชันเริ่มต้นของสคริปต์ดังนั้นจึงจำเป็นต้องเพิ่มค่าบางอย่างลงในสคริปต์ด้วยตนเอง ฉันเคยพูดถึงเรื่องนี้ในสคริปต์ นี่ไง

import math
from pyproj import Proj, transform

from PIL import Image
import glob, os
import sys
from os import walk
from os.path import join, getsize

#this function would convert utm coordinates to lat lng
#function taken from http://gis.stackexchange.com/questions/78838/how-to-convert-projected-coordinates-to-lat-lon-using-python
def utmToLatLng(x,y):
  inProj = Proj(init='epsg:3857')
  outProj = Proj(init='epsg:4326')

  x2,y2 = transform(inProj,outProj,x,y)
  return (x2,y2)



#this function would take lat lng and return the tile number
#function taken from http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames
def deg2num(lat_deg, lon_deg, zoom):
  lat_rad = math.radians(lat_deg)
  n = 2.0 ** zoom
  xtile = int((lon_deg + 180.0) / 360.0 * n)
  ytile = int((1.0 - math.log(math.tan(lat_rad) + (1 / math.cos(lat_rad))) / math.pi) / 2.0 * n)
  return (xtile, ytile)

#this function would take a number and return it in hexa format
#taken from http://stackoverflow.com/questions/16414559/trying-to-use-hex-without-0x
def inttohexa(x):
  return format(x, 'x')


#this function would take a number and return a 9 letter word, the first letter
# would be static, should be R and C for folder and files respectivly
#this function can be improved further. Developed by muzaffar in hurry
#that's why you so see much if else in the function
def completeEightNumbers(number,letter):
  if len(number)<8:
    less_number = 8-len(number)
    if less_number==1:
      return letter+'0'+number
    elif less_number==2:
      return letter+'00'+number
    elif less_number==3:
      return letter+'000'+number
    elif less_number==4:
      return letter+'0000'+number
    elif less_number==5:
      return letter+'00000'+number
    elif less_number==6:
      return letter+'000000'+number
    elif less_number==7:
      return letter+'0000000'+number
    elif less_number==8:
      return letter+'00000000'+number
  else:
    return letter+number


#we need these four parameters
ymin = 4370513.4222595459
ymax = 4375009.1735663339
xmin = 8142366.0491449088
xmax = 8146042.4910550155

#resolution of the max zoom level
resolution = 0.59716428355981699
tile_diff = resolution * 256 #256 is the tile width



folders_name = [] #this list would contain the actual folders which have tiles inside
#storing ymax value in a variable for loop purpose only
ymax_loop = 4375009.1735663339
while (ymin < ymax_loop):#we would keep looping until the max value reach the ymin

  #xmin value would remain same while ymax_loop would change for each loop
  latlng =  utmToLatLng(xmin, ymax_loop) #sample output 36.538723, 73.144095
  tile_num =  deg2num(latlng[1], latlng[0], 18) #18 here is zoom level
  folder_name = inttohexa(tile_num[1])
  exact_folder_name = completeEightNumbers(folder_name,'R')

  #insert the folder name in list
  folders_name.append(exact_folder_name)

  #reduce the value of loop by tile_diff -- each time the loop execute
  ymax_loop = ymax_loop - tile_diff

print folders_name


file1 = "C:\Users\A\Desktop\mosaic\output.png"
file, ext = os.path.splitext(file1)
outfile = file + ".PNG"

result_width = 25*256
result_height = 30*256
result = Image.new('RGB', (result_width, result_height))

root = "C:\Users\A\Desktop\mosaic"
folders_index = 0
for single_folder in folders_name:

    print root+"\\"+single_folder
    files = glob.glob(root+"\\"+single_folder+"\\*")

    image_list = []
    files_index = 0

    for b in files:

      image_list.append(Image.open(b))

      result.paste(image_list[files_index], box=((files_index*256),(folders_index*256)))
      files_index += 1
      #print result

      #print folders_index*256  
    folders_index +=1

result.save(outfile, "PNG")
print "done"


-1

ฉันคิดว่าคุณสามารถสร้างชุดข้อมูลแรสเตอร์นี้เพื่อส่งออกเป็นรูปแบบอื่นเช่นรูปแบบรูปภาพ (.tif, .png, .sid) จากนั้นคุณสามารถเพิ่มรูปภาพเหล่านี้ลงในชุดข้อมูล mosaic แล้วเรียกใช้ "Manage cache cache" เพื่อใช้ แผนที่พื้นฐานหรือชั้นโฆษณาทดแทน


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