أكثر

CartoCSS: بناء المضلع بالعلامة

CartoCSS: بناء المضلع بالعلامة


أنا أستخدم MapBox Studio لإنشاء خريطة مخصصة للأحياء الفقيرة.

في OSM لدينا العديد من المضلعات التي تمثل المباني وأحتاج إلى تصميمها وفقًا لعلامة "المبنى" الخاصة بها. على سبيل المثال ، يجب أن يكون للمبنى = علامة المستشفى خلفية حمراء.

حاولت تحديد هذه المضلعات ولكن لا يمكنني العثور على طريقة تعمل بشكل جيد كما هو متوقع:

# بناء {polygon-fill: # 2aeb38؛ }

... لكن لا يعمل أي من هؤلاء:

#building [building = 'hospital'] ، #building [amenity = 'clinic'] ، #building [class = 'clinic'] ، #building [class = 'hospital'] ، #buildings [type = 'hospital'] ، #buildings [type = 'clinic'] {polygon-fill: # e28600؛ }

في Maperitive يمكنني بسهولة تحديد نمط المضلعات والإشارة بسهولة عن طريق القيام بما يلي:

مستشفى: الراحة = مستشفى أو المبنى = مستشفى أو وسائل الراحة = هدف العيادة: تحديد المستشفى ...

لكن لا يمكنني تكرار هذا على CartoCSS. أيه أفكار؟


إذا كان التصميم الخاص بك هو المصدر الافتراضي (mapbox-street-v5) في mapbox studio ، فأنت لا تعمل مع بيانات OSM الأولية ، فأنت عبارة عن بيانات تصميم تم تطبيق رأي شخص ما عليها بالفعل ، وبالتالي فإن خياراتك محدودة. في هذه الحالة ، لا تحتوي طبقة المبنى على أي حقول بخلاف osm_id ، لذلك لا يبدو أنك ستكون قادرًا على إنجاز ما تبحث عنه باستخدام mapbox-street-v5. هذا لا يعني أنه لا يمكنك القيام بهذا التصميم باستخدام mapbox studio ، ولكن سيتعين عليك إنشاء مربعات متجهية تتضمن المعلومات التي تحتاجها.

في جزء الطبقات في Mapbox studio ، يمكنك عرض الحقول المرتبطة بالطبقة:


شاهد الفيديو: Advanced CartoCSS with CartoDB