คู่มือ PostGIS Extension สำหรับ ฐานข้อมูล
คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี
ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง
คำสั่ง ชื่อเมนู พารามิเตอร์ และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง
ส่วนขยาย PostGIS ไปยังฐานข้อมูล PostgreSQL สำหรับการโฮสต์ GeoServer
PostGISเป็นส่วนขยายเชิงพื้นที่สำหรับฐานข้อมูลเชิงวัตถุเชิงสัมพันธ์ของ PostgreSQL ซึ่งเพิ่มการรองรับวัตถุทางภูมิศาสตร์ที่ช่วยให้สามารถเรียกใช้การสืบค้นตำแหน่งใน SQL ด้วยส่วนขยาย PostGIS PostgreSQL สามารถใช้เป็นฐานข้อมูลเชิงพื้นที่แบ็กเอนด์สำหรับ GIS
จีโอเซิร์ฟเวอร์ในทางกลับกันก็คือเซิร์ฟเวอร์ซอฟต์แวร์ Java โอเพ่นซอร์สที่ใช้สำหรับการสร้างแบ่งปันและจัดการข้อมูลภูมิสารสนเทศการใช้มาตรฐานแบบเปิด GeoServer จะเผยแพร่ข้อมูลจากแหล่งข้อมูลเชิงพื้นที่ที่สำคัญใดๆ
ดังนั้นเรามาตรวจสอบวิธีขยายฐานข้อมูล PostgreSQL ด้วย PostGIS และปรับใช้ GeoServer กับ Environment เพื่อทำงานกับข้อมูลเชิงพื้นที่ที่ใช้ร่วมกัน
สร้าง Environment
ก่อนอื่นคุณต้องสร้าง Environment เป็นพื้นฐานสำหรับแอปพลิเคชันของคุณ
-
เข้าสู่บัญชี PaaS ของคุณโดยคลิกที่สร้าง Environmentปุ่ม.
-
เลือกTomcat 7เป็นเซิร์ฟเวอร์แอปพลิเคชันของคุณและPostgreSQL 9เป็นฐานข้อมูลที่คุณต้องการใช้ตั้งค่าขีดจำกัดทรัพยากรสำหรับแต่ละ Node และป้อนชื่อ Environment ของคุณ (เช่นเซิร์ฟเวอร์ภูมิศาสตร์). ยืนยันการสร้าง Environment
3. ภายในไม่กี่นาที Environment ของคุณจะปรากฏบนแดชบอร์ด
การ Deploy GeoSever
ตอนนี้เราสามารถดำเนินการ Deploy ซอฟต์แวร์ GeoServer ได้แล้ว
- เปิดเว็บไซต์อย่างเป็นทางการของ GeoServerและดาวน์โหลดเวอร์ชันเสถียรล่าสุดเป็นไฟล์เก็บถาวรของเว็บ
2. เมื่อการดาวน์โหลดเสร็จสิ้นให้แตกไฟล์เก็บถาวรที่คุณมี
3. กลับไปที่แดชบอร์ดแพลตฟอร์มและอัปโหลดgeoserver.warซึ่งอยู่ในโฟลเดอร์ที่มีเนื้อหาที่เก็บถาวรที่แยกออกมา

