Web ブラウザでの WMS サービスとの通信
このトピックでは、URL パラメータを使って Web ブラウザで WMS サービスと通信する方法を示します。
WMS リクエストとレスポンス
WMS 準拠のサーバによってサポートされる各オペレーションのオンライン リソースは HTTP URL(Uniform Resource Locator)なので、WMS サービスは REST(Representational State Transfer)サービスと見なすことができます。標準の Web サービスとは異なり、WMS サービスを使用するために SOAP クライアントは必要なく、Web ブラウザが最も単純なクライアントとなります。WMS サービスのサービス レベルのメタデータ、マップ イメージ、またはフィーチャの属性値を取得するには、サーバに URL リクエストを送信し、返されたレスポンスをブラウザで XML ドキュメントまたは画像として表示します。
WMS サービスによってサポートされる各オペレーションのリクエストとレスポンスのサンプルを、以下に示します。
GetCapabilities
リクエスト
XML レスポンス
<WMS_Capabilities version="1.3.0" xsi:schemaLocation="http://www.opengis.net/wms http://schemas.opengis.net/wms/1.3.0/capabilities_1_3_0.xsd http://www.esri.com/wms http://sampleserver1a.arcgisonline.com/ArcGIS/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer?version=1.3.0&service=WMS&request=GetSchemaExtension">
<Service>
<Name>WMS</Name>
<Title>Specialty/ESRI_StatesCitiesRivers_USA</Title>
<Abstract>WMS</Abstract>
<KeywordList>
<Keyword></Keyword>
</KeywordList>
<OnlineResource xlink:type="simple" xlink:href="http://sampleserver1a.arcgisonline.com/ArcGIS/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer"/>
<ContactInformation>
<ContactPersonPrimary>
<ContactPerson></ContactPerson>
<ContactOrganization></ContactOrganization>
</ContactPersonPrimary>
<ContactPosition></ContactPosition>
<ContactAddress>
<AddressType></AddressType>
<Address></Address>
<City></City>
<StateOrProvince></StateOrProvince>
<PostCode></PostCode>
<Country></Country>
</ContactAddress>
<ContactVoiceTelephone></ContactVoiceTelephone>
<ContactFacsimileTelephone></ContactFacsimileTelephone>
<ContactElectronicMailAddress></ContactElectronicMailAddress>
</ContactInformation>
<Fees></Fees>
<AccessConstraints></AccessConstraints>
<MaxWidth>2048</MaxWidth>
<MaxHeight>2048</MaxHeight>
</Service>
<Capability>
<Request>
<GetCapabilities>
<Format>application/vnd.ogc.wms_xml</Format>
<Format>text/xml</Format>
<DCPType>
<HTTP>
<Get>
<OnlineResource xlink:type="simple" xlink:href="http://sampleserver1a.arcgisonline.com/ArcGIS/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer"/>
</Get>
</HTTP>
</DCPType>
</GetCapabilities>
<GetMap>
<Format>image/bmp</Format>
<Format>image/jpeg</Format>
<Format>image/tiff</Format>
<Format>image/png</Format>
<Format>image/png8</Format>
<Format>image/png24</Format>
<Format>image/png32</Format>
<Format>image/gif</Format>
<Format>image/svg+xml</Format>
<DCPType>
<HTTP>
<Get>
<OnlineResource xlink:type="simple" xlink:href="http://sampleserver1a.arcgisonline.com/ArcGIS/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer"/>
</Get>
</HTTP>
</DCPType>
</GetMap>
<GetFeatureInfo>
<Format>application/vnd.esri.wms_raw_xml</Format>
<Format>application/vnd.esri.wms_featureinfo_xml</Format>
<Format>application/vnd.ogc.wms_xml</Format>
<Format>text/xml</Format>
<Format>text/html</Format>
<Format>text/plain</Format>
<DCPType>
<HTTP>
<Get>
<OnlineResource xlink:type="simple" xlink:href="http://sampleserver1a.arcgisonline.com/ArcGIS/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer"/>
</Get>
</HTTP>
</DCPType>
</GetFeatureInfo>
<esri_wms:GetStyles>
<Format>application/vnd.ogc.sld+xml</Format>
<DCPType>
<HTTP>
<Get>
<OnlineResource xlink:type="simple" xlink:href="http://sampleserver1a.arcgisonline.com/ArcGIS/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer"/>
</Get>
</HTTP>
</DCPType>
</esri_wms:GetStyles>
</Request>
<Exception>
<Format>application/vnd.ogc.se_xml</Format>
<Format>application/vnd.ogc.se_inimage</Format>
<Format>application/vnd.ogc.se_blank</Format>
<Format>text/xml</Format>
<Format>XML</Format>
</Exception>
<Layer>
<Title>Layers</Title>
<CRS>CRS:84</CRS>
<CRS>EPSG:4326</CRS>
<EX_GeographicBoundingBox>
<westBoundLongitude>-125.192865</westBoundLongitude>
<eastBoundLongitude>-66.105824</eastBoundLongitude>
<southBoundLatitude>19.416377</southBoundLatitude>
<northBoundLatitude>54.318281</northBoundLatitude>
</EX_GeographicBoundingBox>
<BoundingBox CRS="CRS:84" minx="-125.192865" miny="19.416377" maxx="-66.105824" maxy="54.318281"/>
<BoundingBox CRS="EPSG:4326" minx="19.416377" miny="-125.192865" maxx="54.318281" maxy="-66.105824"/>
<Layer queryable="1">
<Name>0</Name>
<Title>States</Title>
<Abstract>States</Abstract>
<CRS>CRS:84</CRS>
<CRS>EPSG:4326</CRS>
<EX_GeographicBoundingBox>
<westBoundLongitude>-178.217598</westBoundLongitude>
<eastBoundLongitude>-66.969271</eastBoundLongitude>
<southBoundLatitude>18.924782</southBoundLatitude>
<northBoundLatitude>71.406235</northBoundLatitude>
</EX_GeographicBoundingBox>
<BoundingBox CRS="CRS:84" minx="-178.217598" miny="18.924782" maxx="-66.969271" maxy="71.406235"/>
<BoundingBox CRS="EPSG:4326" minx="18.924782" miny="-178.217598" maxx="71.406235" maxy="-66.969271"/>
<Style>
<Name>default</Name>
<Title>0</Title>
<LegendURL width="76" height="16">
<Format>image/png</Format>
<OnlineResource xlink:href="http://sampleserver1a.arcgisonline.com/ArcGIS/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer?request=GetLegendGraphic%26version=1.3.0%26format=image/png%26layer=0" xlink:type="simple"/>
</LegendURL>
</Style>
</Layer>
<Layer queryable="1">
<Name>1</Name>
<Title>Rivers</Title>
<Abstract>Rivers</Abstract>
<CRS>CRS:84</CRS>
<CRS>EPSG:4326</CRS>
<EX_GeographicBoundingBox>
<westBoundLongitude>-164.765831</westBoundLongitude>
<eastBoundLongitude>-67.790980</eastBoundLongitude>
<southBoundLatitude>25.845557</southBoundLatitude>
<northBoundLatitude>70.409756</northBoundLatitude>
</EX_GeographicBoundingBox>
<BoundingBox CRS="CRS:84" minx="-164.765831" miny="25.845557" maxx="-67.790980" maxy="70.409756"/>
<BoundingBox CRS="EPSG:4326" minx="25.845557" miny="-164.765831" maxx="70.409756" maxy="-67.790980"/>
<Style>
<Name>default</Name>
<Title>1</Title>
<LegendURL width="76" height="16">
<Format>image/png</Format>
<OnlineResource xlink:href="http://sampleserver1a.arcgisonline.com/ArcGIS/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer?request=GetLegendGraphic%26version=1.3.0%26format=image/png%26layer=1" xlink:type="simple"/>
</LegendURL>
</Style>
</Layer>
<Layer queryable="1">
<Name>2</Name>
<Title>Cities</Title>
<Abstract>Cities</Abstract>
<CRS>CRS:84</CRS>
<CRS>EPSG:4326</CRS>
<EX_GeographicBoundingBox>
<westBoundLongitude>-158.064606</westBoundLongitude>
<eastBoundLongitude>-67.986769</eastBoundLongitude>
<southBoundLatitude>19.696150</southBoundLatitude>
<northBoundLatitude>64.869104</northBoundLatitude>
</EX_GeographicBoundingBox>
<BoundingBox CRS="CRS:84" minx="-158.064606" miny="19.696150" maxx="-67.986769" maxy="64.869104"/>
<BoundingBox CRS="EPSG:4326" minx="19.696150" miny="-158.064606" maxx="64.869104" maxy="-67.986769"/>
<Style>
<Name>default</Name>
<Title>2</Title>
<LegendURL width="72" height="16">
<Format>image/png</Format>
<OnlineResource xlink:href="http://sampleserver1a.arcgisonline.com/ArcGIS/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer?request=GetLegendGraphic%26version=1.3.0%26format=image/png%26layer=2" xlink:type="simple"/>
</LegendURL>
</Style>
</Layer>
</Layer>
</Capability>
</WMS_Capabilities>
モザイク データセットからの GetMap
モザイク データセットに基づく WMS サービスでは、TIME パラメータと IMAGES パラメータを追加できます。
時間
TIME - 時間インスタンスまたは時間範囲を指定することによって時間の検索をサポートします。形式は、YYYYMMDDHHMMSS、YYYYMMDD、YYYYMM、または YYYY のようになります。
TIME=1999(1999 年の間)
リクエスト
http://server_name/arcgis/services/service_name/ImageServer/WMSServer?REQUEST=GetMap&SERVICE=WMS&VERSION=1.3.0&LAYERS=0&STYLES=&FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=TRUE&CRS=EPSG:4326&BBOX=17.9995833333334,-161.000416666667,23.0004166666666,-153.999583333333&WIDTH=981&HEIGHT=826&TIME=1999
TIME=1980/2010(1980 年 ~ 2010 年の間)
リクエスト
http://server_name/arcgis/services/service_name/ImageServer/WMSServer?REQUEST=GetMap&SERVICE=WMS&VERSION=1.3.0&LAYERS=0&STYLES=&FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=TRUE&CRS=EPSG:4326&BBOX=17.9995833333334,-161.000416666667,23.0004166666666,-153.999583333333&WIDTH=981&HEIGHT=826&TIME=1980/2010
TIME=1999-12-31T14:30:30/2000-01-01T14:30:30
リクエスト
http://server_name/arcgis/services/service_name/ImageServer/WMSServer?REQUEST=GetMap&SERVICE=WMS&VERSION=1.3.0&LAYERS=0&STYLES=&FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=TRUE&CRS=EPSG:4326&BBOX=17.9995833333334,-161.000416666667,23.0004166666666,-153.999583333333&WIDTH=981&HEIGHT=826&TIME=1999-12-31T14:30:30/2000-01-01T14:30:30
画像
IMAGES - 個々のラスタの検索をサポートします。
リクエスト
http://server_name/arcgis/services/service_name/ImageServer/WMSServer?REQUEST=GetMap&SERVICE=WMS&VERSION=1.3.0&LAYERS=0&STYLES=&FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=TRUE&CRS=EPSG:4326&BBOX=17.9995833333334,-161.000416666667,23.0004166666666,-153.999583333333&WIDTH=981&HEIGHT=826&images=1
IMAGES=1,2(数値はイメージ サービス カタログ テーブルのオブジェクト ID を示します)
リクエスト
http://server_name/arcgis/services/service_name/ImageServer/WMSServer?REQUEST=GetMap&SERVICE=WMS&VERSION=1.3.0&LAYERS=0&STYLES=&FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=TRUE&CRS=EPSG:4326&BBOX=17.9995833333334,-161.000416666667,23.0004166666666,-153.999583333333&WIDTH=981&HEIGHT=826&images=1,2
GetFeatureInfo
リクエスト
XML レスポンス
<FeatureInfoResponse>
<FIELDS FID="14" Shape="Null" AREA="77330.258" STATE_NAME="Nebraska" STATE_FIPS="31" SUB_REGION="W N Cen"
STATE_ABBR="NE" POP1990="1578385" POP1999="1671251" POP90_SQMI="20" HOUSEHOLDS="602363" MALES="769439"
FEMALES="808946" WHITE="1480558" BLACK="57404" AMERI_ES="12410" ASIAN_PI="12422" OTHER="15591"
HISPANIC="36969" AGE_UNDER5="119606" AGE_5_17="309406" AGE_18_29="281105" AGE_30_49="441470"
AGE_50_64="203730" AGE_65_UP="223068" NEVERMARRY="295873" MARRIED="719288" SEPARATED="13552"
WIDOWED="96052" DIVORCED="90230" HSEHLD_1_M="63686" HSEHLD_1_F="95985" MARHH_CHD="171428"
MARHH_NO_C="179086" MHH_CHILD="7603" FHH_CHILD="34583" HSE_UNITS="660621" VACANT="58258"
OWNER_OCC="400394" RENTER_OCC="201969" MEDIAN_VAL="50400" MEDIANRENT="282" UNITS_1DET="479124"
UNITS_1ATT="15767" UNITS2="18369" UNITS3_9="46246" UNITS10_49="49402" UNITS50_UP="9656"
MOBILEHOME="37046" NO_FARMS87="60502" AVG_SIZE87="749" CROP_ACR87="23320162" AVG_SALE87="110197"/>
</FeatureInfoResponse>
GetStyles
リクエスト
XML レスポンス
<sld:StyledLayerDescriptor version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
<!-- layer "0" -->
<sld:NamedLayer>
<sld:Name>0</sld:Name>
<!-- NamedStyle -->
<sld:NamedStyle>
<sld:Name>default</sld:Name>
</sld:NamedStyle>
<!-- UserStyle -->
</sld:NamedLayer>
<!-- layer "1" -->
<sld:NamedLayer>
<sld:Name>1</sld:Name>
<!-- NamedStyle -->
<sld:NamedStyle>
<sld:Name>default</sld:Name>
</sld:NamedStyle>
<!-- UserStyle -->
</sld:NamedLayer>
<!-- layer "2" -->
<sld:NamedLayer>
<sld:Name>2</sld:Name>
<!-- NamedStyle -->
<sld:NamedStyle>
<sld:Name>default</sld:Name>
</sld:NamedStyle>
<!-- UserStyle -->
</sld:NamedLayer>
</sld:StyledLayerDescriptor>
GetLegendGraphic
リクエスト
レスポンスの凡例のグラフィックス
多くの場合、Web ブラウザは WMS クライアントとして推奨されませんが、WMS サーバとクライアント間のやり取りを追跡し、デバッグするツールとしては常に推奨されます。
WMS リクエスト パラメータ
OGC WMS 仕様は、各 WMS オペレーションで使用できるリクエスト パラメータを完全に定義しています。さまざまなバージョンの OGC WMS 実装仕様については、次のリンクをご参照ください。
以下の表に、WMS の実装に適用されるリクエスト パラメータをすべて示します。これは仕様で定義されているリクエスト パラメータのほんの一部にすぎません。
WMS GetCapabilities リクエストの URL のパラメータ
必須/オプション |
デフォルト値 |
説明 | |
---|---|---|---|
VERSION/WMTVER |
オプション |
1.3.0(9.3 以降) 1.1.1 (9.2) |
リクエスト バージョン。WMTVER は WMS 1.0.0 でのみ使用します。WMS 1.0.0 以外では、VERSION を使用します。 |
SERVICE |
必須 |
なし |
サービス タイプ。WMS に設定する必要があります。WMS 1.0.0 ではパラメータは使用できません。 |
REQUEST |
必須 |
なし |
リクエスト名。GetCapabilities に設定する必要があります。WMS 1.0.0 の場合、capabilities に設定する必要があります。 |
FORMAT |
オプション |
text/xml(9.3 以降) |
サービス メタデータの出力形式。これは WMS 1.3.0 だけで使用可能です(たとえば、application/vnd.ogc.wms_xml、text/plain、text/html)。 |
WMS GetMap リクエストの URL のパラメータ
必須/オプション |
デフォルト値 |
説明 | |
---|---|---|---|
VERSION/WMTVER |
必須 |
なし |
リクエスト バージョン。WMTVER は WMS 1.0.0 でのみ使用します。WMS 1.0.0 以外では、VERSION を使用します。 |
REQUEST |
必須 |
なし |
リクエスト名。GetMap に設定する必要があります。WMS 1.0.0 の場合、map に設定する必要があります。 |
LAYERS |
必須 |
なし |
1 つまたは複数のマップ レイヤのカンマ区切りリスト(たとえば、0,1,2 や layer1,layer2)。 |
STYLES |
必須 |
なし |
1 つまたは複数のスタイルのカンマ区切りリスト。リクエストされたレイヤごとに 1 つのレイヤ(たとえば、0,1,2 や layer1,layer2)。 |
CRS/SRS |
必須 |
なし |
座標系。CRS は WMS 1.3.0 だけで使用されます。それ以外の場合には SRS を使用します(たとえば、EPSG:4326 や EPSG:4269)。 |
BBOX |
必須 |
なし |
CRS/SRS の単位のバウンディング ボックスの角(左下と右上)(たとえば、-180、-90、180、90)。 |
WIDTH |
必須 |
なし |
マップ ピクチャのピクセル単位の幅(1024 など)。 |
HEIGHT |
必須 |
なし |
マップ ピクチャのピクセル単位の高さ(768 など)。 |
FORMAT |
必須 |
なし |
マップの出力形式(たとえば、image/png、image/jpeg、image/svg+xml)。 |
TRANSPARENT |
オプション |
False |
背景が透明かどうかを決定します(それぞれ、True または False で表します)。 |
BGCOLOR |
オプション |
0xFFFFFF |
マップの背景の 16 進数の RGB カラー(たとえば、0xFFFFFF、FFFFFF)。 |
SLD |
オプション |
"" |
Styled Layer Descriptor XML ファイルの URL。 |
SLD_BODY | オプション | "" | Styled Layer Descriptor ファイルの XML 本文。 |
TIME | オプション | "" | 要求されたレイヤの時間値。 |
EXCEPTIONS |
オプション |
text/xml(WMS 1.3.0) application/vnd.ogc.se_xml(WMS 1.1.1 および WMS 1.1.0) application/vnd.ogc.inimage(WMS 1.0.0) |
例外通知のフォーマット(たとえば、text/xml や text/html)。 |
WMS GetFeatureInfo リクエストの URL のパラメータ
必須/オプション |
デフォルト値 |
説明 | |
---|---|---|---|
VERSION/WMTVER |
必須 |
なし |
リクエスト バージョン。WMTVER は WMS 1.0.0 でのみ使用します。WMS 1.0.0 以外では、VERSION を使用します。 |
REQUEST |
必須 |
なし |
リクエスト名。GetFeatureInfo に設定する必要があります。WMS 1.0.0 の場合、feature_info に設定する必要があります。 |
マップ リクエストの一部 |
必須 |
なし |
情報を必要としているマップを生成した、GetMap リクエスト パラメータの部分的なコピー。 |
QUERY_LAYERS |
必須 |
なし |
検索対象の 1 つまたは複数のマップ レイヤのカンマ区切りリスト(たとえば、0,1,2 や layer1,layer2)。 |
INFO_FORMAT |
必須(WMS 1.3.0) オプション(WMS 1.1.1、1.1.0、1.0.0) |
なし(WMS 1.3.0) text/xml(WMS 1.1.1、1.1.0、1.0.0) |
フィーチャ情報のリターン形式(たとえば、text/xml や text/html)。 |
I/X |
必須 |
なし |
マップ座標系におけるフィーチャのピクセル単位の X 座標(100 など)。WMS 1.3.0 には I を使用します。それ以外の場合には X を使用します。 |
J/Y |
必須 |
なし |
マップ座標系におけるフィーチャのピクセル単位の Y 座標(100 など)。WMS 1.3.0 には J を使用し、それ以外の場合には Y を使用します。 |
TIME | オプション | "" | 要求されたレイヤの時間値。 |
EXCEPTIONS |
オプション |
text/xml(WMS 1.3.0) application/vnd.ogc.se_xml(WMS 1.1.1 および WMS 1.1.0) application/vnd.ogc.inimage(WMS 1.0.0) |
例外通知のフォーマット(たとえば、text/xml や text/html)。 |
WMS GetStyles リクエストのパラメータ
必須/オプション |
デフォルト値 |
説明 | |
---|---|---|---|
VERSION |
必須 |
1.3.0(9.3 以降) 1.1.1 (9.2) |
OGC インタフェースに必要なバージョン。 |
REQUEST |
必須 |
なし |
リクエスト名。GetStyles に設定する必要があります。 |
LAYERS |
必須 |
なし |
スタイルの説明を取得する、名前を付けたレイヤのカンマ区切りリスト。 |
SLDVER |
オプション |
1.0.0 (10.0) |
SLD ドキュメントのためにリクエストされた SLD バージョン。バージョン 1.0.0 のみがサポートされています。 |
WMS GetLegendGraphic リクエストのパラメータ
必須/オプション |
デフォルト値 |
説明 | |
---|---|---|---|
VERSION |
必須 |
1.3.0(9.3 以降) 1.1.1 (9.2) |
OGC インタフェースに必要なバージョン。 |
REQUEST |
必須 |
なし |
リクエスト名。GetLegendGraphic に設定する必要があります。 |
LAYER |
必須 |
なし |
凡例のグラフィックスを作成するレイヤ。 |
STYLE |
オプション |
デフォルト |
凡例のグラフィックスを作成するレイヤのスタイル。存在しない場合、デフォルトのスタイルが選択されます。スタイルには、レイヤに使用できる有効な任意のスタイルを使用できます(非 SLD 内部定義スタイルを含む)。 |
RULE | オプション | "" | 該当する場合、凡例のグラフィックスを作成するスタイルのルール。スタイルに複数のルールがあり、特定のルールが選択されていない場合、マップ サービスはスタイルのすべてのルールを表現するグラフィックスを作成することになります。 |
SLD | オプション | "" | SLD ドキュメントへの参照を指定します。これは WMS GetMap オペレーションの SLD= パラメータと同様に動作します。 |
SLD_BODY | オプション | "" | SLD ドキュメントが HTTP GET リクエストに直接含まれるようにします。これは WMS GetMap オペレーションの SLD_BODY パラメータと同様に動作します。 |
FORMAT | オプション | image/png(png24) | 凡例グラフィックスを返す際のファイル形式の MIME タイプ。使用可能な値は WMS GetMap リクエストの FORMAT= パラメータのものと同じです。 |
WIDTH | オプション | 特定の凡例イメージに依存 | 返されるグラフィックスの幅(ピクセル単位)についての情報を示します。 |
HEIGHT | オプション | 特定の凡例イメージに依存 | 返されるグラフィックスの高さ(ピクセル単位)についての情報を示します。 |
EXCEPTIONS | オプション | text/xml(WMS 1.3.0) application/vnd.ogc.se_xml(WMS 1.1.1 および WMS 1.1.0) application/vnd.ogc.inimage(WMS 1.0.0) | 例外を返す際の形式の MIME タイプ。使用可能な値は WMS GetMap リクエストの EXCEPTIONS= パラメータのものと同じです。 |