คู่มือการใช้งาน catalog.citydata.in.th CKAN Data API

คู่มือการใช้งานนี้ ประกอบด้วย

  1. CKAN Data API และตัวอย่าง Code
  2. CKAN Data Catalog API
  3. Data Visualization

CKAN Data API และตัวอย่าง Code

CKAN Data API เป็นการค้นคืนข้อมูลที่อยู่ในไฟล์ชุดข้อมูล ด้วยเงื่อนไขการสืบค้นต่างๆ โดย CKAN Data API จะสามารถใช้งานได้กับไฟล์ทรัพยากรชุดข้อมูลที่เป็นไฟล์ขนิด CSV, XLS, XLSX และข้อมูลต้องอยู่ในรูปแบบตารางเท่านั้น ทั้งนี้ไฟล์ทรัพยากรที่สามารถเรียกใช้ CKAN Data API ได้ระบบจะแสดงตาราง preview ข้อมุลควบคู่กันด้วย หากไฟล์ทรัพยากรใดที่ระบบไม่สามารถแสดงตาราง preview ได้ จะไม่สามารถเรียกใช้ CKAN Data API ได้

วิธีการเรียกใช้งาน CKAN Data API สำหรับชุดข้อมูลนั้น ทำได้โดยคลิกที่ปุ่ม “Data API” เหนือตาราง preview จากนั้นจะปรากฏหน้าต่างแสดงคำอธิบายการใช้งาน และตัวอย่างการเรียกใช้งาน เช่น ค้นคืนข้อมูลทั้งหมดโดยจำกัดจำนวนผลลัพธ์ 5 รายการ :

ตัวอย่างเรียกข้อมูล (5 ผลลัพธ์แรก) 
https://catalog.citydata.in.th/api/3/action/datastore_search?resource_id=<ResourceID>&limit=5

ตัวอย่าง
https://catalog.citydata.in.th/api/3/action/datastore_search?resource_id=c9fa2929-eb08-45a9-beab-bdc65a952730&limit=5

ตัวอย่างเรียกข้อมูล (ผลลัพธ์มีคำว่า ‘city’) 
https://catalog.citydata.in.th/api/3/action/datastore_search?q=<Keyword>&resource_id=<ResourceID>

ตัวอย่าง
https://catalog.citydata.in.th/api/3/action/datastore_search?q=city&resource_id=c9fa2929-eb08-45a9-beab-bdc65a952730

ตัวอย่างเรียกข้อมูล (โดยการใช้คำสั่ง SQL) 
https://catalog.citydata.in.th/api/3/action/datastore_search_sql?sql=SELECT * from “<ResourceID>” WHERE <Query> 

ตัวอย่าง
https://catalog.citydata.in.th/api/3/action/datastore_search_sql?sql=SELECT * from “c9fa2929-eb08-45a9-beab-bdc65a952730” WHERE title LIKE ‘city’ 

หน้าจอค้นหา URL ของ Data API ของแต่ละชุดข้อมูล

ตัวอย่างชุดข้อมูล
https://catalog.citydata.in.th/dataset/https-catalog-citydata-in-th-dataset-humanachievement-index/resource/c9fa2929-eb08-45a9-beab-bdc65a952730

ตัวอย่างการเรียกใช้ CKAN Data API โดยใช้โปรแกรม CURL และภาษา PHP

โปรแกรม CURL
curl -v -L -H ‘api-key: <user token>’ -X GET ‘ https://catalog.citydata.in.th/api/3/action/datastore_search?resource_id=c9fa2929-eb08-45a9-beab-bdc65a952730&limit=5’;

PHP

  1. <?php
  2. $curl = curl_init();
  3. curl_setopt_array($curl, array(
  4. CURLOPT_URL => ” https://catalog.citydata.in.th/api/3/action/datastore_search?resource_id=c9fa2929-eb08-45a9-beab-bdc65a952730&limit=5″;,
  5. CURLOPT_RETURNTRANSFER => true,
  6. CURLOPT_ENCODING => “”,
  7. CURLOPT_MAXREDIRS => 10,
  8. CURLOPT_TIMEOUT => 30,
  9. CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  10. CURLOPT_CUSTOMREQUEST => “GET”,
  11. CURLOPT_HTTPHEADER => array(
  12. “api-key: <user token>”
  13. )
  14. ));
  15. $response = curl_exec($curl);
  16. $err = curl_error($curl);
  17. curl_close($curl);
  18. if ($err) {
  19. echo “cURL Error #:” . $err;
  20. } else {
  21. echo $response;
  22. }
  23. ?>

CKAN Data Catalog API

รายละเอียดวิธีการใช้งาน CKAN Data Catalog API

CKAN Data Catalog API เป็น API สำหรับการเข้าถึงข้อมูลเมทาดาตาของชุดข้อมูลเปิดของเมืองบนเว็บ catalog.citydata.in.th โดยข้อมูลเมทาดาตาแบ่งเป็น 2 ระดับคือ

  1. ระดับชุดข้อมูล (package) – ชุดข้อมูล 1 ชุดข้อมูลสามารถประกอบด้วยไฟล์ทรัพยากรหลายไฟล์ได้ เช่น ชุดข้อมูล ข้อมูลการจดทะเบียนนิติบุคคล พ.ศ. 2529 ประกอบด้วย ไฟล์ทรัพยากร 3 ไฟล์ ได้แก่ 1) ข้อมูลการจดทะเบียนนิติบุคคล – กุมภาพันธ์-2559-XLS (.xls) 2) ข้อมูลการจดทะเบียนนิติบุคคล – มีนาคม-2559-CSV (.csv) 3) Metadata-ข้อมูลการจดทะเบียนนิติบุคคล-พฤษภาคม-2559 (.pdf) เป็นต้น
  2. ระดับไฟล์ทรัพยากร (resource) – ไฟล์ทรัพยากรของชุดข้อมูล คือไฟล์ที่ผู้ใช้สามารถดาวน์โหลดไปใช้งานได้ เช่น ไฟล์แสดงเมทาดาตาของไฟล์ทรัพยากร ข้อมูลการจดทะเบียนนิติบุคคล – กุมภาพันธ์-2559-XLS เป็นต้น

API สำหรับเรียกดูข้อมูลของชุดข้อมูล เช่น

API สำหรับเรียกดูข้อมูลของไฟล์ทรัพยากรชุดข้อมูล เช่น


Data Visualization

ผู้ใช้สามารถทำ Data Visualization กับชุดข้อมูลที่มี ข้อมูล Preview และมีปุ่ม “Graph” ได้ โดยเมื่อคลิกที่ปุ่ม “Graph” แลัวจะมอง Option การเลือกออกรายงาน

จากนั้นระบุเงื่อนไขการค้นหาข้อมูล 

เลือก Graph Type 

เลือก Graph Column (Axis 1) 

เลือก Series และเพิ่ม Series ตามความสนใจ เช่น Series A และ Series B)

Loading

HELLLLLLo