4. สุดท้ายให้กดปรับใช้ไปที่..ปุ่มข้างๆนี้.สงครามในรายการแพ็คเกจและเลือกสร้างก่อน Environment เพื่อปรับใช้แอป GeoServer
การกำหนดค่า PostGIS
ในขั้นตอนนี้เราจะเพิ่มส่วนขยาย PostGIS สำหรับฐานข้อมูล PostgreSQL ของเรา
- เปิดphpPgAdmin.phpสำหรับฐานข้อมูล PostgreSQL ใน Environment ของคุณโดยการกดเปิดในเบราว์เซอร์ปุ่มข้างๆ
2. เข้าสู่ระบบด้วยข้อมูลรับรอง PostgreSQL ที่คุณได้รับทางอีเมลหลังจากการสร้าง Environment
3. ตอนนี้คุณต้องสร้างฐานข้อมูลใหม่สำหรับการกดนั้นสร้างฐานข้อมูลปุ่มในหน้าต่างที่เปิดอยู่
- ระบุชื่อฐานข้อมูลใหม่ (ในกรณีของเรานิวยอร์ก)
- เลือกUTF8การเข้ารหัสในรายการแบบเลื่อนลง
- กรอกข้อมูลในช่องอื่นๆหากจำเป็น
คลิกสร้างปุ่ม.
5. เลือกฐานข้อมูลที่สร้างขึ้นใหม่ในรายการแบบขยายได้บนแผงด้านซ้ายมือและไปที่แท็บ SQL
6. ป้อนคำสั่ง SQL ต่อไปนี้และดำเนินการ:
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder;
คุณลักษณะอยู่ที่ไหน:
- โพสต์จิส: สำหรับการเปิดใช้งาน PostGIS (รวมแรสเตอร์)
- postgis_topology: สำหรับการเปิดใช้งานโทโพโลยี
- fuzzystrmatch: การจับคู่แบบคลุมเครือเป็นสิ่งจำเป็นสำหรับ Tiger
- postgis_tiger_geocoder: สำหรับการเปิดใช้งาน US Tiger Geocoder
บันทึก: อย่าลืมติ๊กออกแบ่งหน้าผลลัพธ์ไว้ใต้แบบฟอร์มเพื่อไม่ให้เกิดข้อผิดพลาดใดๆ
นั่นคือทั้งหมดที่เปิดใช้งานส่วนขยาย PostGIS และสามารถใช้ได้
การนำเข้าชุดข้อมูล
ตอนนี้มานำเข้าดัมพ์ของชุดข้อมูล PostGIS ไปยังฐานข้อมูล PostreSQL ของเรากันดีกว่าดังตัวอย่างเราจะใช้nyc_buildings.zipด้วยชุดข้อมูลอาคารจากนิวยอร์กซิตี้
-
ดาวน์โหลดnyc_buildings.zipบรรจุและแยกมันออกคุณจะได้รับnyc_buildings.sqlไฟล์.
-
เข้าphpPgAdmin.phpสำหรับ PostgreSQL ด้วยข้อมูลรับรองของคุณและนำทางไปยังแท็บ SQL อีกครั้งสำหรับฐานข้อมูลของคุณด้วยส่วนขยาย PostGIS (ในกรณีของเรานิวยอร์กฐานข้อมูล)
3. เรียกดูชุดข้อมูลที่แยกออกมา (เช่นnyc_buildings.sql) บนเครื่องคอมพิวเตอร์ของคุณและอัปโหลดเป็นสคริปต์ SQL
4. ติ๊กออกแบ่งหน้าผลลัพธ์บรรทัดใต้แบบฟอร์มและดำเนินการสคริปต์
เชื่อมต่อ GeoServer กับฐานข้อมูล
ตอนนี้เราจำเป็นต้องเชื่อมต่อแอปพลิเคชัน GeoServer ของเรากับฐานข้อมูล PostgreSQL สำหรับสิ่งนี้เราจะสร้างเก็บข้อมูลสำหรับเรานิวยอร์กฐานข้อมูล
- ไปที่แดชบอร์ดแพลตฟอร์มและเปิด Environment GeoServer (กดเปิดในเบราว์เซอร์ข้างๆ)
2. ในแท็บเบราว์เซอร์ที่เปิดอยู่ให้เข้าสู่ระบบด้วยข้อมูลรับรอง GeoServer เริ่มต้น (ผู้ดูแลระบบ/เซิร์ฟเวอร์ทางภูมิศาสตร์).
3. จากนั้นไปที่ข้อมูล > ร้านค้ารายการเมนูในแผงด้านซ้ายแล้วคลิกเพิ่มร้านค้าใหม่เส้น.
4. ในแหล่งข้อมูลใหม่กดหน้าต่างPostGIS - ฐานข้อมูล PostGISตัวเลือก.
5. ในการปรากฏตัวแหล่งข้อมูลเวกเตอร์ใหม่หน้าต่างกรอกข้อมูลในช่องต่อไปนี้:
- ข้อมูลร้านค้าขั้นพื้นฐานเลือกอ้างอิงพื้นที่ทำงานจากรายการแบบเลื่อนลงป้อนชื่อแหล่งข้อมูล(ตัวอย่างเช่น,nyc_buildings) และบทสรุปคำอธิบาย.
* ฐานข้อมูล PostGISพารามิเตอร์การเชื่อมต่อเจ้าภาพ- โฮสต์ฐานข้อมูลสามารถนำมาจากข้อมูลปุ่ม
ฐานข้อมูล- ชื่อของฐานข้อมูลที่คุณสร้างด้วยส่วนขยาย PostGIS (ในกรณีของเรานิวยอร์ก)ผู้ใช้และรหัสผ่าน- ข้อมูลรับรองสำหรับ PostgreSQL ที่คุณได้รับขณะสร้าง Environment
ฟิลด์อื่นๆจะถูกกรอกตามค่าเริ่มต้นคุณสามารถปล่อยให้เป็นค่าเริ่มต้นได้
เลื่อนต่ำลงเล็กน้อยแล้วตรวจสอบว่าตรวจสอบการเชื่อมต่อบรรทัดถูกทำเครื่องหมายจากนั้นกดบันทึก.
การเชื่อมต่อถูกสร้างขึ้นแล้วและด้วยเหตุนี้คุณจึงสามารถเห็นการอัปโหลดไปยัง PostreSQLnyc_buildingsในรายการทรัพยากรแอปพลิเคชัน
เผยแพร่และดูตัวอย่างชุดข้อมูล
ในที่สุดเราจำเป็นต้องทำการกำหนดค่าเพียงไม่กี่อย่างเพื่อเผยแพร่ชุดข้อมูล (เช่นnyc_buildings) และเพื่อให้วัตถุทางภูมิศาสตร์ที่ต้องการพร้อมใช้งาน
- แหล่งข้อมูลเวกเตอร์ใหม่(บันทึกไว้ในขั้นตอนที่แล้ว) จะปรากฏในรายการเลเยอร์ใหม่. กดเผยแพร่ถัดจากเลเยอร์ที่เพิ่ม (เช่นnyc_buildings).
2. ในช่องเปิดแก้ไขเลเยอร์หน้าต่างป้อนกชื่อและเชิงนามธรรมสำหรับทรัพยากรของคุณ
3. เลื่อนลงเล็กน้อยแล้วกดคำนวณจากข้อมูลและคำนวณจากขอบเขตดั้งเดิมปุ่มในกล่องขอบเขตบล็อกการกำหนดค่า
4. จากนั้นสลับไปที่การเผยแพร่แท็บและตรวจสอบให้แน่ใจว่ารูปหลายเหลี่ยมสไตล์เลเยอร์ถูกเลือกเป็นค่าเริ่มต้น
5. สุดท้ายเลื่อนลงไปที่ด้านล่างของหน้าแล้วกดบันทึกปุ่ม. เลเยอร์ถูกเผยแพร่แล้ว
- ตอนนี้คุณสามารถนำทางไปยังข้อมูล > การแสดงตัวอย่างเลเยอร์รายการเมนูที่นี่คุณจะเห็นรายการเลเยอร์ทั้งหมดที่กำหนดค่าใน GeoServer พร้อมตัวอย่างที่มีให้ในรูปแบบต่างๆสำหรับแต่ละเลเยอร์
7. กดOpenLayersปุ่มถัดจากเลเยอร์ของคุณ (อาคารนิวยอร์คในกรณีของเรา)
บันทึก: คุณสามารถเลือกโหมดแสดงตัวอย่างอื่นหรือดาวน์โหลดทรัพยากรของคุณในรูปแบบที่แตกต่างกันได้โดยใช้ตัวเลือกในรายการแบบเลื่อนลงถัดจากเลเยอร์ที่ต้องการ
- เป็นผลให้คุณจะเห็นวัตถุทางภูมิศาสตร์ที่ต้องการในกรณีของเรานี่คือแผนที่แบบโต้ตอบของอาคารในนิวยอร์กซิตี้
คุณสามารถใช้แผนที่แสดงตัวอย่างเพื่อซูมและเลื่อนไปรอบๆชุดข้อมูลรวมถึงแสดงคุณลักษณะของคุณลักษณะต่างๆสนุก!




