ALPSLAB api - ALPSLAB print API

概要

ALPSLAB print APIはALPSLAB printで利用されているミニ地図帳や全面地図のPDF印刷機能のAPI版です。 従来のALPSLAB printの機能に加え、任意の場所に複数のアイコンを表示し、詳細テキスト情報を表示することも可能になりました。

提供する地図PDFのタイプ

提供する地図のタイプは全面地図印刷とミニ地図帳印刷それぞれにシンプルバージョンとカスタムバージョンがあり計4つの タイプがあります。
  • シンプルバージョン
    • type=simplepaper : ALPSLAB baseから使える全画面地図がサイズ指定可能になったもの(シンプル全面地図)
    • type=simplebook : ALPSLAB baseから使えるミニ地図帳がサイズ指定可能になったもの(シンプルミニ地図帳)
  • カスタムバージョン
    • type=mypaper : simplepaper にアイコンを載せることが可能になったもの(カスタム全面地図)
    • type=mybook : simplebook にアイコンを載せることが可能になったもの(カスタムミニ地図帳)
シンプルバージョン カスタムバージョン
全面地図 simplepaper mypaper
ミニ地図帳 simplebook mybook

URL

http://api.alpslab.jp/v1/print

全般的な仕様

  • 指定可能な縮尺値: 5000,10000,25000,70000,250000,500000,1000000,3000000,5000000,26000000
    • ※ 実際に紙に印刷される地図の縮尺とは異なります。
    • ※ 指定した場所によっては地図が存在しない場合があります。
  • 指定可能な紙サイズの限界
    • 最小サイズ: 10mm×10mm 程度
    • 最大サイズ: A0紙(841mm×1189mm) 程度
  • 指定可能な地図拡大率の目安
    • 指定可能な拡大率の目安。紙サイズは地図印刷部分のサイズ(マージン部分は地図印刷部分に含めない)。
      • A1: 4.00 ~ 10.0
      • A2: 2.00 ~ 10.0
      • A3: 1.00 ~ 10.0
      • A4: 0.50 ~ 10.0
      • A5: 0.25 ~ 10.0
    • 可能な拡大率の範囲を超えて指定した場合は、可能な限り、地図のサイズをそのままにし、拡大率を自動的に調整します。
  • エラー時の処理について
    • パラメータ不備の場合
      • 可能な限り何らかのPDFデータを返すが、返せない場合は HTTP Status コード にて 418 を返す (HTTP/1.x 418 I'm a teapot RFC2324)
    • 内部エラー時の場合
      • HTTP Status コード にて 418 を返す (HTTP/1.x 418 I'm a teapot RFC2324)

個別の仕様

ALPSLAB print API (type=simplepaper) 仕様

  • 印刷サイズ
    • 任意のサイズが可能。
  • ページ構成
    • 全面印刷1ページ
リクエストパラメータ(RESTリクエストの構築はこちらをご覧ください
パラメータ 説明
appid(必須) string アプリケーションIDを指定します。詳細はこちらをご覧ください。
type(必須) string 地図の種類を指定します。(simplepaper固定)
center(必須) string 印刷する地図の中心点の緯度経度を指定します。緯度経度は度/分/秒形式(日本測地系)で緯度と経度は(,)で区切ります。
layer string 地図の縮尺を指定します。指定可能な値はこちらをご覧ください。省略時は指定した緯度経度の最大縮尺が適用されます。
paper string 印刷する紙の大きさを指定します。A4_PORTRAIT(A4縦), A4_LANDSCAPE(A4横), A3_PORTRAIT(A3縦), A3_LANDSCAPE(A3横), カンマで区切った7つの数値(横幅ミリメートル,縦幅ミリメートル,左端マージン,右端マージン,上端マージン,下端マージン,地図拡大率)を指定することも可能です。省略時はA4_PORTRAITが選択されます。また各マージンはミリメートル単位で指定してください。
リクエスト例
http://api.alpslab.jp/v1/print?appid=guest&type=simplepaper&center=35/0/0.0,135/0/0.0&layer=25000&paper=A4_PORTRAIT http://api.alpslab.jp/v1/print?appid=guest&type=simplepaper&center=35/0/0.0,135/0/0.0&layer=25000&paper=A4_PORTRAIT http://api.alpslab.jp/v1/print?appid=guest&type=simplepaper&center=35/40/39.905,139/46/13.911&layer=5000&paper=A3_LANDSCAPE http://api.alpslab.jp/v1/print?appid=guest&type=simplepaper&center=35/40/39.905,139/46/13.911&layer=5000&paper=A3_LANDSCAPE

ALPSLAB print API (type=simplebook) 仕様

  • 印刷サイズ
    • A4サイズ固定。
  • 基本的なページ構成
    • P1-2: 指定した縮尺の見開き地図
    • P3-4: 見開き地図(1つ広域の縮尺)
    • P5-6: 見開き地図(2つ広域の縮尺)
    • ※ 指定した縮尺の地図が存在しない場合、自動的に最適な縮尺が適用されます。
リクエストパラメータ(RESTリクエストの構築はこちらをご覧ください
パラメータ 説明
appid(必須) string アプリケーションIDを指定します。詳細はこちらをご覧ください。
type(必須) string 地図の種類を指定します。(simplebook固定)
center(必須) string 印刷する地図の中心点の緯度経度を指定します。緯度経度は度/分/秒形式(日本測地系)で緯度と経度は(,)で区切ります。
layer string 地図の縮尺を指定します。指定可能な値はこちらをご覧ください。省略時は指定した緯度経度の最大縮尺が適用されます。
※ 指定した縮尺において地図が存在しない場合は、近い縮尺を選択します。
※ 指定した縮尺より2つ広域の縮尺が存在しない場合は、指定した縮尺より詳細の縮尺を選択します。26000000や5000000を指定した場合には3000000を指定したのと同様の結果を返します。
リクエスト例
http://api.alpslab.jp/v1/print?appid=guest&type=simplebook&center=35/0/0.0,135/0/0.0&layer=25000 http://api.alpslab.jp/v1/print?appid=guest&type=simplebook&center=35/0/0.0,135/0/0.0&layer=25000 http://api.alpslab.jp/v1/print?appid=guest&type=simplebook&center=35/40/39.905,139/46/13.911&layer=5000 http://api.alpslab.jp/v1/print?appid=guest&type=simplebook&center=35/40/39.905,139/46/13.911&layer=5000

ALPSLAB print API (type=mypaper) 仕様

  • 印刷サイズ
    • 任意のサイズが可能。
  • ページ構成
    • 全面印刷1ページ
  • 表示アイコンのプロパティ(論理的なデータ構造。これを念頭においてAPIを使うこと)
    • ID: number (地図やリストに表示するための優先順位(小さいほど優先的に表示)。範囲: 0~99)
    • アイコン種別ID: mark
    • 緯度経度: pos
リクエストパラメータ(RESTリクエストの構築はこちらをご覧ください
パラメータ 説明
appid(必須) string アプリケーションIDを指定します。詳細はこちらをご覧ください。
type(必須) string 地図の種類を指定します。(mypaper固定)
paper string A4_PORTRAIT(A4縦), A4_LANDSCAPE(A4横), A3_PORTRAIT(A3縦), A3_LANDSCAPE(A3横), カンマで区切った7つの数値 (横幅ミリメートル,縦幅ミリメートル,左端マージン,右端マージン,上端マージン,下端マージン,地図拡大率)を指定することも可能です。また各マージンはミリメートル単位で指定してください
pos+アイコンのID string アイコンの緯度と経度を指定します。緯度経度は度/分/秒形式(日本測地系)で緯度と経度は(,)で区切ります。
例) アイコンのIDが0の場合、パラメータ引数は「pos0」を指定する
mark+アイコンのID(緯度経度を指定した場合必須) string アイコンの種別IDを指定します。アイコン種別に関してはこちらをご覧ください。
例) アイコンのIDが0の場合、パラメータ引数は「mark0」を指定する

リクエスト例
http://api.alpslab.jp/v1/print?appid=guest&type=mypaper&paper=A4_PORTRAIT&pos0=35/0/0.0,135/0/0.0&mark0=pin0001 http://api.alpslab.jp/v1/print?appid=guest&type=mypaper&paper=A4_PORTRAIT&pos0=35/0/0.0,135/0/0.0&mark0=pin0001 http://api.alpslab.jp/v1/print?appid=guest&type=mypaper&paper=A3_LANDSCAPE&pos0=35/0/0.0,135/0/0.0&mark0=pin0001&pos1=35/40/39.905,139/46/13.911&mark1=pin0002 http://api.alpslab.jp/v1/print?appid=guest&type=mypaper&paper=A3_LANDSCAPE&pos0=35/0/0.0,135/0/0.0&mark0=pin0001&pos1=35/40/39.905,139/46/13.911&mark1=pin0002

ALPSLAB print API (type=mybook) 仕様

  • 印刷サイズ
    • A4サイズ
  • ページ構成
    • P1-2: 指定したアイコンがすべて掲載される地図で見開き
    • P3-4: 指定したアイコンがすべて掲載される地図で見開き(1つ広域の縮尺)
    • P5-6: 指定したアイコンの説明(アイコンの説明が2ページ分に満たない場合はP6がメモ帳になる。またアイコンの説明が2ページを超える分はリスト表示されない)
  • 表示アイコンのプロパティ(論理的なデータ構造。これを念頭においてAPIを使うこと)
    • ID: number (地図やリストに表示するための優先順位(小さいほど優先的に表示)。範囲: 0~99)
    • 名称: name
    • アイコン種別ID: mark
    • 緯度経度: pos
    • 説明: desc
リクエストパラメータ(RESTリクエストの構築はこちらをご覧ください
パラメータ 説明
appid(必須) string アプリケーションIDを指定します。詳細はこちらをご覧ください。
type(必須) string 地図の種類を指定します。(mybook固定)
title string 表紙に印刷される地図帳のタイトルを指定します。UTF8(URLエンコード)で指定してください。
pos+アイコンのID string アイコンの緯度と経度を指定します。緯度経度は度/分/秒形式(日本測地系)で緯度と経度は(,)で区切ります。
例) アイコンのIDが0の場合、パラメータ引数は「pos0」を指定する
mark+アイコンのID(緯度経度を指定した場合必須) string アイコンの種別IDを指定します。アイコン種別に関してはこちらをご覧ください。
例) アイコンのIDが0の場合、パラメータ引数は「mark0」を指定する
name+アイコンのID(緯度経度を指定した場合必須) string アイコンの名称を指定します。UTF8(URLエンコード)で指定してください。
例) アイコンのIDが0の場合、パラメータ引数は「name0」を指定する
desc+アイコンのID(緯度経度を指定した場合必須) string アイコンの説明文を指定します。UTF8(URLエンコード)で指定してください。
例) アイコンのIDが0の場合、パラメータ引数は「desc0」を指定する

