J'ai un jeu de données raster au format Cache / Mixed dans ArcGIS. J'ai besoin d'exporter cela dans un tiff géoréférencé ou tout autre format d'image raster afin de l'utiliser comme carte de base dans un autre logiciel SIG de bureau comme QGIS.
Jusqu'à présent, je n'ai trouvé dans ArcGIS qu'un outil nommé Exporter le cache de tuiles (gestion des données) qui ne peut modifier le format des tuiles qu'en fichier .tpk ou en format de cache éclaté / compact . Je n'ai trouvé aucun outil pour convertir ces données de tuiles en n'importe quelle image.
Si j'utilise l' option d' exportation de données présente dans ArcGIS, l'image résultante n'est rien d'autre qu'une image noire.
Tout le monde sait comment exporter ces données de tuiles dans une image?.
Édité
La réponse donnée par @felixIP peut être une solution, mais je cherche un autre travail. Les tuiles ont des fichiers de configuration avec eux comme dans l'image ci-dessous
Le conf.cdi
ressemble ci-dessous
<?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>
Bien que config.xml
possède les informations suivantes
<?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>
Et il y a des tuiles présentes dans le _alllayers
dossier. En fait, il existe un lien entre ces informations de configuration et les conventions de dénomination des dossiers et des fichiers _allayers
et je ne parviens pas à trouver ce lien.Une fois que je comprends le problème, il n'est pas très important de mosaïquer les tuiles ensemble.
la source
Réponses:
J'ai ajouté des images aériennes du serveur SIG et créé un résille sur la zone d'intérêt:
J'utilise résille comme couche d'index pour mes pages pilotées par les données, en m'assurant que l'ordre de tri coïncide avec l'ordre d'enregistrement dans la table résille.
J'ai appliqué un script (voir ci-dessous) pour parcourir les pages, les exporter vers un raster temporaire, le cliper au raster PNG nommé d'après le nom de la page. Le résultat montre des tuiles écrêtées avec l'image source fanée:
Le script a 1 paramètre d'entrée - dossier de sortie pour enregistrer vos tuiles. Avant de l'exécuter, je vous suggère de jouer avec la résolution (dpi) et la taille des cellules (pour obtenir la meilleure résolution possible) de résille.
L'ordre de tri des pages est le plus important. Avant que le «voyage» ne commence, le script crée une liste de rectangles / pages et utilise un i-ème (page no -1) pour découper la capture d'écran. Si l'ordre des pages <> l'ordre des enregistrements dans la table en résille, le script produira des résultats étranges le cas échéant.
Annuler le script après quelques étapes et vérifier les résultats. Redémarrez s'ils ont du sens.
MISE À JOUR 3 mai 2016
Il semble que peu de gens aient trouvé le script utile. Je l'ai modifié, de sorte que l'ordre des pages et le type de champ pour stocker le nom de la page n'ont plus d'importance.
la source
Python Traceback Info: File "D:\thesis\M\scipt.py", line 30, in <module> fName=outFolder+os.sep+Page_Names[pageID-1][0]+".png"
et la suivantePython Error Info: <type 'exceptions.TypeError'>: coercing to Unicode: need string or buffer, numpy.int32 found
. Pouvez-vous s'il vous plaît examiner cela et me dire ce que je dois faire pour résoudre ce problème?merged_fishnet
. En fait, j'ai créé un outil et ajouté un dossier de sortie comme paramètre. Est-ce la bonne façon pour moi d'exécuter le script?J'ai écrit un script python pour cela. Il s'agit de la version initiale du script, il doit donc ajouter certaines valeurs manuellement dans le script. Je l'ai mentionné dans le script. C'est ici
la source
Vous pouvez également transformer un cache éclaté esri en un géopackage ogc.
Consultez ce https://github.com/geoadmin/geopackage-python
la source
Je pense que vous pouvez créer ce jeu de données raster pour l'exporter dans d'autres formats comme les formats d'image (.tif, .png, .sid) et ensuite, vous pouvez ajouter toutes ces images dans la mosaïque et exécuter "gérer le cache de tuiles" pour l'utiliser comme carte de base ou couche de remblai.
la source