当前位置:软件学习 > 其它软件 >>

geoserver 关于点样式的解决方案

目前做一个工程,希望数据库的1个点在地图中呈现许多属性,需要点根据数据库的坐标做点的偏移处理,查过很多资料,不知道点样式到底能不能实现偏移。  以下是一段 文字标签的偏移代码,既然文字可以做到便宜,我想点也可以吧?  请高手指教

 
       <TextSymbolizer>
                        <Label>
                            <ogc:PropertyName>NAME</ogc:PropertyName>
                        </Label>
                        <Font>
                           
                            <CssParameter name="font-size">
                                <ogc:Literal>12.0</ogc:Literal>
                            </CssParameter>
                            <CssParameter name="font-style">
                                <ogc:Literal>normal</ogc:Literal>
                            </CssParameter>
                            <CssParameter name="font-weight">
                                <ogc:Literal>normal</ogc:Literal>
                            </CssParameter>
                        </Font>
                        <LabelPlacement>
                            <PointPlacement>
                                <AnchorPoint>
                                    <AnchorPointX>
                                        <ogc:Literal>0.0</ogc:Literal>
                                    </AnchorPointX>
                                    <AnchorPointY>
                                        <ogc:Literal>0.0</ogc:Literal>
                                    </AnchorPointY>
                                </AnchorPoint>
                                <Displacement>
                                    <DisplacementX>
                                        <ogc:Literal>0</ogc:Literal>
                                    </DisplacementX>
                                    <DisplacementY>
                                        <ogc:Literal>0</ogc:Literal>
                                    </DisplacementY>
                                </Displacement>
                                <Rotation>
                                    <ogc:Literal>0.0</ogc:Literal>
                                </Rotation>
                            </PointPlacement>
                        </LabelPlacement>
                        <Fill>
                            <CssParameter name="fill">
                                <ogc:Literal>#000000</ogc:Literal>
                            </CssParameter>
                            <CssParameter name="fill-opacity">
                                <ogc:Literal>1.0</ogc:Literal>
                            </CssParameter>
                        </Fill>
                        <VendorOption name="spaceAround">2</VendorOption>
                    </TextSymbolizer>
--------------------编程问答-------------------- 是ASP.NET的啊,帮顶了。 --------------------编程问答-------------------- 是geoserver里的 样式文件(*.sld),我没接触过asp.net 莫非他们之间很像? --------------------编程问答-------------------- 楼主贴的这段不像ASP的东西 倒是很像XML 因为不熟悉你说的GeoServer所以不太明白你要实现的效果确切的怎么实现
但是你贴的这段只要稍微改动一下就可以改动成XML 我想你去看一下XML一些基本的定义 
应该能明白这段文字的意思 然后再在明白这段文字的意义的基础上改动。下面是我对这段文字的理解(仅供参考)。

