マップのレンダリング
説明
インライン JSON マップ定義とリクエスト パラメータで定義されたマップのイメージを、指定された形式で返します。
RenderMap メソッドは、RenderNamedMap メソッドとよく似ていますが、名前付きマップを URL で指定せず、REST リクエストの JSON 本体でマップを定義する点が異なります。インライン定義のマップのレンダリングは、マップのビューをイメージとして取得する場合に使用し、表現 (例えば gif)、ラスタの次元、および、中心とズーム、中心と縮尺、境界ボックスのいずれかで表現されるビューを指定して行います。必要に応じて、ロケール、解像度 (DPI)、認証 (セキュリティ) 情報も指定できます。
本体の JSON 表現は GeoJSON 形式です。GeoJSON の詳細については、geojson.org/geojson-spec.html を参照してください。
レンダリングするビューの作成には、以下のルールが次の優先順位で適用されます。
- 中心とズームを指定し、その後、ビューを管理する他のすべてのパラメータは無視します (中心とズームについては、リクエスト内で c および z パラメータを指定する必要があります)。
- 中心と縮尺を指定した場合、ビューを設定するそれ以外のすべてのパラメータは無視される。中心と縮尺については、リクエスト内で c および s パラメータを指定する必要があります。
- bbox を指定した場合は、境界ボックスでビューが定義されます (境界ボックスについては、リクエスト内で b パラメータを指定する必要があります)。
- これらの要件を 1 つも満たさない場合、HTTP コード 404 (見つかりません) が返される
HTTP POST URL 形式
HTTP POST リクエストには次の形式を使用します。
HTTP POST: /maps/image.image type;
POST DATA: w=width;h=height;c=x,y,srs;z=zoom;s=scale;b=x1,y1,x2,y2,srs;
[r=resolution];[bc=background color];[bo=background opacity];
POST BODY: Content-Type:application/json {map definition}
パラメータ
以下のパラメータのタイプについては、リクエスト URL のデータ タイプを参照してください。
パラメータ | タイプ | 必須 | 説明 |
---|---|---|---|
image type | String | はい | 取得するイメージのタイプ (gif、png、jpg、bmp、jpeg、tiff) |
w=width | Integer | はい | イメージの幅 (ピクセル単位)。 |
h=height | Integer | はい | イメージの高さ (ピクセル単位)。 |
c=x, y, srs | Double、Double、String | 中心とズーム、または中心と縮尺を使用してビューを定義する場合のみ必須 | x, y の位置を示す地理的座標と srs 名 (空間参照系) で表すビューの中心。 |
z=zoom | Integer、String | 中心とズームを使用してビューを定義する場合のみ必須 | 距離単位で指定するビューの距離としてズームを指定します。ズームは、数字、1 つ以上のスペース文字、距離単位の略語 (mi、km、m など) が順に並ぶ文字列で表現します。 |
s=scale | Integer | 中心と縮尺を使用してビューを定義する場合のみ必須 | マップ ビューは、指定した縮尺にズーム表示されます。この縮尺値は、マップと現実世界の距離の値の比率を示すために使用されます。例えば、1000 という値を指定すると、マップの縮尺は 1:1000 になります (マップの 1 単位が現実世界の 1000 単位に相当します)。 |
b=x1, y1, x2, y2, srs | Double、Double、Double、Double、String | 境界ボックスを使用してビューを定義する場合のみ必須 | 現実世界の x, y 対角座標と srs 名 (空間参照系) でビュー全体を定義する境界ボックス。 |
r=resolution | Integer | いいえ | マップの DPI 解像度を整数として指定します。DPI は、マップ イメージの解像度を 1 インチあたりのドット数 (1 リニア インチ内に含めることのできるドットの数) で測定します。指定しない場合は、サーバーのデフォルトが使用されます。 |
bc=background color | String | いいえ | マップ イメージで使用する背景色。RRGGBB 形式で表現されます。指定されていない場合は、背景色が透明になります。 注: SOAP API とは異なり、16 進 Web カラーの前に # は付けません。 |
bo=background opacity | Double | いいえ |
背景色の透過性。background 属性と backgroundOpacity 属性が指定されている場合は、それらの値を使用して背景が描画されます。背景が使用されていない場合は、backgroundOpacity 属性に関係なく、背景が完全な透明になります。背景が使用されていても透過性が指定されていない場合は、背景が完全な不透明になります。 |
戻り値
指定された形式でマップのイメージを返します。
例
マップのレンダリングは、最も簡単な形として、単一の名前付きレイヤを定義し、イメージを返すことができます。この例では、マップは 400 x 400 ピクセル サイズの PNG として返され、マップ ビューは EPSG 27700 の境界ボックスで定義されます。マップは、JSON 本体で定義された単一のレイヤを使用して定義されます。
POST http://<server>:<port>/rest/Spatial/MappingService/maps/image.png;w=400;h=400;b=-140012,3087,736671,1193876,epsg%3A27700 HTTP/1.1
Content-type: application/json
Authorization: <Basic or Spectrum Token>
{
"layers":[
{
"type":"NamedLayer",
"name":"/Samples/NamedLayers/UK_REGNS_Layer"
}
]
}
以下の例は、さまざまな JSON マップ記述の定義方法を示したものです。
説明 | 例 |
---|---|
中心とズーム (複数レイヤ) | 例 |
境界ボックス (単一レイヤ) | 例 |
中心と縮尺 (複数レイヤ) | 例 |
レイヤのレンダリング可能性の設定 | 例 |
円グラフ レイヤ オーバーレイを含むマップ | 例 |
MapBasic スタイルを持つレコード数均等レンジ主題図 | 例 |
2 分位点(クオンタイル)レンジ主題図を含むフィーチャー レイヤ | 例 |
目盛り付き棒グラフ レイヤ | 例 |
折れ線グラフ レイヤ | 例 |
メトリック式を含むライン連結レイヤ | 例 |
Feature Service レスポンスを使用してマップをレンダリングする | 例 |
透明な青い背景でマップをレンダリングします。
http://<server>:<port>/rest/Spatial/MappingService/maps/image.png;w=256;h=256;b=-180,-90,180,90,epsg:4326;bc=0048FF;bo=.5
Content-type: application/json
Authorization: <Basic or Spectrum Token>
{
"layers":[
{
"type":"NamedLayer",
"name":"/Samples/NamedLayers/WorldcapFeatureLayer"
},
{
"type":"NamedLayer",
"name":"/Samples/NamedLayers/UK_REGNS_Layer"
},
{
"type":"NamedLayer",
"name":"/Samples/NamedLayers/WorldFeatureLayer"
}
]
}