Eu tenho um conjunto de dados raster no formato Cache / Misto no ArcGIS. Preciso exportar isso para um tiff georreferenciado ou para qualquer outro formato de imagem raster, a fim de usá-lo como mapa base em algum outro software GIS baseado em desktop, como o QGIS.
Até agora, encontrei apenas uma ferramenta no ArcGIS denominada Exportar cache de bloco (gerenciamento de dados) que só pode alterar o formato do bloco para o arquivo .tpk ou o formato de cache explodido / compacto . Não encontrei nenhuma ferramenta para converter esses dados de blocos em qualquer imagem.
Se eu usar a opção de exportação de dados presente no ArcGIS, a imagem resultante não passará de uma imagem em preto.
Alguém sabe como posso exportar esses dados de blocos para uma imagem ?.
Editado
A resposta dada pelo @felixIP pode ser uma solução, mas estou procurando outra solução. Os blocos possuem alguns arquivos de configuração, como na imagem abaixo
Os conf.cdi
olhares como abaixo
<?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["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0],AUTHORITY["EPSG",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>
Embora config.xml
tenha as seguintes informações
<?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["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0],AUTHORITY["EPSG",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>
E há peças presentes na _alllayers
pasta. Na verdade, existe um link entre essas informações de configuração e as convenções de nomenclatura de pastas e arquivos, _allayers
e não consigo encontrar esse link. Quando entendi o ponto real, não é grande coisa fazer mosaicos juntos.
fonte
Respostas:
Adicionei imagens aéreas do servidor GIS e criei redes de pesca sobre a área de interesse:
Eu uso a rede de pesca como camada de índice para minhas páginas controladas por dados, certificando-me de que a ordem de classificação coincida com a ordem dos registros na tabela de redes de pesca.
Apliquei o script (veja abaixo) para percorrer as páginas, exportá-las para temp raster, prendê-lo no PNG raster com o nome do nome da página. O resultado mostra blocos cortados com a imagem de origem desbotada:
O script possui 1 parâmetro de entrada - pasta de saída para salvar seus blocos. Antes de executá-lo, sugiro que você jogue com a resolução (dpi) e o tamanho da célula (para obter a melhor resolução possível) da rede de pesca.
A ordem de classificação das páginas é mais importante. Antes de 'viajar', o script cria uma lista de retângulos / páginas e usa o i-ésimo (página no -1) para recortar uma captura de tela. Se a ordem das páginas <> a ordem dos registros na tabela da rede de pesca, o script produzirá resultados estranhos, se houver.
Cancele o script após algumas etapas e verifique os resultados. Reinicie se eles fizerem sentido.
ATUALIZAÇÃO 3 de maio de 2016
Parece que poucas pessoas acharam o script útil. Eu a modifiquei para que a ordem da página e o tipo de campo para armazenar o nome da página não importem mais.
fonte
Python Traceback Info: File "D:\thesis\M\scipt.py", line 30, in <module> fName=outFolder+os.sep+Page_Names[pageID-1][0]+".png"
e o seguintePython Error Info: <type 'exceptions.TypeError'>: coercing to Unicode: need string or buffer, numpy.int32 found
. Você pode analisar isso e me dizer o que preciso fazer para resolver isso?merged_fishnet
. Na verdade, eu criei uma ferramenta e adicionei uma pasta de saída como parâmetro a ela. É assim que você deseja que eu execute o script?Eu escrevi um script python para isso. Esta é a versão inicial do script, portanto, ele precisa adicionar certos valores manualmente ao script. Eu mencionei isso no script. Aqui está
fonte
Você também pode transformar um cache explodido esri em um geopackage ogc.
Confira este https://github.com/geoadmin/geopackage-python
fonte
Eu acho que você pode criar esse conjunto de dados raster para exportá-lo para outros formatos, como formatos de imagem (.tif, .png, .sid) e, em seguida, adicionar todas essas imagens ao conjunto de dados em mosaico e executar "gerenciar cache de mosaico" para usar como mapa base ou camada de aterro.
fonte