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](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/create-postgis-environment.png)
3.ภายในไม่กี่นาที Env ของคุณจะปรากฏบนแดชบอร์ด
![postgis extension to postgresql for geoserver hosting geoserver environment](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/geoserver-environment.png)
การ Deploy GeoServer
ตอนนี้เราสามารถดำเนินการ deploy ซอฟต์แวร์ GeoServer ได้แล้ว
1.เปิด link # GeoServer official web-site และดาวน์โหลดเวอร์ชันล่าสุดที่มีความเสถียรที่ archive บนเว็บ
![postgis extension to postgresql for geoserver hosting download geoserver](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/download-geoserver.png)
2.เมื่อการดาวน์โหลดเสร็จสิ้นให้แตก archive ไฟล์ที่คุณมี
![postgis extension to postgresql for geoserver hosting extracted archive](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/extracted-archive.png)
3. กลับไปที่แดชบอร์ด Ruk-Com และอัปโหลดไฟล์ geoserver.war ซึ่งอยู่ในโฟลเดอร์ที่มีเนื้อหา archive ไฟล์ที่แยกออกมา
![postgis extension to postgresql for geoserver hosting upload geoserver](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/upload-geoserver.png)
![postgis extension to postgresql for geoserver hosting geoserver war file](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/geoserver-war-file.png)
4. สุดท้ายให้กดปุ่ม Deploy to.. ถัดจากไฟล์ .war นี้ในลิสแพ็กเกจและเลือกสร้างก่อน Env เพื่อ deploy แอป GeoServer
![postgis extension to postgresql for geoserver hosting deploy geoserver](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/deploy-geoserver.png)
![postgis extension to postgresql for geoserver hosting geoserver deployment](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/geoserver-deployment.png)
การกำหนดค่า PostGIS
ในขั้นตอนนี้เราจะเพิ่มส่วนขยาย PostGIS สำหรับฐานข้อมูล PostgreSQL ของเรา
1. เปิด phpPgAdmin สำหรับฐานข้อมูล PostgreSQL ใน Env ของคุณโดยกดปุ่ม Open in browser ที่อยู่ข้าง ๆ
![postgis extension to postgresql for geoserver hosting open geoserver](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/open-geoserver.png)
2. เข้าสู่ระบบด้วยข้อมูลรับรอง PostgreSQL ที่คุณได้รับทางอีเมลหลังจากการสร้าง Env
![postgis extension to postgresql for geoserver hosting postgresql credentials](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/postgresql-credentials.png)
3. ตอนนี้คุณต้องสร้างฐานข้อมูลใหม่ สำหรับการกดปุ่ม Create database ในหน้าต่างที่เปิดอยู่
![postgis extension to postgresql for geoserver hosting create postgres database](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/create-postgres-database.png)
4. กรอกแบบฟอร์ม:
- ระบุชื่อสำหรับฐานข้อมูลใหม่ (ในกรณีของเราคือ nyc)
- เลือกการเข้ารหัส UTF8 จากลิสรายการ
- กรอกข้อมูลในช่องอื่น ๆ หากจำเป็น
กดปุ่ม Create
![postgis extension to postgresql for geoserver hosting new database creation](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/new-database-creation.png)
5. เลือกฐานข้อมูลที่สร้างขึ้นใหม่ในลิสที่ขยายออกมาบนพาเนลด้านซ้ายมือและไปที่แท็บ SQL
![postgis extension to postgresql for geoserver hosting sql nyc database](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/sql-nyc-database.png)
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](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/queries-executing.png)
เสร็จเรียบร้อยแล้ว! การเปิดใช้งานส่วนขยาย 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](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/sql-nyc-database.png)
3. เรียกดูชุดข้อมูลที่แยกออกมา (เช่น nyc_buildings.sql) บนคอมพิวเตอร์ของคุณและอัปโหลดเป็นสคริปต์ SQL
![postgis extension to postgresql for geoserver hosting execute sql query](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/execute-sql-query.png)
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](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/open-geoserver.png)
2. ในแท็บ opened browser ให้เข้าสู่ระบบด้วยข้อมูลรับรอง GeoServer ที่เป็นค่าเริ่มต้น (admin/geoserver)
![postgis extension to postgresql for geoserver hosting log in to geoserver](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/log-in-to-geoserver.png)
3. จากนั้นไปที่ Data > Stores ในพาเนลด้านซ้ายมือแล้วคลิก Add new Store
![postgis extension to postgresql for geoserver hosting add new store](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/add-new-store.png)
4. ในหน้าต่าง New data source ให้กดตัวเลือก PostGIS – PostGIS Database
![postgis extension to postgresql for geoserver hosting postgis source](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/postgis-source.png)
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](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/basic-store-info.png)
- PostGIS database Connection Parameters
host – โฮสต์ฐานข้อมูลสามารถนำมาจากปุ่ม Info
![postgis extension to postgresql for geoserver hosting database host](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/database-host.png)
database – ชื่อฐานข้อมูลที่คุณสร้างด้วยส่วนขยาย PostGIS (ในกรณีของเราคือ nyc)
user และ passwd– ข้อมูลรับรองสำหรับ PostgreSQL ที่คุณได้รับขณะสร้างสภาพ Env
ช่องอื่น ๆ จะเป็นค่าเริ่มต้นสามารถปล่อยให้เป็นค่าตามนั้นได้
![](https://docs.ruk-com.cloud/wp-content/uploads/2021/05/data-source-connection-parameters.png)
นอกจากนี้ให้เลื่อนลงเล็กน้อยและตรวจสอบว่ามีการติ๊กที่ Validate connections หรือไม่ จากนั้นกด Save
![postgis extension to postgresql for geoserver hosting validate connections](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/validate-connections.png)
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](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/layer-publishing.png)
2. ในหน้าต่าง Edit Layer ที่เปิดอยู่ให้ป้อน Title และ Abstract สำหรับทรัพยากรของคุณ
![postgis extension to postgresql for geoserver hosting layer title](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/layer-title.png)
3. เลื่อนลงมาเล็กน้อยแล้วกดปุ่ม Compute from data และ Compute from native bounds ในบล็อกการกำหนดค่า Bounding Boxes
4. จากนั้นเปลี่ยนไปที่แท็บ Publishing และตรวจสอบให้แน่ใจว่าได้เลือกเลเยอร์สไตล์ polygon เป็นค่าเริ่มต้น
![postgis extension to postgresql for geoserver hosting layer style](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/layer-style.png)
5. สุดท้ายเลื่อนลงไปที่ด้านล่างของหน้าแล้วกดปุ่ม Save เลเยอร์ถูก publish แล้ว
6. ตอนนี้คุณสามารถไปที่เมนู Data> Layer Preview จะเห็นลิสของเลเยอร์ทั้งหมดที่กำหนดค่าไว้ใน GeoServer พร้อมตัวอย่างที่มีให้ในรูปแบบต่าง ๆ สำหรับแต่ละเลเยอร์
![postgis extension to postgresql for geoserver hosting layer preview](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/layer-preview.png)
7. กดปุ่ม OpenLayers ถัดจากเลเยอร์ของคุณ (ในกรณีของเราคือ NYC buildings)
![postgis extension to postgresql for geoserver hosting openlayers](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/openlayers.png)
หมายเหตุ : คุณสามารถเลือกโหมดการแสดงตัวอย่างอื่น ๆ หรือดาวน์โหลดทรัพยากรของคุณในรูปแบบต่าง ๆ โดยใช้ตัวเลือกในลิสถัดจากเลเยอร์ที่ต้องการ
8. ดังนั้นคุณจะเห็น geographical object ที่ต้องการ ในกรณีของเรานี่คือแผนที่แบบ interactive ของอาคารในเมืองนิวยอร์ก
![postgis extension to postgresql for geoserver hosting nyc map](https://docs.jelastic.com/images/middleware-stacks/databases/postgresql-database/postgis-extension-to-postgresql-for-geoserver-hosting/nyc-map.png)
คุณสามารถใช้แผนที่แสดงตัวอย่างเพื่อซูมและเลื่อนไปรอบ ๆ ตลอดจนแสดงแอททริบิวท์ของฟีเจอร์ต่าง ๆ ขอให้สนุกไปกับมัน