改动后得到的XML如下:(主要是把ogc:Literal这样的表述改成了ogc_Literal)
[code=XML<?xml version='1.0' encoding='ISO-8859-1' ?>
<TextSymbolizer> <!--根定义--> 
<Label>
    <ogc_PropertyName>NAME</ogc_PropertyName> <!--名称--> 
</Label>
<Font><!--字体-->
    <CssParameter name="font-size">  <!--字体大小-->
        <ogc_Literal>12.0 </ogc_Literal> 
    </CssParameter> 
    <CssParameter name="font-style"> <!--字体名称-->
        <ogc_Literal>normal </ogc_Literal> 
    </CssParameter> 
    <CssParameter name="font-weight"> <!--字体粗细-->
        <ogc_Literal>normal </ogc_Literal> 
    </CssParameter> 
</Font> 
<LabelPlacement> <!--标注位置信息 >> 我想楼主要实现的偏移主要是这个属性下的内容改动--> 
                 <!--一个标注应该由下面的锚点和显示位置来确定,锚点估计应该指的是标注要表示的物易做图置-->
                 <!--而显示位置则表示的是文本要显示在哪里,如果锚点为(0,0);显示点位(2,2)则说明标注-->
                 <!--相对于要标注的物体产生了X轴2 Y轴2的偏移-->
    <PointPlacement> 
        <AnchorPoint> <!--锚点位置?-->
            <AnchorPointX>  <!--锚点X坐标?-->
                <ogc_Literal>0.0</ogc_Literal> 
            </AnchorPointX> 
            <AnchorPointY> <!--锚点Y坐标?-->
                <ogc_Literal>0.0</ogc_Literal> 
            </AnchorPointY> 
        </AnchorPoint> 
        <Displacement> <!--标注显示位置?-->
            <DisplacementX> <!--标注显示的X坐标?-->
                <ogc_Literal>0</ogc_Literal> 
            </DisplacementX> 
            <DisplacementY> <!--标注显示的X坐标?-->
                <ogc_Literal>0</ogc_Literal> 
            </DisplacementY> 
        </Displacement> 
        <Rotation> <!--标注旋转属性-->
            <ogc_Literal>0.0</ogc_Literal> 
        </Rotation> 
    </PointPlacement> 
</LabelPlacement>
<Fill> <!--填充-->
    <CssParameter name="fill">  <!--填充颜色值?-->
        <ogc_Literal>#000000 </ogc_Literal> 
    </CssParameter> 
    <CssParameter name="fill-opacity"> <!--填充饱和度??-->
        <ogc_Literal>1.0</ogc_Literal> 
    </CssParameter> 
</Fill> 
<VendorOption name="spaceAround">2</VendorOption>
</TextSymbolizer>[/code] --------------------编程问答-------------------- 改动后得到的XML如下:(主要是把ogc:Literal这样的表述改成了ogc_Literal) 
 <?xml version='1.0' encoding='ISO-8859-1' ?> 
<TextSymbolizer> <!--根定义--> 
<Label> 
    <ogc_PropertyName>NAME </ogc_PropertyName> <!--名称--> 
</Label> 
<Font> <!--字体--> 
    <CssParameter name="font-size">  <!--字体大小--> 
        <ogc_Literal>12.0 </ogc_Literal> 
    </CssParameter> 
    <CssParameter name="font-style"> <!--字体名称--> 
        <ogc_Literal>normal </ogc_Literal> 
    </CssParameter> 
    <CssParameter name="font-weight"> <!--字体粗细--> 
        <ogc_Literal>normal </ogc_Literal> 
    </CssParameter> 
</Font> 
<LabelPlacement> <!--标注位置信息 >> 我想楼主要实现的偏移主要是这个属性下的内容改动--> 
                <!--一个标注应该由下面的锚点和显示位置来确定,锚点估计应该指的是标注要表示的物易做图置--> 
                <!--而显示位置则表示的是文本要显示在哪里,如果锚点为(0,0);显示点位(2,2)则说明标注--> 
                <!--相对于要标注的物体产生了X轴2 Y轴2的偏移--> 
    <PointPlacement> 
        <AnchorPoint> <!--锚点位置?--> 
            <AnchorPointX>  <!--锚点X坐标?--> 
                <ogc_Literal>0.0 </ogc_Literal> 
            </AnchorPointX> 
            <AnchorPointY> <!--锚点Y坐标?--> 
                <ogc_Literal>0.0 </ogc_Literal> 
            </AnchorPointY> 
        </AnchorPoint> 
        <Displacement> <!--标注显示位置?--> 
            <DisplacementX> <!--标注显示的X坐标?--> 
                <ogc_Literal>0 </ogc_Literal> 
            </DisplacementX> 
            <DisplacementY> <!--标注显示的X坐标?--> 
                <ogc_Literal>0 </ogc_Literal> 
            </DisplacementY> 
        </Displacement> 
        <Rotation> <!--标注旋转属性--> 
            <ogc_Literal>0.0 </ogc_Literal> 
        </Rotation> 
    </PointPlacement> 
</LabelPlacement> 
<Fill> <!--填充--> 
    <CssParameter name="fill">  <!--填充颜色值?--> 
        <ogc_Literal>#000000 </ogc_Literal> 
    </CssParameter> 
    <CssParameter name="fill-opacity"> <!--填充饱和度??--> 
        <ogc_Literal>1.0 </ogc_Literal> 
    </CssParameter> 
</Fill> 
<VendorOption name="spaceAround">2 </VendorOption> 
</TextSymbolizer>
补充:企业软件 ,  地理信息系统
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,