Ich habe ein Raster-Dataset im Cache / Mixed- Format in ArcGIS. Ich muss dies in ein georeferenziertes Tiff oder ein anderes Rasterbildformat exportieren , um es als Basiskarte in einer anderen desktopbasierten GIS-Software wie QGIS zu verwenden.
Bisher habe ich in ArcGIS nur ein Tool mit dem Namen " Kachel-Cache exportieren" (Datenverwaltung) gefunden, mit dem das Kachelformat entweder in eine TPK- Datei oder in ein explodiertes / kompaktes Cache-Format geändert werden kann . Ich konnte kein Werkzeug finden, um diese Kacheldaten in ein Bild zu konvertieren.
Wenn ich die in ArcGIS vorhandene Option zum Exportieren von Daten verwende , ist das resultierende Bild nichts anderes als ein schwarzes Bild.
Weiß jemand, wie ich diese Kacheldaten in ein Bild exportieren kann?
Bearbeitet
Die Antwort von @felixIP kann eine Lösung sein, aber ich suche nach einer anderen Lösung. Die Kacheln haben einige Konfigurationsdateien wie im Bild unten
Das conf.cdi
sieht aus wie unten
<?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>
Während config.xml
hat folgende Informationen
<?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>
Und im _alllayers
Ordner sind Kacheln vorhanden . Tatsächlich besteht eine Verknüpfung zwischen diesen Konfigurationsinformationen und den Benennungskonventionen von Ordnern und Dateien in, _allayers
und ich kann diese Verknüpfung nicht finden. Sobald ich den eigentlichen Punkt herausgefunden habe, ist es keine große Sache, die Kacheln miteinander zu mosaikieren.
quelle
Antworten:
Ich habe Luftbilder vom GIS-Server hinzugefügt und ein Fischnetz über dem gewünschten Bereich erstellt:
Ich verwende fishnet als Indexebene für meine datengesteuerten Seiten und stelle sicher, dass die Sortierreihenfolge mit der Datensatzreihenfolge in der fishnet-Tabelle übereinstimmt.
Ich habe ein Skript (siehe unten) angewendet, um durch Seiten zu navigieren, sie in ein temporäres Raster zu exportieren und sie in ein PNG-Raster zu schneiden, das nach dem Seitennamen benannt ist. Ergebnis zeigt abgeschnittene Kacheln mit ausgeblendetem Quellbild:
Skript hat 1 Eingabeparameter - Ausgabeordner zum Speichern Ihrer Kacheln. Bevor Sie es starten, empfehlen wir Ihnen, mit der Auflösung (dpi) und der Zellengröße (um die bestmögliche Auflösung zu erzielen) des Netzes zu spielen.
Die Sortierreihenfolge der Seiten ist am wichtigsten. Bevor 'travel' startet, erstellt das Skript eine Liste von Rechtecken / Seiten und verwendet i-th (Seite Nr. -1), um den Screenshot zu schneiden. Wenn die Reihenfolge der Seiten <> die Reihenfolge der Datensätze in der Fishnet-Tabelle ist, erzeugt das Skript seltsame Ergebnisse, falls vorhanden.
Brechen Sie das Skript nach wenigen Schritten ab und überprüfen Sie die Ergebnisse. Starten Sie neu, wenn sie sinnvoll sind.
UPDATE 3. Mai 2016
Es scheint, dass nur wenige Leute das Skript nützlich fanden. Ich habe es so geändert, dass die Seitenreihenfolge und der Feldtyp zum Speichern des Seitennamens keine Rolle mehr spielen.
quelle
Python Traceback Info: File "D:\thesis\M\scipt.py", line 30, in <module> fName=outFolder+os.sep+Page_Names[pageID-1][0]+".png"
und folgendesPython Error Info: <type 'exceptions.TypeError'>: coercing to Unicode: need string or buffer, numpy.int32 found
. Können Sie dies bitte untersuchen und mir sagen, was ich tun muss, um das Problem zu lösen?merged_fishnet
. Eigentlich habe ich ein Tool erstellt und einen Ausgabeordner als Parameter hinzugefügt. Soll ich das Skript auf diese Weise ausführen?Ich habe dafür ein Python-Skript geschrieben. Dies ist die erste Version des Skripts, daher müssen bestimmte Werte manuell zum Skript hinzugefügt werden. Ich habe das im Drehbuch erwähnt. Hier ist es
quelle
Sie können einen explodierten Esri-Cache auch in ein Geopaket für OGC umwandeln.
Überprüfen Sie diese https://github.com/geoadmin/geopackage-python
quelle
Ich denke, Sie können dieses Raster-Dataset so erstellen, dass es in andere Formate wie Bildformate (.tif, .png, .sid) exportiert wird. Anschließend können Sie alle diese Bilder zum Mosaik-Dataset hinzufügen und "Kachel-Cache verwalten" ausführen, um sie wie gewünscht zu verwenden Grundkarte oder Hintergrundebene.
quelle