<< Click to Display Table of Contents >>

 

REST 使用說明

 

 

在使用 REST(Representational State Transfer 表徵狀態轉移)之前,您需事先於 SuperGIS Server 底下建立一「public」資料夾,之後,參照以下說明,便可存取所有放置於此 public 資料夾中的資料夾與服務資源。

請注意:該資料夾名稱務必為英文「public」,勿使用中文命名該資料夾。

 存取public資料夾底下所有資料夾與服務資源:

 欲存取 public 資料夾底下所有資料夾與服務資源,請輸入下列 URL 網址:

 http://xxx.xxx.xxx.xxx/SGSPWS/SGSPAgent.ashx/REST/?format=

 請於上述網址中的「xxx」部份輸入您伺服器所使用的 IP 位址,如:

 http://localhost/SGSPWS/SGSPAgent.ashx/REST/?format=

 其中,網址後方的「format」允許使用者下達不同的參數,以獲取不同格式,本產品所提供的格式如以下三種:

 a. HTML: http://xxx.xxx.xxx.xxx/SGSPWS/SGSPAgent.ashx/REST/?format=HTML

 b. XML: http://xxx.xxx.xxx.xxx/SGSPWS/SGSPAgent.ashx/REST/?format=XML

 c. JSON: http://xxx.xxx.xxx.xxx/SGSPWS/SGSPAgent.ashx/REST/?format=JSON

 若您將格式後方留白,系統將自動填入預設的 HTML 規格。

 

 

1.

存取特定服務資源內容

 欲存取特定服務資源,請輸入下列 URL 網址:

 http://xxx.xxx.xxx.xxx/SGSPWS/SGSPAgent.ashx/REST/path/resource.cfg/?format=

 其中的「path」請填鍵您存放資料夾的路徑,而「resource」則請填入服務資源名稱,舉例如下:

a.

輸入「http://localhost/SGSPWS/SGSPAgent.ashx/REST/public/test.cfg/?format=」,可自 public 資料夾存取 test.cfg 服務資源。

b.

輸入「http://localhost/SGSPWS/SGSPAgent.ashx/REST/public/A/test.cfg/?format=」,可自 public 資料夾裏的「A 資料夾」中,存取 test.cfg 服務資源。

 

 

2.

指定存取特定服務資源的某圖層

 欲存取特定服務資源的某筆圖層,請輸入下列 URL 網址:

 http://xxx.xxx.xxx.xxx/SGSPWS/SGSPAgent.ashx/REST/path/resource.cfg/n/?format=

 「n」代表該筆圖層的順序數,數字 0 代表第一層,舉例如下:

 http://localhost/SGSPWS/SGSPAgent.ashx/REST/public/test.cfg/1/?format=

 輸入此網址,可自 public 資料夾裏的 test.cfg 服務資源存取第二筆圖層。

 

 

3.

查詢

 欲使用查詢功能,您可選擇使用 WKT 或 SQL 這兩種語法。

  a. 欲使用 SQL 語法進行查詢,請輸入下列 URL 網址:

   http://xxx.xxx.xxx.xxx/SGSPWS/SGSPAgent.ashx/REST/path/resource.cfg/n/Query/?format=&expr=

   請於「&expr=」字串後輸入 SQL 語法。以下列 URL 網址為例:

   http://localhost/SGSPWS/SGSPAgent.ashx/REST/public/test.cfg/0/Query/?format=&expr= %5BKIND%5D+%3D+%27School%27

   輸入此網址,則您可使用 SQL  語法如:[KIND] = ‘School’,查詢 public 資料夾底下,test.cfg 服務資源中的首筆圖層。

   自下列說明,您可以得知如何將 SQL 轉換為 URL 的型態:

   1. 於您的網頁瀏覽器輸入下列 URL 網址:

    http://xxx.xxx.xxx.xxx/SGSPWS/SGSPAgent.ashx/REST/path/resource.cfg/n/Query/

   2. 如下圖所示,於瀏覽器中的 SQL 欄位輸入欲查詢的 SQL 語法,例如 [KIND] = ‘School’:

 

 

 

 

   3. 如圖所示,點擊「Query」之後,您便可以於網址處獲得轉換後的 SQL 語法:

 

 

 

 

  b. 欲使用 WKT 語法進行查詢,請輸入下列 URL 網址:

   http://xxx.xxx.xxx.xxx/SGSPWS/SGSPAgent.ashx/REST/path/resource.cfg/n/Query/?format=&geom=

   請於「&geom=」字串後輸入 WKT 語法。以下列 URL 網址為例:

   http://localhost/SGSPWS/SGSPAgent.ashx/REST/public/test.cfg/0/Query/?format=&geom=POINT+%28121+25%29

