OpenLayers: วิธีกำหนดเลเยอร์ WFS ด้วยไฟล์ SLD


14

ฉันกำลังทดลองกับบริการสร้างแผนที่เว็บอย่างง่ายบนสแต็ก PostGIS / GeoServer / OpenLayers บนเซิร์ฟเวอร์ Win 2008

ฉันซ้อนทับชั้นเวกเตอร์จาก PostGIS โดยใช้:

var Index1v = new OpenLayers.Layer.Vector("Index1 v", {
    strategies: [new OpenLayers.Strategy.BBOX()],
        protocol: new OpenLayers.Protocol.WFS({
            version: "1.1.0",
            url: "http://localhost:1979/geoserver/wfs",
            featureType: "bern_poly_s100",
            featureNS: "http://www.ispm.ch",
            srsName: "EPSG:900913"
        })
});

เลเยอร์แสดงอย่างถูกต้อง แต่ในสไตล์ธรรมดาค่าเริ่มต้น [?] จาก GeoServer

ฉันได้สร้างไฟล์สไตล์ SLD ด้วย uDig และดูเหมือนว่าจะถูกต้องเนื่องจากบริการ WMS กำลังใช้งานอยู่โดยไม่มีปัญหาใด ๆ ฉันสามารถใช้มันเพื่อจัดสไตล์เลเยอร์ WFS ได้หรือไม่

คำตอบ:


8

ลองดูที่ OL ของ"สไตล์เลเยอร์อธิบาย (SLD) ตัวอย่าง"ตัวอย่างเช่น พวกเขาใช้ SLD เพื่อจัดรูปแบบ GML แต่ควรทำงานกับ WFS (เลเยอร์เวกเตอร์) ด้วย

เครดิต: ฟอรั่ม Nabble.com ของ OL


มันเท่ห์ - ฉันไม่รู้ว่าคุณทำได้
Ian Turton

ฉันไม่เคยใช้มันมาก่อน แต่ฉันคิดว่าฉันเคยเห็นมันมาก่อน อย่างไรก็ตามขอให้กรอกข้อมูลลงบนกระดาน SO GIS เช่นกัน
Vadim

2
แต่ในแบบที่คุณพูดถูกคุณยังต้องรับผิดชอบในการจัดแต่งทรงผมให้กับลูกค้าใช่ไหม? มันไม่ได้อยู่บนเซิร์ฟเวอร์ แต่คุณสามารถมีสไตล์ด้วย SLD ที่ทำไว้ล่วงหน้าบนไคลเอนต์
Vadim

3
ดูเหมือนว่าลิงก์จะใช้งานไม่ได้ คุณสามารถอธิบายวิธีการทำเช่นนี้หรือให้ลิงค์ใหม่โปรด?
Ravi Mehta

5

คำตอบสั้น ๆ คือไม่ - WFS จะส่งข้อมูลให้คุณแล้วคุณต้องรับผิดชอบในการใส่สไตล์ในไคลเอนต์ OpenLayers ใช้ stylemap เพื่อกำหนดเลเยอร์เวกเตอร์ ดูhttp://docs.openlayers.org/library/feature_styling.htmlเพื่อดูรายละเอียดวิธีกำหนดเลเยอร์เวกเตอร์


1

ใช่คุณสามารถโหลด wfs-layer ลงใน openlayers แล้วแยก sld-file ลงใน openlayers-stylemap และนำไปใช้กับ wfs-layer

หรือคุณสามารถแนบ sld กับ geoserver-wfs-layer เป็น sld เริ่มต้น จากนั้นโหลดเลเยอร์ wfs ลงใน openlayers และระบุรูปแบบภาพ (เช่น image / png หรือ image / jpeg) ในพารามิเตอร์คำขอ เมื่อโหลดแล้วให้จัดเก็บไว้เป็น Openlayers.Layer.WMS-object สิ่งนี้จะทำให้เลเยอร์เป็นเลเยอร์แรสเตอร์ที่แนบมากับ sld ที่ใช้โดย geoserver แล้ว


0

ข้อกำหนด OGC สำหรับ sld บอกว่าเป็น WMS

โปรไฟล์OpenGIS® Styled Layer Descriptor (SLD) ของมาตรฐานการเข้ารหัสOpenGIS® Web Map Service (WMS)

ดังนั้น!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.