リクエスト例
http://api.alpslab.jp/v1/print?appid=guest&type=mybook&title=mypoibook&pos0=35/0/0.0,135/0/0.0&mark0=pin0001&name0=private_place&desc0=this_is_my_private_place http://api.alpslab.jp/v1/print?appid=guest&type=mybook&title=mypoibook&pos0=35/0/0.0,135/0/0.0&mark0=pin0001&name0=private_place&desc0=this_is_my_private_place http://api.alpslab.jp/v1/print?appid=guest&type=mybook&title=my_poi_book&pos0=35/0/0.0,135/0/0.0&mark0=pin0001&name0=heso&desc0=this_point_is_heso&pos1=35/40/39.905,139/46/13.911&mark1=pin0002&name1=tokyo_station&desc1=this_point_is_tokyo_station http://api.alpslab.jp/v1/print?appid=guest&type=mybook&title=my_poi_book&pos0=35/0/0.0,135/0/0.0&mark0=pin0001&name0=heso&desc0=this_point_is_heso&pos1=35/40/39.905,139/46/13.911&mark1=pin0002&name1=tokyo_station&desc1=this_point_is_tokyo_station

備考

アイコン種別とID

以下に記号アイコンで指定するID番号(上)アイコンの画像(下)を示します。(実際のアイコンの大きさは64x64ピクセルです)

英数字系
0 1 2 3 4 5 6 7 8 9 10
a b c d e f g h i j k
l m n o p q r s t u v
w x y z

図形系
pin0000 pin0001 pin0002 pin0003 pin0004 pin0005 pin0006 pin0007
pin0008 pin0009 pin0010 pin0011 pin0012 pin0013 pin0014 pin0015
pin0016 pin0017 pin0018 pin0019 pin0020 pin0021 pin0022 pin0023
pin0024 pin0025 pin0026 pin0027 pin0028 pin0029 pin0030 pin0031
pin0032 pin0033 pin0034 pin0035 pin0036 pin0037 pin0038 pin0039
pin0040 pin0041 pin0042 pin0043 pin0044 pin0045 pin0046 pin0047
pin0048