輸入此網址,則您可使用WKT 語法如:「POINT (121 25)」,查詢 public 資料夾底下,test.cfg 服務資源的中的首筆圖層。請注意,此處的坐標格式應與您當下所使用的坐標系統格式相符。

   以下舉出常用空間查詢的例子:

 

Type

Examples

Point

POINT (30 10)

LineString

LINESTRING (30 10, 10 30, 40 40)

Polygon

POLYGON ((30 10, 10 20, 20 40, 40 40, 30 10))

POLYGON ((35 10, 10 20, 15 40, 45 45, 35 10),

(20 30, 35 35, 30 20, 20 30))

 

Type

Examples

MultiPoint

MULTIPOINT ((10 40), (40 30), (20 20), (30 10))

MultiLineString

MULTILINESTRING ((10 10, 20 20, 10 40),

(40 40, 30 30, 40 20, 30 10))

MultiPolygon

MULTIPOLYGON (((30 20, 10 40, 45 40, 30 20)),

((15 5, 40 10, 10 20, 5 10, 15 5)))

MULTIPOLYGON (((40 40, 20 45, 45 30, 40 40)),

((20 35, 45 20, 30 5, 10 10, 10 30, 20 35),

(30 20, 20 25, 20 15, 30 20)))

 

 

4.

存取已發佈服務裏的影像圖

 欲存取已發怖之影像圖,請輸入下列URL 網址:

 http://xxx.xxx.xxx.xxx/SGSPWS/SGSPAgent.ashx/REST/path/resource.cfg/MapImage/?format=&left=&top=&right=&bottom=&width=&height=

 請輸入地圖範圍、影像圖寬度與高度,以下列URL網址為例:

 http://localhost/SGSPWS/SGSPAgent.ashx/REST/public/test.cfg/MapImage/?format=&left=121&top=25&right=123&bottom=22&width=256&height=256

輸入此網址,您將取得一張尺寸為 256 乘 256(像素)的影像圖,而地圖範圍為「左:經度 121 度;上:緯度 25 度;右:經度 123 度;下:緯度 22 度」。請注意,用來標示此地圖範圍的四個數字,其所採用的標示格式,應與您當下所使用的坐標系統格式相符。

 欲取得不同格式圖檔,請於「?format=」字串後輸入您所指定的圖檔格式,如:

 http://localhost/SGSPWS/SGSPAgent.ashx/REST/public/test.cfg/MapImage/?format=image/png&left=121&top=25&right=123&bottom=22&width=256&height=256

 

 

5.

存取已發佈服務之圖磚

 欲存取已發佈服務之圖磚,請輸入下列 URL 網址:

 http://xxx.xxx.xxx.xxx/SGSPWS/SGSPAgent.ashx/REST/path/resource.cfg/Tile/S/C/R/L

其中,「S」為比例層級;「C」用於指定為「第幾欄」的欄位;「R」用於指定為「第幾列」的資料列;「L」則為圖例索引。以下列 URL 為例:

 http://localhost/SGSPWS/SGSPAgent.ashx/REST/public/test.cfg/Tile/0/0/0/0

輸入此 URL,您可自 public 資料夾底下,test.cfg 服務資源的首筆圖層中,存取「位於第一列,第一欄」的圖磚,且該圖磚的比例層級為第一階。

 

 

6.

自特定服務資源中的圖層存取圖例

 欲存取圖例,請輸入下列 URL 網址:

 http://xxx.xxx.xxx.xxx/SGSPWS/SGSPAgent.ashx/REST/path/resource.cfg/n/Legend/?format=

 以下列URL 為例:

 http://xxx.xxx.xxx.xxx/SGSPWS/SGSPAgent.ashx/REST/public/test.cfg/0/Legend/?format=

 輸入該 URL 後,您可存取 public 資料夾底下,test.cfg 服務資源裏首筆圖層的圖例。

 

 

請注意:

欲存取其他「非」public 資料夾底下的資料夾或服務資源,您需要先「登入」:

請在瀏覽器網址列輸入網址:「http://xxx.xxx.xxx.xxx/SGSPWS/SGSPAgent.htm」 並前往之,後請輸入您的帳號密碼進行登入。

如下圖所示:

 

 

 

 

登入後,請於瀏覽器網址列輸入網址:「http://xxx.xxx.xxx.xxx/SGSPWS/SGSPAgent.ashx/REST/?format=」 並前往之,您便可如圖所示般,見到其他「非」public 資料夾底下的資料夾或服務資源:

 

 

 

 

「登入」是為一種「帶有身份的使用狀態」,而在使用 REST 進行開發的過程中,所要求的則是「無狀態性」(即「無登入」);因此,並不建議您以登入的身份於 REST 進行應用程式開發。最好的方法,是將您所欲發佈的服務均存放於先前所述的「public 資料夾」裏,再進行開發事宜。

 

 


©2017 Supergeo Technologies Inc. All rights reserved.