100.000). عند التكبير ، لا أريد باقي الميزات (لا ..." /> 100.000). عند التكبير ، لا أريد باقي الميزات (لا ..." />
أكثر

هل تحتوي طبقة wms في الطبقات المفتوحة على خيار "maxfeatures"؟

هل تحتوي طبقة wms في الطبقات المفتوحة على خيار


هل تحتوي طبقة wms في الطبقات المفتوحة على خيار "maxfeatures"؟

أسأل هذا لأن طبقة wms الخاصة بي تحتوي على مجموعة من النقاط (> 100.000). عند التكبير ، لا أريد عرض بقية الميزات (لست متأكدًا مما إذا كنت تسميها ميزات عند استخدام wms).

عندما كنت أستخدم WFS ، كان هذا هو الكود الخاص بي:

wfs = new OpenLayers.Layer.Vector ("WFS"، {Strategies: [new OpenLayers.Strategy.BBOX ({resFactor: 1، ratio: 1})]، protocol: new OpenLayers.Protocol.WFS ({maxFeatures: 1000، url: "my url"، featureType: "my_featuretype"، featureNS: "my_feature ns"، الإصدار: "1.1.0"})})؛

كيف يمكنني إنجاز نفس وظيفة التجسيد باستخدام طبقة wms؟

يحرر

الحل: إخفاء الطبقة عند مستوى تكبير معين. هذا يمنع تحميل كمية كبيرة من الميزات.

الشفرة:

map.events.on ({"zoomend": الوظيفة (e) {if (this.getZoom ()> 7) {layer.setVisibility (true)؛} else {layer.setVisibility (false) ؛}}})؛

يستخدم WMS الصور التي تم إنشاؤها على الخادم ، لذلك يجب أيضًا إجراء أي تصفية على الخادم. لا تتضمن مواصفات WMS معلمة MAXFEATURES ، لكن العديد من خوادم الخرائط تسمح بالتصفية.

تشير علامتك إلى أنك تستخدم GeoServer ، لذا ألق نظرة على خيار WMS MaxFeatures.

هذه معلمة خاصة بالمورد ، والتي يمكن إضافتها إلى تكوين OpenLayers WMS الخاص بك.

var wms = new OpenLayers.Layer.WMS ("Test"، "http: // myurl…"، {layer: "test"، maxfeatures: 500})؛

في استراتيجية الكتلة ذات الطبقات المفتوحة ، ربما تحل مشكلتك بالنسبة لمجموعة البيانات الكبيرة ... راجع استراتيجية مجموعة OpenLayers ... في هذه الطريقة لن تحتاج إلى تقييد نفسك ...

ونفس التعامل مع مشكلة مجموعة البيانات الكبيرة في google ، يمكنك قراءة هذا ...


في Arcgis لجافا سكريبت ،

lyr.setCustomParameters ({maxFeatures: 5000، CQL_FILTER: filter}) ؛

شاهد الفيديو: Explore Enhanced Interfaces with Geoserver: Capabilities of WFS.