OpenLayers: SLD फाइल के साथ WFS लेयर को कैसे स्टाइल करें?


14

मैं WinGIS / 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"
        })
});

परत सही ढंग से प्रदर्शित होती है, लेकिन सादे, डिफ़ॉल्ट [?] शैली में जियो सेवर से।

मुझे uDig के साथ एक SLD स्टाइल फ़ाइल बिल्ड मिला है और यह सही प्रतीत होता है क्योंकि WMS सेवा बिना किसी समस्या के इसका उपयोग कर रही है। क्या मैं इसे WFS लेयर को स्टाइल करने के लिए भी इस्तेमाल कर सकता हूँ?

जवाबों:


8

OL के "स्टाइल लेयर्ड डिस्क्रिप्टर (SLD) उदाहरण" उदाहरण देखें। वे GML को स्टाइल करने के लिए SLD का उपयोग करते हैं, लेकिन साथ ही WFS (एक वेक्टर लेयर) के लिए भी काम करना चाहिए।

साभार : OL का नबबल डॉट कॉम मंच


यह अच्छा है - मुझे नहीं पता था कि आप ऐसा कर सकते हैं।
इयान Turton

मैंने इसका कभी उपयोग नहीं किया है, लेकिन मुझे लगा कि मैंने इसे पहले कहीं देखा है, इसलिए अच्छे पुराने भरोसेमंद नब्बल डॉट कॉम फोरम पर शोध करना पड़ा। हालाँकि, एसओ जीआईएस बोर्ड को भरने की अनुमति देता है।
वादिम

2
लेकिन एक तरह से आप सही हैं कि आप अभी भी इसे ग्राहक पर स्टाइल करने के लिए जिम्मेदार हैं, है ना? यह सर्वर पर नहीं है। लेकिन आप क्लाइंट पर पहले से निर्मित एसएलडी के साथ स्टाइल कर सकते हैं।
वादिम

3
ऐसा प्रतीत होता है कि लिंक टूट गया है। क्या आप बता सकते हैं कि यह कैसे करना है, या कृपया एक नया लिंक प्रदान करें?
रवि मेहता

5

संक्षिप्त उत्तर नहीं है - WFS आपको डेटा भेजता है और फिर आप क्लाइंट में इसे स्टाइल करने के लिए जिम्मेदार हैं। OpenLayers एक वेक्टर लेयर को स्टाइल करने के लिए एक स्टाइलमैप का उपयोग करता है। कैसे एक वेक्टर परत शैली के विवरण के लिए http://docs.openlayers.org/library/feature_styling.html देखें ।


1

हां, आप wfs- लेयर को ओपेन-लेयर में लोड कर सकते हैं, फिर sld-file को ओपन-प्लेयर्स-स्टाइलमैप में पार्स करें, और इसे wfs-लेयर पर अप्लाई करें।

वैकल्पिक रूप से, आप sld को geoserver-wfs-layer में डिफ़ॉल्ट sld के रूप में संलग्न कर सकते हैं। फिर ओपन-लेयर में wfs-layer को लोड करें और अनुरोध पैरामीटर में एक छवि-प्रारूप (जैसे छवि / पीएनजी या छवि / जेपीईजी) निर्दिष्ट करें। एक बार लोड होने पर, इसे Openlayers.Layer.WMS- ऑब्जेक्ट के रूप में संग्रहीत करें। यह परत को एक रेखापुंज परत के रूप में प्रस्तुत करेगा जिसमें संलग्न sld के साथ पहले से ही भू-आकृति द्वारा लागू किया गया है।


0

Sld के लिए OGC परिभाषा का कहना है कि WMS के लिए है

OpenGIS® वेब मैप सेवा (WMS) का मानक

इसलिए !

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.