「取得 Authority 資料」:修訂間差異

出自DILA Wiki
imported>Winxd
imported>Winxd
行 76: 行 76:
=== 欄位說明 ===
=== 欄位說明 ===


1.AuthorityID :地名編碼,地名的唯一碼。<br>
1.authorityID :地名編碼,地名的唯一碼。<br>
2.District :行政區。<br>
2.districtModern :行政區。<br>
3.X :X座標。<br>
3.lat :X座標。<br>
4.Y :Y座標。<br>
4.long :Y座標。<br>
5.Dynasty :朝代。<br>
5.dynasty :朝代。<br>
6.historicalDistrict :歷史行政區。<br>
6.districtHistorical :歷史行政區。<br>
7.Note :註解。<br>
7.note :註解。<br>
8.Names :別名。<br>
8.names :別名。<br>


== 取得時間資料 ==
== 取得時間資料 ==

於 2009年1月6日 (二) 16:47 的修訂

前言

由於各個專案可能有取得Authority資料的需求,因此這邊提供取得Authority的人名、地名、時間之方法,已方便各專案使用。

程式位置

http://authority.ddbc.edu.tw/getAuthorityData.php

取得人名資料

需要餵給程式的參數

  • type:必須指定成「person」。
  • id:就是你想要取得人名資料的唯一碼,可接受7碼的Pno(ex-A000004)和5碼的人名PrjNo(ex-B0006)。
  • jsoncallback:隨機產生的參數。

執行範例

http://authority.ddbc.edu.tw/getAuthorityData.php?type=person&id=A000004&jsoncallback=abc123

執行結果

abc123({
    "data1": {
        "Name": "畺良耶舍",
        "AuthorityID": "A000004",
        "Project_No": "B0004",
        "Dynasty": "劉宋 ",
        "birthtime": "5375436",
        "deadtime": "5416343",
        "Class": "譯經",
        "Note": "西域人,最後出現在京師道林寺,宋元嘉十九年(442)後卒。(疑年錄:14)卒於江陵。(T50n2059_p0343c22)",
        "Names": " 時稱"
    }
})

欄位說明

1.authorityID:此筆資料於authority資料庫的唯一碼。
2.projectNo:專案碼,即此筆人名資料的專案編號。
3.class:分類。
4.note:註解。
5.bornDate:出生日(datecode)。
6.diedDate:死亡日(datecode)。
7.dynasty:朝代。
8.names:別名。

取得地名資料

需要餵給程式的參數

  • type:必須指定成「place」。
  • id:地名資料的唯一碼,可接受13碼以上的地名編碼(ex-CN232723Z01AA)或地名的PrjNo(ex-Z0106105)。
  • jsoncallback:隨機產生的參數。

執行範例

http://authority.ddbc.edu.tw/getAuthorityData.php?type=place&id=CN610112Z05AA&jsoncallback=abc123

執行結果

abc123({
    "data1": {
        "Name": "長安",
        "Dynasty": "西漢",
        "AuthorityID": "CN610112Z05AA",
        "X": "108.8835",
        "Y": "34.3194",
        "historicalDistrict": "西漢_司隸部",
        "District": " 陝西省- 西安市-   未央區"
    }
})

欄位說明

1.authorityID:地名編碼,地名的唯一碼。
2.districtModern:行政區。
3.lat:X座標。
4.long:Y座標。
5.dynasty:朝代。
6.districtHistorical:歷史行政區。
7.note:註解。
8.names:別名。

取得時間資料

需要餵給程式的參數

  • type:必須指定成「time」。
  • from-to、when:時間的參數值為7碼的datecode(如:5314476)。
    • 由於標記可能是一個時期或一個時間,因此這邊分成兩種形式,如果標記是「時期」,需要給的參數就是fromto
    • 如果標記是一個「時間」,參數就給when
  • jsoncallback:隨機產生的參數。

執行範例

1.from-to: http://authority.ddbc.edu.tw/getAuthorityData.php?from=5314240&to=5314476&jsoncallback=abc123&type=time
2.when: http://authority.ddbc.edu.tw/getAuthorityData.php?when=5314240&jsoncallback=abc123&type=time

執行結果

1.from-to:

