博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ArcIMS地图配置文件,地图服务,请求和响应之间的关系(转)
阅读量:5265 次
发布时间:2019-06-14

本文共 3892 字,大约阅读时间需要 12 分钟。

本文不仅讨论了地图配置文件,地图服务,请求和响应之间的关系,而且介绍了它们与
ArcIMS
空间服务器之间是如何相互作用的。
ArcIMS
空间服务器是
ArcIMS
的支柱。空间服务器能将地图和数据打包成适当的格式,然后在将它发送给客户端浏览器。
与空间服务器之间的所有的交流都是使用
ArcXML
,图
1
显示了空间服务器和地图配置文件,地图服务,请求和响应之间的相互关系。图表中的数字反映了与空间服务器交流的不同步骤。
1
步,使用
Author
工具,文本编辑器或
XML
编辑器来创建一个地图配置文件。该地图配置文件是用
ArcXML
写的。
2
步,使用
Administrator
Spatial Server
上发布一个地图服务,第
1
步产生的地图配置文件是针对这个地图服务的。
3
步,空间服务器收到一个
ArcXML
格式的请求。
4
步,空间服务器生成一个
ArcXML
格式的响应。
图1,按照图表显示地图配置文件,地图服务,ArcIMS空间服务器,请求和响应之间的关系
上面的每一个步骤都会在下面详细讨论到。
第1步 创建一个地图配置文件
在图
1
的第
1
步,生成一个地图配置文件,你可以用
Author
工具,文本编辑器或
XML
编辑器创建一个地图配置文件,该文件是以
ArcXML
格式的,它包含地图的描述信息,如使用什么数据层,每一层是如何显示的。图
2
显示了
ArcIMS Author
中具有两个层,
US_Cities
层和
States_dd
层。
图片
2
当你在
Author
中保存该文件,其结果就是包含层信息的一个地图配置文件,如图
3
所示。
<?xml version="1.0" encoding="UTF-8"?>
<ARCXML version="1.1">
<CONFIG>
<ENVIRONMENT>
<LOCALE country="CN" language="zh" variant="" />
<UIFONT color="0,0,0" name="sansserif.plain" size="12" style="regular" />
<SCREEN dpi="96" />
</ENVIRONMENT>
<MAP>
<PROPERTIES>
<ENVELOPE minx="-128.86515248134154" miny="18.924781799316406" maxx="-66.96927103600244" maxy="58.38488352301343" name="Initial_Extent" />
<MAPUNITS units="decimal_degrees" />
</PROPERTIES>
<WORKSPACES>
<SHAPEWORKSPACE name="shp_ws-0" directory="C:\student\arcims\Data" />
</WORKSPACES>
<LAYER type="featureclass" name="States_dd" visible="true" id="0">
<DATASET name="States_dd" type="polygon" workspace="shp_ws-0" />
<SIMPLERENDERER>
<SIMPLEPOLYGONSYMBOL boundarytransparency="1.0" filltransparency="1.0" fillcolor="0,0,255" boundarycaptype="round" />
</SIMPLERENDERER>
</LAYER>
<LAYER type="featureclass" name="US_Cities" visible="true" id="1">
<DATASET name="US_Cities" type="point" workspace="shp_ws-0" />
<SIMPLERENDERER>
<SIMPLEMARKERSYMBOL color="255,0,0" width="6" />
</SIMPLERENDERER>
</LAYER>
</MAP>
</CONFIG>
</ARCXML>
   
