יותר

סימבולוגיה מבוססת תכונות של Geoserver SLD

סימבולוגיה מבוססת תכונות של Geoserver SLD


יש לי מערך נתונים שבו יש להציג מספר תכונות עם אותו סמל. אני יכול להשיג זאת באמצעות מספר אופרטורים 'PropertyIsEqualTo' המקוננים בתוך אופרטורים לוגיים 'או', ראה דוגמה להלן;

  CURRENT_ST AB-LOC  CURRENT_ST ABD

זה נראה קצת לא יעיל, במיוחד בהתחשב בכך שיש לי כ -10 סוגי סמלים שונים שלכל אחד מהם כ -10 תכונות תורמות. באופן אידיאלי פשוט תנקה את נתוני המאפיינים, או תוסיף שדה סמל שקיבץ אותם יחד, אך אין זו אפשרות במקרה זה.

האם יש דרך יעילה יותר לעשות זאת?

למשל להיות מסוגל לרשום את התכונות משהו כמו להלן יהיה נהדר;

 CURRENT_ST 'AB-LOC', 'ABD', 'ABC', 'DEF'

Geoserver מספקת קבוצה של פונקציות SLD לא סטנדרטיות בנוסף לתכונות SLD הסטנדרטיות. אופרטור 'IN' הוא חלק מפונקציות לא סטנדרטיות אלה. משהו כזה אמור לעבוד:

   CURRENT_ST AB-LOC ABD א ב ג DEF נָכוֹן

שימו לב כי בפונקציהב- 4,4תואם את מספר הארגומנטים שאתה מציין. שנה אותו בהתאם למספר הערכים ברשימה שלך. תקן OGC Filter 1.0 המשמש ב- SLD 1.0 מגביל מספר קבוע של ארגומנטים, לכןבהפונקציה ניתנת כסדרה שלinXאיפהאיקסהוא המספר האמיתי של הטיעונים שעליך ליישם.

תוכל לעיין בדף תיעוד זה ובדוגמה: http://docs.geoserver.org/stable/en/user/styling/sld-tipstricks/mixed-geometries.html#geometrytype-function


צפו בסרטון: Tutorial Build simple geoserver query CQL form