Şubat 28, 2020
geoserver-styles

GeoServer – Stil Yönetimi

Bu yazıda GeoServer’da stiller konusuna giriş yapmış olacağız, GeoServer stil tarafında spatial verilerin görünümünü kontrol etmek amacıyla kullanılması için bir takım özellikler barındırmaktadır. Stiller kullanıcı tarafından tanımlanabilen stil dosyaları kullanılarak yönetilebilir. GeoServer bize 4 farklı tipte format kullanarak stil dosyası tanımlamamıza izin verir.

Bunlar;

  • Styled Layer Descriptor (SLD): Coğrafi stil için OGC standardı. Varsayılan olarak kullanılabilir.
  • Cascading Style Sheets (CSS): CSS benzeri bir sözdizimi. Uzantı ile kullanılabilir.
  • YSLD: Geliştirilmiş geliştirme için YAML tabanlı bir SLD eşdeğeri. Uzantı ile kullanılabilir.
  • MBStyle: Gelişmiş birlikte çalışabilirlik için JSON tabanlı bir sözdizimi. Uzantı ile kullanılabilir.

GeoServer yönetim ekranına giriş yapıldığında, sol taraftaki menüden Styles ya da Türkçe kurulum yaptıysanız Stiller sayfası üzerinden yönetim sağlanabilir. Bu sayfadan stil ekleme, silme ve varolan bir stili düzenleme işlemi yapılabilir.

Bu sayfadan Add a new style bağlantısına tıklayarak yeni bir stil tanımlaması yapalım. Bu ekranda önce stil adı ve bu stilin kullanılabileceği çalışma alanı (workspace) seçilmelidir. GeoServer bize stil tanımlamak için üç seçenek sunuyor; dosya olarak yüklemek, varolan hazır bir stili referans almak ya da GeoServer içinde varsayılan olarak bulunan stil dosyaları üzerinden stil oluşturmak. Biz bu örnekte SLD tipi stillleri kullanacağız. Aşağıdaki gibi nokta tipinde bir stil tanımlayalım.

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor version="1.0.0" 
 xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd" 
 xmlns="http://www.opengis.net/sld" 
 xmlns:ogc="http://www.opengis.net/ogc" 
 xmlns:xlink="http://www.w3.org/1999/xlink" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <NamedLayer>
    <Name>default_point</Name>
    <UserStyle>
      <Title>Default Point</Title>
      <Abstract>A sample style that draws a point</Abstract>
  <FeatureTypeStyle>
     <Rule>
     <PointSymbolizer>
     <Graphic>
        <ExternalGraphic>
           <OnlineResource xlink:type="simple" xlink:href="http://www.myiconfinder.com/uploads/iconsets/note.png" />
           <Format>image/png</Format>
        </ExternalGraphic>
     </Graphic>
 </PointSymbolizer>
       <TextSymbolizer>
         <Label>
           <ogc:PropertyName>İlk Stil</ogc:PropertyName>
         </Label>
         <Font>
           <CssParameter name="font-family">Arial</CssParameter>
           <CssParameter name="font-size">15</CssParameter>
           <CssParameter name="font-style">normal</CssParameter>
           <CssParameter name="font-weight">bold</CssParameter>
         </Font>
         <LabelPlacement>
           <PointPlacement>
             <AnchorPoint>
               <AnchorPointX>0.7</AnchorPointX>
               <AnchorPointY>0.2</AnchorPointY>
             </AnchorPoint>
             <Displacement>
               <DisplacementX>0</DisplacementX>
               <DisplacementY>1</DisplacementY>
             </Displacement>
             <Rotation>0</Rotation>
           </PointPlacement>
         </LabelPlacement>
         <Fill>
           <CssParameter name="fill">#922339</CssParameter>
         </Fill>
       </TextSymbolizer>
     </Rule>
   </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Yukarıdaki stil tek bir nokta ve üzerinde de açıklama metninin görüntülenebilmesini temsil eder. Stili silmek için ise Stiller sayfasındaki listeden ilgili stili seçip, seçili stilleri kaldır seçeneğini kullanabiliriz.

Temel olarak stil kullanımı bu şekilde, yaptığınız uygulamaya göre stilleri değiştirebileceğiniz gibi dinamik olarak değişen tanımlamalar ile de stil içeriklerini oluşturabilirsiniz. Diğer yazımızda bu konu üzerinde duracağız. Takipte kalın!

Kaynak

Ömür Bilgili

Kıdemli Bilgisayar Mühendisi - GIS Geliştirici

View all posts by Ömür Bilgili →

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir