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

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

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

การสร้าง Environment

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

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

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

postgis extension to postgresql for geoserver hosting create postgis environment

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

postgis extension to postgresql for geoserver hosting geoserver environment

การ Deploy GeoServer

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

1.เปิด link # GeoServer official web-site และดาวน์โหลดเวอร์ชันล่าสุดที่มีความเสถียรที่ archive บนเว็บ

postgis extension to postgresql for geoserver hosting download geoserver

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

postgis extension to postgresql for geoserver hosting extracted archive

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

postgis extension to postgresql for geoserver hosting upload geoserver
postgis extension to postgresql for geoserver hosting geoserver war file

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

postgis extension to postgresql for geoserver hosting deploy geoserver
postgis extension to postgresql for geoserver hosting geoserver deployment

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

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

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

postgis extension to postgresql for geoserver hosting open geoserver

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

postgis extension to postgresql for geoserver hosting postgresql credentials

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

postgis extension to postgresql for geoserver hosting create postgres database

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

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

กดปุ่ม Create

postgis extension to postgresql for geoserver hosting new database creation

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

postgis extension to postgresql for geoserver hosting sql nyc database

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 extension to postgresql for geoserver hosting queries executing

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

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

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

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

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

postgis extension to postgresql for geoserver hosting sql nyc database

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

postgis extension to postgresql for geoserver hosting execute sql query

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

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

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

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

postgis extension to postgresql for geoserver hosting open geoserver

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

postgis extension to postgresql for geoserver hosting log in to geoserver

3. จากนั้นไปที่ Data > Stores ในพาเนลด้านซ้ายมือแล้วคลิก Add new Store 

postgis extension to postgresql for geoserver hosting add new store

4. ในหน้าต่าง New data source ให้กดตัวเลือก PostGIS – PostGIS Database

postgis extension to postgresql for geoserver hosting postgis source

5. ในหน้าต่าง New Vector Data Sourceที่ปรากฏให้กรอกข้อมูลในฟิลด์ต่อไปนี้:

  • Basic Store Info
    เลือก cite ในส่วนของ Workspace จากลิสรายการป้อน Data Source Name (ตัวอย่างเช่น nyc_buildings) และคำอธิบายสั้น ๆ ตรง Description
postgis extension to postgresql for geoserver hosting basic store info
  • PostGIS database Connection Parameters
    host – โฮสต์ฐานข้อมูลสามารถนำมาจากปุ่ม Info
postgis extension to postgresql for geoserver hosting database host

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

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

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

postgis extension to postgresql for geoserver hosting validate connections

The connection is established and as a result you can see the uploaded to PostreSQL nyc_buildings in the list of application resources.

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

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

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

postgis extension to postgresql for geoserver hosting layer publishing

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

postgis extension to postgresql for geoserver hosting layer title

3. เลื่อนลงมาเล็กน้อยแล้วกดปุ่ม Compute from data และ Compute from native bounds ในบล็อกการกำหนดค่า Bounding Boxes

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

postgis extension to postgresql for geoserver hosting layer style

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

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

postgis extension to postgresql for geoserver hosting layer preview

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

postgis extension to postgresql for geoserver hosting openlayers

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

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

postgis extension to postgresql for geoserver hosting nyc map

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