เป็นกรณีทดสอบอย่างง่ายฉันพยายามกำหนดค่าซอฟต์แวร์สแต็คของ OpenGeo เพื่อให้ฉันสามารถแสดง GeoTIFF เป็นภาพซ้อนทับไปยังแผนที่ปกติเช่น OSM ดังนั้นฉันทำตามขั้นตอนต่อไปนี้:
- สร้างฐานข้อมูลเชิงพื้นที่ด้วย postGIS
- โหลด GeoTIFF ลงในฐานข้อมูล
- นำเข้าฐานข้อมูลไปยัง GeoServer
- ดูตัวอย่างเป็นภาพซ้อนทับแผนที่ใน GeoServer (เช่นกับ GeoExplorer หรือ OpenLayers)
ตรงกันข้ามกับการนำเข้าโดยตรงของ GeoTIFF ไปยัง Geoserver (ซึ่งทำงานได้ดีมาก) ตารางที่นำเข้าจากฐานข้อมูลจะถูกทำเครื่องหมายเป็น "ข้อมูลเวกเตอร์" และไม่ใช่ "ข้อมูลแรสเตอร์" ในเว็บแอปพลิเคชัน GeoServer ใน Layer Preview GeoExplorer ไม่แสดงอะไรจาก GeoTIFF และ OpenLayers ส่งคืนไฟล์ WMS ที่รายงาน a ServiceExeption
:
The requested Style can not be used with this layer.
The style specifies an attribute of geom and the layer is: opengeo:test
ฉันเชื่อว่าวิธีการแก้ปัญหาค่อนข้างง่าย แต่ดูเหมือนว่าฉันไม่เข้าใจว่า GeoServer ตีความข้อมูลแรสเตอร์ที่จัดเก็บใน postGIS อย่างไร
ใครช่วยบอกสิ่งที่ฉันหายไป?
รายละเอียดขั้นตอนของฉัน:
- สร้างฐานข้อมูลเชิงพื้นที่ด้วย postGIS ตามเอกสารโดยใช้
template_postgis
เป็นเทมเพลตและพอร์ต 5432 ขณะที่ฉันทำงานบน Ubuntu 12.04 โหลด GeoTIFF ลงในฐานข้อมูลจากบรรทัดคำสั่งโดยใช้
raster2pgsql
ใน ( http://suite.opengeo.org/docs/dataadmin/pgGettingStarted/raster2pgsql.html )raster2pgsql -I -C -s 32632 test.tif public.testTable | psql -d test -h localhost -U opengeo
ที่ไหน
-I
: ตั้งค่าสถานะเพื่อสร้างดัชนี GiST เชิงพื้นที่เพื่อประสิทธิภาพ-C
: ตั้งค่าสถานะเพื่อใช้ข้อ จำกัด แรสเตอร์-s 32632
: SRID ของtest.tif
รายงานโดยเครื่องมือgdalinfo
test.tif
: ทดสอบ GeoTIFF ที่เหมาะสมpublic.testTable
: ตารางใหม่ในสคีมาเป้าหมาย-d test
: ฐานข้อมูลที่เปิดใช้งานเชิงพื้นที่-U opengeo
: เจ้าของฐานข้อมูล (ชื่อผู้ใช้มาตรฐาน)
- นำเข้าฐานข้อมูลไปยัง GeoServer ตามที่อธิบายไว้ในการประชุมเชิงปฏิบัติการอย่างเป็นทางการ