分享
 
 
 

使用ArcXML实现的特殊的地图符号展现

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

1 引言

在ArcIMS的二次开发中 ArcXML 作为客户端和服务器端的通信语言,其灵活性和可扩展性有目共睹。也许大家还不知道在配置ArcIMS地图服务时,不仅可以使用特殊的ArcXML标签符号编辑axl文件,实现Author不能完成的定制功能,还可以根据地图标注的特点,通过灵活的手工配置实现单一ArcXML标签所不能实现的地图展现功能。

2 特殊的展现实现

在基于ArcXML的地图服务的配置中,没有符合中国铁路标记的地图符号,作为线形符号又不能简单使用<TRUETYPEMARKERSYMBOL>符号进行标记,因为这样标记的地图展现的效果会非常差;同样在道路的线形符号的标记中通过使用Author或者简单使用ArcXML标签也不能实现双线路的效果,而如果使用地图标记层(即制作面的道路层)显然又不符合地图数据制作的规范;另外在一般的地图点形符号的标注中如果单纯使用ArcXML的配置标签,单一符号只能配置一种颜色,如果要不同的颜色就不好实现。下面就针对以上问题进行实现介绍

2.1 铁路地图符号实现

通过使用线形地图符号叠加的效果实现符合中国地图习惯的铁路符号。

1. 使用Author或者简单手工配置后的效果:

图一

ArcXML配置代码如下:

<LAYER type="featureclass" name="railway" visible="true" id="0">

<DATASET name="SDE. railway " type="line" workspace="sde_ws-16" />

<GROUPRENDERER>

<SIMPLERENDERER>

<SIMPLELINESYMBOL width="2" captype="round" />

</SIMPLERENDERER>

<SIMPLELABELRENDERER field="NAME" linelabelposition="placeabove">

<TEXTSYMBOL font="arial" fontstyle="regular" fontsize="12" />

</SIMPLELABELRENDERER>

</GROUPRENDERER>

</LAYER>

2. 通过特殊定制后的展现效果:

图二

ArcXML配置代码如下:

<LAYER type="featureclass" name="railway" visible="true" id="0">

<DATASET name="SDE. railway " type="line" workspace="sde_ws-24" />

<GROUPRENDERER>

<GROUPRENDERER>

<SCALEDEPENDENTRENDERER lower="1:1" upper="1:7000000">

<SIMPLERENDERER>

<SIMPLELINESYMBOL width="3" color="0,0,0" />

</SIMPLERENDERER>

</SCALEDEPENDENTRENDERER>

<SCALEDEPENDENTRENDERER lower="1:1" upper="1:7000000">

<SIMPLERENDERER>

<SIMPLELINESYMBOL width="1" color="255,255,255" />

</SIMPLERENDERER>

</SCALEDEPENDENTRENDERER>

<SCALEDEPENDENTRENDERER lower="1:1" upper="1:7000000">

<SIMPLERENDERER>

<SIMPLELINESYMBOL width="1" type="dash" captype="round" color="0,0,0" />

</SIMPLERENDERER>

</SCALEDEPENDENTRENDERER>

</GROUPRENDERER>

<SCALEDEPENDENTRENDERER lower="1:1" upper="1:100000">

<SIMPLELABELRENDERER field="NAME" linelabelposition="placeabove">

<TEXTSYMBOL font="Arial" fontstyle="bold" fontsize="14" interval="7" />

</SIMPLELABELRENDERER>

</SCALEDEPENDENTRENDERER>

</GROUPRENDERER>

</LAYER>

2.2 特殊道路符号实现

为了实现较为符号中国人看图习惯的双线路,同时又不增加地图展现的空间数据,使用线形符号叠加的效果实现双线路。

1. 使用Author或者简单手工配置后的效果:

图一

ArcXML配置代码如下:

<LAYER type="featureclass" name="SDE.road" visible="true" id="0">

<DATASET name="SDE. road " type="line" workspace="sde_ws-36" />

<GROUPRENDERER>

<SIMPLERENDERER>

<SIMPLELINESYMBOL width="2" captype="round" color="0,0,255" />

</SIMPLERENDERER>

<SIMPLELABELRENDERER field="NAME" linelabelposition="placeabove">

<TEXTSYMBOL font="Arial" fontstyle="regular" fontsize="14" />

</SIMPLELABELRENDERER>

</GROUPRENDERER>

</LAYER>

2. 通过特殊定制后的展现效果:

图二

ArcXML配置代码如下:

<LAYER type="featureclass" name=" SDE .road" visible="true" id="72">

