【geoserver】实现符号按字段旋转

【geoserver】实现符号按字段旋转

arcgis中可以将点设置为箭头,并按字段旋转;就可以只管显示该点的方位角。今天研究了一下如何使用geoserver实现这个效果,下面做个总结。

1、arcgis

首先看一下arcgis是如何实现的
第一步,将点设置为箭头
在这里插入图片描述
第二步,设置旋转
在这里插入图片描述
在这里插入图片描述
简单的两步就设置好了。。
需要注意的是,字段中的值是方位角,所以要旋转方式选择的是地理。

2、geoserver

下面是用geoserver实现的sld文档

<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor version="1.0.0"
  xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/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>test_font</Name>
    <UserStyle>
      <Title>azure square point style</Title>
      <FeatureTypeStyle>
        <Rule>
          <Title>azure point</Title>
          <PointSymbolizer>
            <Graphic>
              <Mark> 
                <WellKnownName>shape://carrow</WellKnownName>
                <Fill>
                  <CssParameter name="fill">#cc0000</CssParameter>
                </Fill>
              </Mark>
              <Size>26</Size>
              <Rotation>
                <ogc:PropertyName>jiaodu</ogc:PropertyName>
              </Rotation>
            </Graphic>
          </PointSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

其中,<WellKnownName>shape://carrow</WellKnownName>代表的是用箭头显示点;<Rotation></Rotation>是设置旋转角度,一般里边放的是一个数值,我尝试着放入字段表达式<ogc:PropertyName>jiaodu</ogc:PropertyName>,效果居然出来了。
在这里插入图片描述
注意:这里的旋转是:“指定符号绕其中心点的旋转,单位为十进制度数。正值表示顺时针旋转,负值表示逆时针旋转。值可以包含表达式。默认值为0。”
在这里插入图片描述
因此,geoserver中的旋转相当于arcgis中的算术函数,如果字段是方位角的话,记得要重新计算一下。

GeoServer配置符号(也称为样式)可以让你定义和自定义地图图层的外观。下面是一个简单的步骤指南: 1. 打开GeoServer管理界面,通过浏览器访问GeoServer的URL,然后使用管理员账户登录。 2. 在管理界面中,点击“工作区”选项卡,选择你想要配置符号的工作区。 3. 在工作区页面中,点击“样式”选项卡。这里可以看到已经存在的符号样式列表。 4. 点击“添加新样式”按钮,进入新样式的配置页面。 5. 在样式配置页面中,首先输入一个唯一的样式名称。 6. 在“SLD文本”框中,你可以使用SLD(Styled Layer Descriptor)语言编写符号样式。SLD是一种XML格式的语言,用于描述地图符号化规则。 7. 根据你的需求,编写SLD代码来定义图层的样式。可以设置点、线、面的颜色、宽度、填充等属性,还可以使用图标、箭头等自定义符号。 8. 在编写完SLD代码后,点击“应用”按钮保存样式。 9. 返回样式列表页面,你应该能够看到新添加的样式。 10. 最后,在图层页面中选择你想要应用该样式的图层。找到“样式”选项卡,并选择你刚刚创建的样式。 完成以上步骤后,你的图层将使用你自定义的符号样式进行渲染。你可以在GeoServer中使用SLD编辑器或手动编写SLD代码来创建更复杂的符号样式。此外,GeoServer还支持其他符号化格式,如Symbology Encoding(SE)规范。如果你想进一步了解符号配置和样式定义的详细信息,请参考GeoServer的官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值