أكثر

يعيد نمط Geoserver WMS Circle SLD دائرة غير كاملة بمستويات تكبير أعلى


أنا أستخدم OpenGeo Suite Boundless v2.6

لقد أنشأت نمط SLD لطبقة النقاط وأنشأت قاعدتين:

  • حكم لرسم أيقونة رسومات من ملف png.
  • حكم لرسم دائرة نصف قطرها (الحجم) من جدول ديسيبل باستخدام (سمة OGC) بالأمتار.

أستخدم الكود التالي لتحميل الطبقة في OL3:

var wmsSource = new ol.source.TileWMS ({url: 'http: // localhost: 8080 / geoserver / wms'، params: {'TILED': true، VERSION: '1.3.0'، 'LAYERS': 'myds : هوائي '،}، serverType:' geoserver '})؛ new ol.layer.Tile ({id: 'Message'، title: 'Antennas'، visual: true، source: wmsSource})؛

الطبقة التي تم تحميلها بشكل صحيح على الخريطة في بعض مستويات التكبير / التصغير المنخفضة (0-10) إذا قمت بالتكبير إلى مستويات أكثر لأسفل (11-17) يتم قطع شكل الدائرة بواسطة المربعات مثل الصورة أدناه:

الشيء الغريب عندما قمت بتعيين القاعدة الثانية في SLD للحصول على قيمة نصف قطر ثابتة مثل (2000) متر - ليس من جدول db - ، فإنه يرسم دائرة كاملة في جميع مستويات التكبير ، لكني بحاجة إلى تعيين نصف قطر مختلف لـ كل دائرة.

لقد جربت العديد من الحلول لتجنب هذا الخطأ عن طريق تغيير عوامل metatiling لتكون 100x100 بدلاً من 4x4 وتغيير Gutter إلى 100 بكسل ، فهذا يحل المشكلة ولكنه يؤثر على سرعة التحميل بشكل سيء.

لذا يرجى مساعدتي في حل هذه المشكلة.


بعد تطبيق اقتراح iant عن طريق إرسال خطأ إلى Geoserver في الرابط التالي Geoserver Issue

لكن الجواب الأول كان:

هذا ليس خطأ ، GeoServer لا يمكنه التنبؤ بحجم الدائرة لأنها تعتمد على السمة. يجب أن تقوم يدويًا بإعداد مخزن مؤقت كبير بما يكفي لرعاية جميع احتياجاتك في تكوين الطبقة: http://docs.geoserver.org/2.7.1/user/webadmin/data/layers.html

إجابة أخرى تستخدم ol.source** بدلاً من استخدام **ol.source.TileWMS ' والتي ستعيد استجابة WMS في صورة واحدة غير مبلطة بحيث لا يتم قطع الدوائر مثل الصورة المرفقة سابقًا.

لقد جربت هذه الإجابة واختفت الدائرة غير المكتملة والنتيجة هي دوائر كاملة مع نصف القطر المحدد من سمة DB.

فالخلاصة هي:

  • يستخدم ol.source إذا كنت تريد تحميل استجابة WMS في صورة تجانب واحدة - وليس صور متجانبة -.

كنت أرغب في مشاركة الحل مع أي شخص يواجه هذه المشكلة.


شاهد الفيديو: Web Map Service WMS crash course. GeoServer. tekson (شهر اكتوبر 2021).