地图配置文件区别请求或响应的标志就是
CONFIG
元素。
CONFIG
元素的子元素是用于辅助定义地图的特征,如
PROPERTIES
WORKSPACE
,和
LAYER
等子元素。
步骤
2
:发布一个地图服务
地图服务是运行在
ArcIMS
空间服务器上的一个应用程序。你可以将地图服务作为空间服务器的一个入口来看待。空间服务器只对运行在其上的地图服务提供相应的服务。
对于一个地图服务而言,一个地图配置文件是必要的(图
1
2
步)。当发布一个地图服务的时候,你必须指派地图服务给
FeatureServer
ImageServer,
在本文中的例子是发布成影象地图服务。无论哪种情况,地图配置文件都给地图服务中的每一层提供了绘制的规则。这些规则是地图服务的默认选项。比如,如果地图服务采用图
3
所示的地图配置文件,那么地图服务将给
States_dd
层以蓝色的多边形填充显示,
US_Cities
层以红色的标记符号显示。
第3步:客户端发送请求
地图服务一旦运行在空间服务器上,客户端就能够向地图服务发送请求(图
1
中的第
3
步)。请求由
ArcIMS HTML
客户端浏览器、
Java
客户端浏览器和
ColdFusion
ActiveX
连接器产生。
客户端请求与其它类型的
ArcXML
文件区别的标志是
REQUEST
元素。图
4
是客户端请求的典型的一个例子。
图4:客户端请求影象的例子
<?xml version="1.0" encoding="UTF-8"?>
<ARCXML version="1.1">
<REQUEST>
<GET_IMAGE>
<PROPERTIES>
<ENVELOPE minx="-125" miny="25" maxx="-67" maxy="50" />
<IMAGESIZE width="700" height="500" />
</PROPERTIES>
</GET_IMAGE>
</REQUEST>
</ARCXML>
当上述的请求发送到图
3
的地图服务,其结果看起来与
Author
中初始定义的地图一样。使用的地图服务定义范围和图层符号。
图5:使用地图服务的默认值生成的地图服务
图片 3
客户端的请求也可以通过请求不同比例尺,改变图层的颜色,显示或隐藏图层,请求属性数据的子集或改变投影,来覆盖掉地图服务的一些信息。图
6
,客户端给同一个地图服务发出请求,获取新的缩放比例并将
US_Cities
层的要素符号改成星形
,
颜色从蓝色改变为绿色。
图6:客户端请求改变地图服务缩放区域和图层要素的符号及颜色
<?xml version="1.0" encoding="UTF-8"?>
<ARCXML version="1.1">
<REQUEST>
<GET_IMAGE>
<PROPERTIES>
<ENVELOPE minx="-88" miny="30" maxx="-67" maxy="50.0" />
<IMAGESIZE width="500" height="350" />
<LAYERLIST>
<LAYERDEF id="1" visible="true" >
<SIMPLERENDERER>
<SIMPLEMARKERSYMBOL type="star" color="0,255,0" width="6"/>
</SIMPLERENDERER>
</LAYERDEF>
</LAYERLIST>
</PROPERTIES>
</GET_IMAGE>
</REQUEST>
</ARCXML>
客户端请求获得的新地图,将如图
7
所示显示:
图7:使用新的缩放因子并给US_Cities层更改符号和显示颜色
 
图片 4
第4步:客户端接受服务器的响应
当空间服务器处理一个请求,其结果是返回一个响应(图
1
的第
4
步)。服务器的响应与其它类型的
ArcXML
文件区别的标志是
RESPONSE
元素。图
8
是影像地图服务对地图请求响应的一个例子。响应包含空间服务器生成的地图的名称和位置。该响应是对图
4
和图
6
请求的一个典型的例子。
8
:响应的例子
<?xml version="1.0" encoding="UTF8"?>
<ARCXML version="1.1">
<RESPONSE>
<IMAGE>
<ENVELOPE minx="-91.7857142857143" miny="30" maxx="-63.2142857142857" maxy="50" />
<OUTPUT url="http://technic/output/actc_ZHUANGHY1208107213.jpg" />
</IMAGE>
</RESPONSE>
</ARCXML>
 
图片
1

转载于:https://www.cnblogs.com/gergro/archive/2006/07/14/450759.html

你可能感兴趣的文章
1.2 基础知识——关于猪皮(GP,Generic Practice)
查看>>
迭代器Iterator
查看>>
java易错题----静态方法的调用
查看>>
福建省赛-- Common Tangents(数学几何)
查看>>
php建立MySQL数据表
查看>>
从头再来
查看>>
最简单的线程同步的例子
查看>>
结对编程总结 1175 1176
查看>>
php学习笔记(一)————php类的概念
查看>>
Centos 安装KScope1.6.2
查看>>
内核链表使用--删除链表节点
查看>>
eclipse启动无响应,停留在Loading workbench状态
查看>>
How exactly does Google AdWords work?
查看>>
多线程系列(4)使用多线程的安全问题
查看>>
C# 你可能没这样用过(逗逼方式) return
查看>>
Asp.Net Core配置的知识总结
查看>>
(转)几种经典的hash算法
查看>>
mysql安装_图文详细安装步骤_让你轻松安装并使用(超详细步骤)
查看>>
ASP.NET笔记(四)
查看>>
圆形进度
查看>>