abc123({
    "F": {
        "rows": "3",
        "data1": {
            "dateCode": "5314240",
            "adTime": "+0223-06-16",
            "Dynasty": "孫吳",
            "Emperor": "大帝",
            "reignYear": "黃武",
            "Year": "2",
            "yearGanzhi": "癸卯",
            "Month": " 五",
            "Day": "1",
            "monthGanzhi": "戊子"
        },
        "data2": {
            "dateCode": "5314240",
            "adTime": "+0223-06-16",
            "Dynasty": "曹魏",
            "Emperor": "文帝",
            "reignYear": "黃初",
            "Year": "4",
            "yearGanzhi": "癸卯",
            "Month": " 五",
            "Day": "1",
            "monthGanzhi": "戊子"
        },
        "data3": {
            "dateCode": "5314240",
            "adTime": "+0223-06-16",
            "Dynasty": "蜀漢",
            "Emperor": "後主",
            "reignYear": "建興",
            "Year": "1",
            "yearGanzhi": "癸卯",
            "Month": " 五",
            "Day": "1",
            "monthGanzhi": "戊子"
        }
    },
    "T": {
        "rows": "3",
        "data1": {
            "dateCode": "5314476",
            "adTime": "+0224-02-07",
            "Dynasty": "孫吳",
            "Emperor": "大帝",
            "reignYear": "黃武",
            "Year": "3",
            "yearGanzhi": "甲辰",
            "Month": " 正",
            "Day": "1",
            "monthGanzhi": "甲申"
        },
        "data2": {
            "dateCode": "5314476",
            "adTime": "+0224-02-07",
            "Dynasty": "曹魏",
            "Emperor": "文帝",
            "reignYear": "黃初",
            "Year": "4",
            "yearGanzhi": "癸卯",
            "Month": "十二",
            "Day": "30",
            "monthGanzhi": "甲申"
        },
        "data3": {
            "dateCode": "5314476",
            "adTime": "+0224-02-07",
            "Dynasty": "蜀漢",
            "Emperor": "後主",
            "reignYear": "建興",
            "Year": "1",
            "yearGanzhi": "癸卯",
            "Month": "十二",
            "Day": "30",
            "monthGanzhi": "甲申"
        }
    }
})

2.when:

abc123({
    "W": {
        "rows": "3",
        "data1": {
            "dateCode": "5314240",
            "adTime": "+0223-06-16",
            "Dynasty": "孫吳",
            "Emperor": "大帝",
            "reignYear": "黃武",
            "Year": "2",
            "yearGanzhi": "癸卯",
            "Month": " 五",
            "Day": "1",
            "monthGanzhi": "戊子"
        },
        "data2": {
            "dateCode": "5314240",
            "adTime": "+0223-06-16",
            "Dynasty": "曹魏",
            "Emperor": "文帝",
            "reignYear": "黃初",
            "Year": "4",
            "yearGanzhi": "癸卯",
            "Month": " 五",
            "Day": "1",
            "monthGanzhi": "戊子"
        },
        "data3": {
            "dateCode": "5314240",
            "adTime": "+0223-06-16",
            "Dynasty": "蜀漢",
            "Emperor": "後主",
            "reignYear": "建興",
            "Year": "1",
            "yearGanzhi": "癸卯",
            "Month": " 五",
            "Day": "1",
            "monthGanzhi": "戊子"
        }
    }
})

欄位說明

時間的回傳資料有分成三層陣列,分別說明如下:

第一層

1.F、T:代表from的內容集合和to的內容集合。
2.W:代表when的內容集合。

第二層

1.rows:共有幾個並行年代。
1.data(N):N為數字,代表這是第幾個並行年代,N<=result。

第三層

1.dateCode:時間唯一碼。
2.adTime:西元年。
3.Dynasty:朝代。
4.Emperor:皇帝。
5.reignYear:年號。
6.Year:第幾年。
7.yearGanzhi:年干支。
8.Month:月。
9.Day:日。
10.monthGanzhi:月干支。
11.JD:Julian ID。


合作廠商回報

1、取得資料時,一定要這麼多參數嗎?因為每台電腦都要計算、分割手上的權威id,每次,每個專案、每個uesr都要執行一次計算,很不經濟也很麻煩。請問可以直接給id就好了嗎? ^^