主要内容

世界地図の表示

この例では,米国地質調査所(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)

関連するトピック