<DATASET name="SDE.road " type="line" workspace="sde_ws-32" />

<GROUPRENDERER>

<GROUPRENDERER>

<SCALEDEPENDENTRENDERER lower="1:50000" upper="1:7000000">

<SIMPLERENDERER>

<SIMPLELINESYMBOL width="2" captype="round" color="253,201,0" />

</SIMPLERENDERER>

</SCALEDEPENDENTRENDERER>

<SCALEDEPENDENTRENDERER lower="1:20000" upper="1:50000">

<SIMPLERENDERER>

<SIMPLELINESYMBOL width="8" captype="round" color="244,128,0" />

</SIMPLERENDERER>

</SCALEDEPENDENTRENDERER>

<SCALEDEPENDENTRENDERER lower="1:20000" upper="1:50000">

<SIMPLERENDERER>

<SIMPLELINESYMBOL width="6" captype="round" color="253,201,0" />

</SIMPLERENDERER>

</SCALEDEPENDENTRENDERER>

<SCALEDEPENDENTRENDERER lower="1:5000" upper="1:20000">

<SIMPLERENDERER>

<SIMPLELINESYMBOL width="16" captype="round" color="244,128,0" />

</SIMPLERENDERER>

</SCALEDEPENDENTRENDERER>

<SCALEDEPENDENTRENDERER lower="1:5000" upper="1:20000">

<SIMPLERENDERER>

<SIMPLELINESYMBOL width="12" captype="round" color="253,201,0" />

</SIMPLERENDERER>

</SCALEDEPENDENTRENDERER>

<SCALEDEPENDENTRENDERER lower="1:10" upper="1:5000">

<SIMPLERENDERER>

<SIMPLELINESYMBOL width="22" captype="round" color="244,128,0" />

</SIMPLERENDERER>

</SCALEDEPENDENTRENDERER>

<SCALEDEPENDENTRENDERER lower="1:10" upper="1:5000">

<SIMPLERENDERER>

<SIMPLELINESYMBOL width="18" captype="round" color="253,201,0" />

</SIMPLERENDERER>

</SCALEDEPENDENTRENDERER>

</GROUPRENDERER>

<GROUPRENDERER>

<SCALEDEPENDENTRENDERER lower="1:50000" upper="1:100000">

<SIMPLELABELRENDERER field="NAME" linelabelposition="placeontop">

<TEXTSYMBOL font="Arial" fontstyle="bold" fontsize="13" interval="1" />

</SIMPLELABELRENDERER>

</SCALEDEPENDENTRENDERER>

<SCALEDEPENDENTRENDERER lower="1:10000" upper="1:50000">

<SIMPLELABELRENDERER field="NAME" linelabelposition="placeontop">

<TEXTSYMBOL font="Arial" fontstyle="bold" fontsize="14" interval="1" />

</SIMPLELABELRENDERER>

</SCALEDEPENDENTRENDERER>

<SCALEDEPENDENTRENDERER lower="1:3000" upper="1:10000">

<SIMPLELABELRENDERER field="NAME" linelabelposition="placeontop">

<TEXTSYMBOL font="Arial" fontstyle="bold" fontsize="15" interval="1" />

</SIMPLELABELRENDERER>

</SCALEDEPENDENTRENDERER>

<SCALEDEPENDENTRENDERER lower="1:1" upper="1:3000">

<SIMPLELABELRENDERER field="NAME" linelabelposition="placeontop">

<TEXTSYMBOL font="Arial" fontstyle="bold" fontsize="16" interval="1" />

</SIMPLELABELRENDERER>

</SCALEDEPENDENTRENDERER>

</GROUPRENDERER>

</GROUPRENDERER>

</LAYER>

注:以上代码同时实现地图的变比例缩放效果,标签为< SCALEDEPENDENTRENDERER >。

对于点型要素的符号标记原理类似于以上介绍的两种情况在此不做赘述,感兴趣的朋友可以自己做作练习。

需要说明的是,以上的配置仅仅是增加了地图服务配置文件的大小,地图实际加载的空间数据的容量没有任何增加,因此并不会影响地图数据加载的速度,同时由于以上地图符号展现的配置实现遵循了地图定制的原则,因此在达到地图展现要求的同时不会影响地图的美化效果。

3 总结在ArcIMS二次开发中,配置地图服务除了可以使用Author进行一般的参数配置,也可以通过简单的手工配置实现常用的功能,但要取得更加丰富的显示效果,就需要根据地图符号的特性灵活地使用ArcXML标签,以提供强大的地图服务定制功能,达到完美展现地图服务的效果,满足不同用户的需求。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有