ศูนย์คู่มือ Ruk-Com PaaS

คู่มือการพัฒนา Deploy และดูแล Application บน Platform

RUK-COM PAAS / DATABASE

ติดตั้ง PostGIS Extension กับ Database PostgreSQL สำหรับ Hosting GeoServer

คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี

ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง

วัตถุประสงค์

บทความนี้อธิบายการใช้งาน ติดตั้ง PostGIS Extension กับ Database PostgreSQL สำหรับ Hosting GeoServer บน Ruk-Com Cloud PaaS โดยจัดลำดับขั้นตอนและจุดตรวจสอบสำหรับการนำไปใช้งานจริง

ก่อนเริ่มดำเนินการ

  • เข้าสู่ระบบด้วยบัญชีที่มีสิทธิ์จัดการ Environment ที่เกี่ยวข้อง
  • ตรวจสอบชื่อ Environment, Region และ Resource เป้าหมายก่อนบันทึกการเปลี่ยนแปลง
  • สำรองข้อมูลหรือกำหนดแผนย้อนกลับก่อนแก้ไขระบบ Production

โพสต์ GISเป็นส่วนขยายเชิงพื้นที่สำหรับ Database PostgreSQL object-relational ซึ่งเพิ่มการสนับสนุน geographic objects ที่อนุญาตให้รันโลเคชันคิวรีใน SQL ด้วยส่วนขยาย PostGIS PostgreSQL สามารถใช้เป็น Database เชิงพื้นที่ฝั่งแบ็คเอนด์สำหรับ GIS

ในทางกลับกันจีโอ Serverเป็น Server Java Software แบบโอเพนซอร์สที่ใช้สำหรับสร้าง แบ่งปันและจัดการข้อมูลเชิงพื้นที่ การใช้ GeoServer มาตรฐานเปิดจะเผยแพร่ข้อมูลจากแหล่งข้อมูลเชิงพื้นที่ที่สำคัญมาดูวิธีขยาย Database PostgreSQL ด้วย PostGIS และ deploy GeoServer เป็น Env Ruk-Com เพื่อทำงานกับข้อมูลภูมิสารสนเทศที่แชร์อยู่

การสร้าง Environment

ก่อนอื่นคุณต้องสร้าง Env เพื่อเป็นพื้นฐานสำหรับ Application ของคุณ

1. ลงชื่อเข้าใช้บัญชี Ruk-Com ของคุณคลิกที่ปุ่ม Create environment

2. เลือก Tomcat 7 เป็น Application Server ของคุณและ PostgreSQL 9 เป็น Database ที่คุณต้องการใช้ ตั้งค่าลิมิต Resource สำหรับแต่ละ Node และป้อนชื่อ Env (เช่น geoserver) ยืนยันการสร้าง Env

3.ภายในไม่กี่นาที Env ของคุณจะปรากฏบน Dashboard

การ Deploy GeoServer

ตอนนี้เราสามารถดำเนินการ deploy Software GeoServer ได้แล้ว

1.เปิด link #เว็บไซต์อย่างเป็นทางการของ GeoServerและดาวน์โหลดเวอร์ชันล่าสุดที่มีความเสถียรที่ archive บนเว็บ

2.เมื่อการดาวน์โหลดเสร็จสิ้นให้แตก archive ไฟล์ที่คุณมี

3. กลับไปที่ Dashboard Ruk-Com และอัปโหลดไฟล์ geoserver.war ซึ่งอยู่ในโฟลเดอร์ที่มีเนื้อหา archive ไฟล์ที่แยกออกมา

4. สุดท้ายให้กดปุ่ม Deploy to.. ถัดจากไฟล์.war นี้ในลิส Package และเลือกสร้างก่อน Env เพื่อ deploy แอป GeoServer

การกำหนดค่า PostGIS

ในขั้นตอนนี้เราจะเพิ่มส่วนขยาย PostGIS สำหรับ Database PostgreSQL ของเรา

