世界地図の表示
この例では,米国地質調査所(USGS)の国家地图SOAPサーバーのイメージにアクセスする方法を説明します。マップを作成するには,次の情報が必要です。
マップタ@ @ルの取得。
マップ名の取得。
タ@ @ルの形式の取得。
この例では,USGSのWebサ,ビスの関数USGSImageryOnly_MapServer
を呼び出してこの情報を取得する方法を説明します。
Java®JDK™およびApache CXFプ™ログラムをインストールし,ツールパスを設定して次の例を実行します。
p = matlab.wsdl.setWSDLToolPath;如果(isempty(p.JDK) || isempty(p.CXF))安装JDK和Apache CXF程序) disp (“请参阅本例末尾的设置WSDL工具链接。”)其他的disp (路径设置为:) matlab.wsdl.setWSDLToolPath结束
現在のフォルダ,を書き込み可能なフォルダ,に変更します。
WSDLのurlを割り当てます。
wsdlFile =...“http://basemap.nationalmap.gov/arcgis/services/USGSImageryOnly/MapServer?wsdl”;
クラ▪▪アントのクラスファ▪▪ルを作成します。
matlab.wsdl.createWSDLClient (wsdlFile)
已创建USGSImageryOnly_MapServer. .\USGSImageryOnly_MapServer. .m .\+wsdl为了使用USGSImageryOnly_MapServer,必须运行javaaddpath('.\+wsdl\mapserver.jar')。ans = @USGSImageryOnly_MapServer
jarファaapl . jarルをJavaパスに追加します。
javaaddpath (“\ wsdl + \ mapserver.jar。”)
サ,ビスを起動します。
wsdl = USGSImageryOnly_MapServer;
サビスにいて調べます。
帮助USGSImageryOnly_MapServer
USGSImageryOnly_MapServer连接USGSImageryOnly_MapServer服务的客户端service = USGSImageryOnly_MapServer连接http://basemap.nationalmap.gov/arcgis/services/USGSImageryOnly/MapServer并返回service。要与服务通信,调用service上的函数:[…]= FUNCTION(SERVICE,arg,…)有关函数列表,请参阅USGSImageryOnly_MapServer文档。
リンク医生USGSImageryOnly_MapServer
をクリックします。MATLAB®によりヘルプブラウザ,にUSGSImageryOnly_MapServer
のリファレンスペ,ジが開きます。
関数GetMapTile
に必要な入力のドキュメンテ,ションを読みます。
帮助GetMapTile
——help for USGSImageryOnly_MapServer/GetMapTile——GetMapTile Result = GetMapTile(obj,MapName,Level,Row,Column,Format)输入:obj - USGSImageryOnly_MapServer对象MapName - string Level -数字标量(XML int) Row -数字标量(XML int) Column -数字标量(XML int) Format - string输出:Result -数字向量0-255 (XML base64Binary)参见USGSImageryOnly_MapServer。
MapName
、水平
、行
、列
および格式
の入力引数が必要です。
マップ名GetDefaultMapName
を提供する関数のドキュメンテ,ションを読みます。
帮助GetDefaultMapName
——help for USGSImageryOnly_MapServer/GetDefaultMapName——GetDefaultMapName Result = GetDefaultMapName(obj)输入:obj - USGSImageryOnly_MapServer对象输出:Result - string参见USGSImageryOnly_MapServer。
関数がマップ名を提供します。
マップ形式情報GetTileImageInfo
を提供する関数のドキュメンテ,ションを読みます。
帮助GetTileImageInfo
——help for USGSImageryOnly_MapServer/GetTileImageInfo——GetTileImageInfo Result = GetTileImageInfo(obj,MapName)输入:obj - USGSImageryOnly_MapServer对象MapName - string输出:Result - TileImageInfo对象参见USGSImageryOnly_MapServer。
この関数は,TileImageInfo
オブジェクトを返します。
TileImageInfo
のヘルプ表示にあるリンクをクリックしてTileImageInfo
オブジェクトのドキュメンテ,ションを読みます。
TileImageInfo(CacheTileFormat,CompressionQuality,Antialiasing) TileImageInfo对象,用于USGSImageryOnly_MapServer web客户端。CacheTileFormat string缓存瓷砖格式。CompressionQuality -数字标量(XML int)缓存平片图像压缩质量。Antialiasing - string参见USGSImageryOnly_MapServer。
Matlabによりヘルプブラウザ,にドキュメントが開きます。形式情報は,CacheTileFormat
です。
Jpegデ,タを作成します。次のコドにはjpegメジ形式とusgsル配置の知識が必要です。
获取默认映射名。defaultMapName = GetDefaultMapName(wsdl);获取地图计数。count = GetMapCount(wsdl);获取映射名称。只有一个映射(计数值),%,但是索引是从零开始的。mapName = GetMapName(wsdl, count-1);获得关于瓷砖的信息。tileImageInfo = GetTileImageInfo(wsdl, mapName);获取数据的格式。format = tileImageInfo.CacheTileFormat;由于format被指定为'Mixed',这意味着GetMapTile的结果是一个jpeg编码的流。地图贴图以最低级别为组织%最低层次的细节和瓷砖使用%从零开始的索引。Level = 0;Row = 0;Col = 0;jpeg = GetMapTile(wsdl,mapName,级别,行,col,格式);
Jpegエンコドデタをファルに書き込みます。imread
を使用してJPEGデ,タを読み取ってデコ,ドし,M x N x 3のuint8
の行列を返します。
ext =“jpg”;Tilename = [“USGSImageryOnly_MapServer”“0 _0_0”ext);Fid = fopen(tilename,' w ');写入文件(fid, jpeg)文件关闭(fid)
マップを表示します。
tileImage = imread(tilename);图imshow (tileImage)