CLOUD PAAS / DATABASE

ติดตั้ง PostGIS Extension กับฐานข้อมูล PostgreSQL สำหรับโฮสติ้ง GeoServer

คู่มือนี้เรียบเรียงและปรับรูปแบบสำหรับ Ruk-Com Cloud PaaS ภาพหน้าจออาจแตกต่างเล็กน้อยตามเวอร์ชันของระบบ

คลิกหรือแตะภาพหน้าจอเพื่อดูรายละเอียดขนาดจริง

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

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

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

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

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

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

การสร้าง Environment

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

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

2. เลือก Tomcat 7 เป็นแอปพลิเคชันเซิร์ฟเวอร์ของคุณและ PostgreSQL 9 เป็นฐานข้อมูลที่คุณต้องการใช้ ตั้งค่าลิมิตทรัพยากรสำหรับแต่ละโหนดและป้อนชื่อ Env (เช่น geoserver) ยืนยันการสร้าง Env

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

การ Deploy GeoServer

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

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

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

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

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

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

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

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

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

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

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

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

กดปุ่มสร้าง

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

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

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

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

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

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

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

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

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

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

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

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

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

เชื่อมต่อ GeoServer กับฐานข้อมูล

ตอนนี้เราต้องเชื่อมต่อแอปพลิเคชัน GeoServer กับฐานข้อมูล PostgreSQL เราจะสร้างที่เก็บข้อมูลสำหรับฐานข้อมูล nyc

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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