1. เปิด phpPgAdmin สำหรับ Database PostgreSQL ใน Env ของคุณโดยกดปุ่ม Open in browser ที่อยู่ข้าง ๆ

2. เข้าสู่ระบบด้วยข้อมูลรับรอง PostgreSQL ที่คุณได้รับทางอีเมลหลังจากการสร้าง Env

3. ตอนนี้คุณต้องสร้าง Database ใหม่ สำหรับการกดปุ่ม Create database ในหน้าต่างที่เปิดอยู่

4. กรอกแบบฟอร์ม:

  • ระบุชื่อสำหรับ Database ใหม่ (ในกรณีของเราคือ nyc)
  • เลือกการเข้ารหัส UTF8 จากลิสรายการ
  • กรอกข้อมูลในช่องอื่น ๆ หากจำเป็น

กดปุ่มสร้าง

5. เลือก Database ที่สร้างขึ้นใหม่ในลิสที่ขยายออกมาบนพาเนลด้านซ้ายมือและไปที่แท็บ SQL

6. ป้อน SQL คิวรี่ต่อไปนี้และดำเนินการ:

CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder;

โดยที่แอททริบิวท์คือว:

  • postgis: สำหรับการเปิดใช้งาน PostGIS (รวมถึง raster)
  • postgis_topology: สำหรับการเปิดใช้งาน Topology
  • fuzzystrmatch: จำเป็นต้องมีการจับคู่แบบ fuzzy สำหรับ Tiger
  • postgis_tiger_geocoder: สำหรับ US Tiger Geocoder ที่เปิดใช้งาน

หมายเหตุ: อย่าลืมติ๊กเลือกในบรรทัด Paginate results ใต้แบบฟอร์มเพื่อไม่ให้เกิดข้อผิดพลาดใด ๆ

เสร็จแล้ว! การเปิดใช้งานส่วนขยาย PostGIS และให้สามารถใช้งานได้

การนำเข้าชุดข้อมูล

ตอนนี้เรามานำเข้า PostGIS dump ของชุดข้อมูลไปยัง Database PostgreSQL ตัวอย่างเช่นเราจะใช้ link # nyc_buildings.zip กับชุดข้อมูลอาคารจากนิวยอร์กซิตี้

1. ดาวน์โหลด Package link # nyc_buildings.zip และแตกไฟล์ คุณจะได้รับไฟล์ nyc_buildings.sql

2. ป้อน phpPgAdmin สำหรับ PostgreSQL ด้วยข้อมูลประจำตัวของคุณและไปที่แท็บ SQL สำหรับ Database อีกครั้งด้วยการกดขยาย PostGIS ออกมา (ในกรณีของเราคือ Database nyc)

3. เรียกดูชุดข้อมูลที่แยกออกมา (เช่น nyc_buildings.sql) บนคอมพิวเตอร์ของคุณและอัปโหลดเป็น Script SQL

4.ติ๊กช่อง Paginate resultsที่อยู่ใต้ใต้แบบฟอร์มออกและดำเนินการScript

เชื่อมต่อ GeoServer กับ Database

ตอนนี้เราต้องเชื่อมต่อ Application GeoServer กับ Database PostgreSQL เราจะสร้างที่เก็บข้อมูลสำหรับ Database nyc

1. ไปที่ Dashboard Ruk-Com และเปิด GeoServer Env (กดOpen in browser ที่อยู่ข้าง ๆ)

2. ในแท็บ opened browser ให้เข้าสู่ระบบด้วยข้อมูลรับรอง GeoServer ที่เป็นค่าเริ่มต้น (admin/geoserver)

3. จากนั้นไปที่ข้อมูล > ร้านค้าในพาเนลด้านซ้ายมือแล้วคลิกเพิ่มร้านค้าใหม่ 

4. ในหน้าต่างแหล่งข้อมูลใหม่ให้กดตัวเลือกPostGIS - Database PostGIS

