どこかで見たMaps


ArcGISでどこかで見たMapsを表示させる方法

ArcGISはJsonをMxdに変換できる。
この時WebTiledLayerがあることに注目

ExportWebMap 仕様
http://resources.arcgis.com/ja/help/main/10.2/index.html#//0154000004w8000000

ConvertWebMapToMapDocument
http://resources.arcgis.com/ja/help/main/10.2/index.html#//00s30000006n000000

流石にどこかで見たMapsは権利関係とか利用規約がありそうなので地理院地図の場合下記のようなPythonでC:\test.mxdを作成出来る。

import arcpy
result = arcpy.mapping.ConvertWebMapToMapDocument("{\"mapOptions\":{},\"operationalLayers\":[],\"baseMap\":{\"title\":\"gsi\",\"baseMapLayers\":[{\"type\":\"WebTiledLayer\",\"urlTemplate\":\"http://cyberjapandata.gsi.go.jp/xyz/std/{level}/{col}/{row}.png\",\"subDomains\":[]}]},\"exportOptions\":{},\"layoutOptions\":{}}" );

mxd = result.mapDocument
mxd.saveACopy(r"C:\\test.mxd")

print "end"

この時得られるMXDのレイヤ ProgIdは下記だがリファレンスにないレイヤ
esriCarto.InternetTiledLayer

WebサーバがあればTIled Layerを配置でき、ArcMap/Engineで非カスタマイズでRead出来るのは普通につかえるかなぁ。

IMapDocument mapDoc = new MapDocumentClass();
mapDoc.Open(@"c:\test.mxd", null);

IMap map = mapDoc.get_Map(0);
var layer = map.get_Layer(0);

Debug.Print("レイヤ:{0}", ((IClassID)layer).GetProgID());
カテゴリー: 運用, 開発 タグ: , , パーマリンク