铁路的sld文件描述

转自:http://blog.sina.com.cn/s/blog_4c079bcb01000ate.html


geoserver自带的demo提供了一些样式,但是这些样式在实际应用中是远远不够的,往往都需要自己添加样式,而geoserver中的样式都是通过sld文件来描述。通过看文档自己写些点线面样式应该不难。而且文档中的例子还是介绍比较详细的。
铁路是实际用中比较常见的,最初我打算用小图(铁路片断)的方式结合sld来描述铁路,但正在我要动手写时,无意中发现了前人已经写好的一个铁路的样式,非常简洁,实在是没有理由不采用,贴在此处,与诸君共享.
 
<?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> area landmarks </Name>
    <UserStyle>
   <FeatureTypeStyle>
    <FeatureTypeName>Feature</FeatureTypeName>
     <Rule> 
      <LineSymbolizer>
       <Stroke>
          <CssParameter name="stroke">
           <ogc:Literal>#666666</ogc:Literal>
          </CssParameter>
          <CssParameter name="stroke-width">
           <ogc:Literal>5</ogc:Literal>
          </CssParameter>
         </Stroke>
      </LineSymbolizer>
          </Rule>
    </FeatureTypeStyle>  
        <FeatureTypeStyle>
     <FeatureTypeName>Feature</FeatureTypeName>
      <Rule> 
       <LineSymbolizer>
        <Stroke>
           <CssParameter name="stroke">
             <ogc:Literal>#FFFFFF</ogc:Literal>
           </CssParameter>
           <CssParameter name="stroke-width">
             <ogc:Literal>3</ogc:Literal>
           </CssParameter>
          </Stroke>
             </LineSymbolizer>
            </Rule>
    </FeatureTypeStyle>  
        <FeatureTypeStyle>   
       <Rule>
        <LineSymbolizer>
              <Stroke>
           <CssParameter name="stroke">#000000</CssParameter>
           <CssParameter name="stroke-width">3</CssParameter>
           <CssParameter name="stroke-dasharray">15 15</CssParameter>
          </Stroke>
            </LineSymbolizer>
       
        <TextSymbolizer>
         <Label>
        <ogc:PropertyName>name</ogc:PropertyName>
         </Label>
         <Font>
        <CssParameter name="font-family">宋体</CssParameter>
        <CssParameter name="font-style">Normal</CssParameter>
        <CssParameter name="font-size">9</CssParameter>
        <CssParameter name="font-weight">bold</CssParameter>
         </Font>
         <Halo>
          <Radius>
          <ogc:Literal>2</ogc:Literal>
          </Radius>
          <Fill>
         <CssParameter name="fill">#FFFFFF</CssParameter>
         <CssParameter name="fill-opacity">0.85</CssParameter>    
          </Fill>
        </Halo>
          <Fill>
       <CssParameter name="fill">#000000</CssParameter>
        </Fill>
     </TextSymbolizer>
      </Rule>
          
    </FeatureTypeStyle>
  </UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
时间关系就写这些了。本来还要写写postgresql/postgis中shp文件转sql文件和转换过程中编码的转换的,看来只能留在下次了。

GeoTools是一个广泛用于地理空间数据操作的强大开源Java库。它提供了一套完整的工具,包括处理、分析和可视化地理信息的功能。当你需要从GeoTools生成SLD (Style Layer Descriptor) 文件时,这通常涉及到创建地图样式规则来描述图层的颜色、边框、标记等视觉属性。 以下是一个简单的步骤概述: 1. **创建图层样式**:首先,你需要通过GeoTools创建一个`SimpleFeatureType`表示你要应用样式的特征类型,并定义所需的样式属性。 ```java SimpleFeatureType featureType = ...; // 你的特征类型 Rule styleRule = ...; // 创建包含颜色、线宽等属性的规则 ``` 2. **创建SLSWriterFactory**:GeoTools有一个名为`SLDWriterFactory`的类,你可以使用它来创建SLSWriter实例,该实例可以将样式规则序列化为SLD文本。 ```java SLDWriterFactory writerFactory = SLDWriterFactory.getDefault(); ``` 3. **编写SLSWriter**:使用`writerFactory`创建`SLDWriter`,并设置相关的选项如主题、版本等。 ```java SLDWriter writer = writerFactory.createWriter("your-layer-name.sld", SLDWriter.SLD_FORMAT_VERSION_10); ``` 4. **写入SLS文件**:最后,调用`write()`方法将样式规则添加到SLSWriter中,并将其写入到指定的文件中。 ```java writer.write(styleRule); writer.close(); ``` 完成以上步骤后,你就能得到一个名为"your-layer-name.sld"的SLD文件,它包含了对应于你的GeoTools图层的样式描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值