5. ในหน้าต่างแหล่งข้อมูลเวกเตอร์ใหม่ที่ปรากฏให้กรอกข้อมูลในฟิลด์ต่อไปนี้:

  • ข้อมูลร้านค้าขั้นพื้นฐาน
    เลือกอ้างอิงในส่วนของพื้นที่ทำงานจากลิสรายการป้อนชื่อแหล่งข้อมูล(ตัวอย่างเช่น nyc_buildings) และคำอธิบายสั้น ๆ ตรงคำอธิบาย
  • Database PostGISParameter การเชื่อมต่อ
    Host– HostDatabase สามารถนำมาจากปุ่ม Info

Database- ชื่อ Database ที่คุณสร้างด้วยส่วนขยาย PostGIS (ในกรณีของเราคือ nyc)
ผู้ใช้และรหัสผ่าน- ข้อมูลรับรองสำหรับ PostgreSQL ที่คุณได้รับขณะสร้างสภาพ Env

ช่องอื่น ๆ จะเป็นค่าเริ่มต้นสามารถปล่อยให้เป็นค่าตามนั้นได้

ภาพประกอบขั้นตอนการใช้งาน Ruk-Com Cloud PaaS

นอกจากนี้ให้เลื่อนลงเล็กน้อยและตรวจสอบว่ามีการติ๊กที่ตรวจสอบการเชื่อมต่อหรือไม่ จากนั้นกดบันทึก

การเชื่อมต่อถูกสร้างขึ้นแล้ว และด้วยเหตุนี้คุณจึงสามารถเห็นการอัปโหลดไปยัง PostreSQLnyc_buildingsใน Application Manifest Resource

เผยแพร่ และ พรีวิว ชุดข้อมูล

ในที่สุดเราต้องกำหนดค่าอีกเล็กน้อยเพื่อ publish ชุดข้อมูล (เช่น nyc_buildings) และเพื่อให้ geographical object ที่ต้องการพร้อมใช้งาน

1.แหล่งข้อมูลเวกเตอร์ใหม่(บันทึกไว้ในขั้นตอนก่อนหน้า) จะปรากฏในลิสLayer ใหม่
กด Publish ถัดจาก Layer ที่เพิ่ม (เช่น nyc_buildings)

2. ในหน้าต่าง Edit Layer ที่เปิดอยู่ให้ป้อนชื่อเรื่องและนามธรรมสำหรับ Resource ของคุณ

3. เลื่อนลงมาเล็กน้อยแล้วกดปุ่มคำนวณจากข้อมูลและคำนวณจากขอบเขตดั้งเดิมในบล็อกการกำหนดค่ากล่องขอบเขต

4. จากนั้นเปลี่ยนไปที่แท็บ Publishing และตรวจสอบให้แน่ใจว่าได้เลือก Layer สไตล์รูปหลายเหลี่ยมเป็นค่าเริ่มต้น

5. สุดท้ายเลื่อนลงไปที่ด้านล่างของหน้าแล้วกดปุ่ม Save Layer ถูก publish แล้ว

6. ตอนนี้คุณสามารถไปที่เมนู Data> Layer Preview จะเห็นลิสของ Layer ทั้งหมดที่กำหนดค่าไว้ใน GeoServer พร้อมตัวอย่างที่มีให้ในรูปแบบต่าง ๆ สำหรับแต่ละ Layer

7. กดปุ่ม OpenLayers ถัดจาก Layer ของคุณ (ในกรณีของเราคือ NYC buildings)

หมายเหตุ: คุณสามารถเลือกโหมดการแสดงตัวอย่างอื่น ๆ หรือดาวน์โหลด Resource ของคุณในรูปแบบต่าง ๆ โดยใช้ตัวเลือกในลิสถัดจาก Layer ที่ต้องการ

8. ดังนั้นคุณจะเห็น geographical object ที่ต้องการ ในกรณีของเรานี่คือแผนที่แบบ interactive ของอาคารในเมืองนิวยอร์ก

คุณสามารถใช้แผนที่แสดงตัวอย่างเพื่อซูมและเลื่อนไปรอบ ๆ ตลอดจนแสดงแอททริบิวท์ของฟีเจอร์ต่าง ๆ ขอให้สนุกไปกับมัน