阅读:1654回复:2
[转贴]地图配置文件,地图服务,请求和响应之间的关系
<TABLE align=center border=0 cellPadding=0 cellSpacing=0 style="TABLE-LAYOUT: fixed">
<TR> <TD ><FONT> <P ><FONT size=2>本文不仅讨论了地图配置文件,地图服务,请求和响应之间的关系,而且介绍了它们与<FONT face=宋体>ArcIMS 空间服务器之间是如何相互作用的。ArcIMS 空间服务器是ArcIMS的支柱。空间服务器能将地图和数据打包成适当的格式,然后在将它发送给客户端浏览器。</FONT></FONT></P> <P ><FONT size=2>与空间服务器之间的所有的交流都是使用<FONT face=宋体>ArcXML,图1显示了空间服务器和地图配置文件,地图服务,请求和响应之间的相互关系。图表中的数字反映了与空间服务器交流的不同步骤。</FONT></FONT></P> <P ><FONT size=2>第<FONT face=宋体>1步,使用Author工具,文本编辑器或XML编辑器来创建一个地图配置文件。该地图配置文件是用ArcXML写的。</FONT></FONT></P> <P ><FONT size=2>第<FONT face=宋体>2步,使用Administrator在Spatial Server上发布一个地图服务,第1步产生的地图配置文件是针对这个地图服务的。</FONT></FONT></P> <P ><FONT size=2>第<FONT face=宋体>3步,空间服务器收到一个ArcXML格式的请求。</FONT></FONT></P> <P ><FONT size=2><FONT face=宋体>第4步,空间服务器生成一个ArcXML格式的响应。</FONT></FONT></P> <P ><FONT size=2><FONT face=宋体> <CENTER><a><IMG></A> 图片 1</CENTER></FONT></FONT> <FONT size=2><FONT face=宋体> <P align=center class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; TEXT-INDENT: 18pt; mso-char-indent-count: 1.71; mso-char-indent-size: 10.5pt"><FONT size=3><b>图1,按照图表显示地图配置文件,地图服务,ArcIMS空间服务器,请求和响应之间的关系<p></p></b></FONT></P> <P ><FONT size=3>上面的每一个步骤都会在下面详细讨论到。</FONT></P> <P >第1步 创建一个地图配置文件<p></p></P> <P ><FONT size=3>在图<FONT face="Times New Roman">1</FONT>的第<FONT face="Times New Roman">1</FONT>步,生成一个地图配置文件,你可以用<FONT face="Times New Roman">Author</FONT>工具,文本编辑器或<FONT face="Times New Roman">XML</FONT>编辑器创建一个地图配置文件,该文件是以<FONT face="Times New Roman">ArcXML</FONT>格式的,它包含地图的描述信息,如使用什么数据层,每一层是如何显示的。图<FONT face="Times New Roman">2</FONT>显示了<FONT face="Times New Roman">ArcIMS Author</FONT>中具有两个层,<FONT face="Times New Roman">US_Cities</FONT>层和<FONT face="Times New Roman">States_dd</FONT>层。</FONT></P> <P ><FONT size=3> <CENTER><a><IMG></A> 图片 2</CENTER></FONT> <p> <P ><FONT size=3>当你在Author中保存该文件,其结果就是包含层信息的一个地图配置文件,如图3所示。</FONT></P> <P ><FONT size=3></FONT><FONT face=Courier><?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> </FONT><FONT face=Courier><FONT face=宋体> 地图配置文件区别请求或响应的标志就是CONFIG元素。CONFIG元素的子元素是用于辅助定义地图的特征,如PROPERTIES,WORKSPACE,和LAYER等子元素。</FONT> <FONT size=3><b>步骤2:发布一个地图服务</b></FONT></P></FONT> <P >地图服务是运行在ArcIMS空间服务器上的一个应用程序。你可以将地图服务作为空间服务器的一个入口来看待。空间服务器只对运行在其上的地图服务提供相应的服务。<p></p></P> <P >对于一个地图服务而言,一个地图配置文件是必要的(图1第2步)。当发布一个地图服务的时候,你必须指派地图服务给FeatureServer或ImageServer,在本文中的例子是发布成影象地图服务。无论哪种情况,地图配置文件都给地图服务中的每一层提供了绘制的规则。这些规则是地图服务的默认选项。比如,如果地图服务采用图3所示的地图配置文件,那么地图服务将给States_dd层以蓝色的多边形填充显示,US_Cities层以红色的标记符号显示。<p></p></P> <P >第3步:客户端发送请求<p></p></P> <P >地图服务一旦运行在空间服务器上,客户端就能够向地图服务发送请求(图1中的第3步)。请求由ArcIMS HTML客户端浏览器、Java客户端浏览器和ColdFusion 及 ActiveX 连接器产生。<p></p></P> <P >客户端请求与其它类型的ArcXML文件区别的标志是REQUEST元素。图4是客户端请求的典型的一个例子。<p></p></P> <P align=center class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; TEXT-INDENT: 18pt; mso-char-indent-count: 1.71; mso-char-indent-size: 10.5pt"><B >图4:客户端请求影象的例子<p></p></B></P> <P align=left class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0; mso-char-indent-size: 9.0pt; mso-layout-grid-align: none"><?xml version="1.0" encoding="UTF-8"?><p></p></P> <P ><ARCXML version="1.1"><p></p></P> <P ><REQUEST><p></p></P> <P ><GET_IMAGE><p></p></P> <P ><PROPERTIES><p></p></P> <P ><ENVELOPE minx="-125" miny="25" maxx="-67" maxy="50" /><p></p></P> <P ><IMAGESIZE width="700" height="500" /><p></p></P> <P ></PROPERTIES><p></p></P> <P ></GET_IMAGE><p></p></P> <P ></REQUEST><p></p></P> <P ></ARCXML><p></p></P> <P >当上述的请求发送到图3的地图服务,其结果看起来与Author中初始定义的地图一样。使用的地图服务定义范围和图层符号。<p></p></P> <P align=center class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; TEXT-INDENT: 18pt; mso-char-indent-count: 1.71; mso-char-indent-size: 10.5pt"><B >图5:使用地图服务的默认值生成的地图服务<p></p></B></P> <P > <CENTER><a><IMG></A> 图片 3</CENTER> <p> <P >客户端的请求也可以通过请求不同比例尺,改变图层的颜色,显示或隐藏图层,请求属性数据的子集或改变投影,来覆盖掉地图服务的一些信息。图6,客户端给同一个地图服务发出请求,获取新的缩放比例并将 US_Cities层的要素符号改成星形,颜色从蓝色改变为绿色。<p></p></P> <P align=center class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; TEXT-INDENT: 18pt; mso-char-indent-count: 1.71; mso-char-indent-size: 10.5pt"><B >图6:客户端请求改变地图服务缩放区域和图层要素的符号及颜色<p></p></B></P> <P align=left class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; TEXT-INDENT: 18pt; mso-char-indent-count: 2.0; mso-char-indent-size: 9.0pt; mso-layout-grid-align: none"><?xml version="1.0" encoding="UTF-8"?><p></p></P> <P ><ARCXML version="1.1"><p></p></P> <P ><REQUEST><p></p></P> <P ><GET_IMAGE><p></p></P> <P ><PROPERTIES><p></p></P> <P ><ENVELOPE minx="-88" miny="30" maxx="-67" maxy="50.0" /><p></p></P> <P ><IMAGESIZE width="500" height="350" /><p></p></P> <P ><LAYERLIST><p></p></P> <P ><LAYERDEF id="1" visible="true" ><p></p></P> <P ><SIMPLERENDERER><p></p></P> <P ><SIMPLEMARKERSYMBOL type="star" color="0,255,0" width="6"/><p></p></P> <P ></SIMPLERENDERER><p></p></P> <P ></LAYERDEF><p></p></P> <P ></LAYERLIST><p></p></P> <P ></PROPERTIES><p></p></P> <P ></GET_IMAGE><p></p></P> <P ></REQUEST><p></p></P> <P ></ARCXML><p></p></P> <P >客户端请求获得的新地图,将如图7所示显示:<p></p></P> <P align=center class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; TEXT-INDENT: 18pt; mso-char-indent-count: 1.71; mso-char-indent-size: 10.5pt"><B >图7:使用新的缩放因子并给US_Cities层更改符号和显示颜色</B></P> <P align=center class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; TEXT-INDENT: 18pt; mso-char-indent-count: 1.71; mso-char-indent-size: 10.5pt"><B ><p> <CENTER><a><IMG></A> 图片 4</CENTER></p></B> <p> <P >第4步:客户端接受服务器的响应<p></p></P> <P >当空间服务器处理一个请求,其结果是返回一个响应(图1的第4步)。服务器的响应与其它类型的ArcXML文件区别的标志是RESPONSE元素。图8 是影像地图服务对地图请求响应的一个例子。响应包含空间服务器生成的地图的名称和位置。该响应是对图4 和图6请求的一个典型的例子。<p></p></P> <P align=center class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center; TEXT-INDENT: 18pt; mso-char-indent-count: 1.71; mso-char-indent-size: 10.5pt"><B >图8:响应的例子<p></p></B></P> <P ><?xml version="1.0" encoding="UTF8"?><p></p></P> <P ><ARCXML version="1.1"><p></p></P> <P ><RESPONSE><p></p></P> <P ><IMAGE><p></p></P> <P ><ENVELOPE minx="-91.7857142857143" miny="30" maxx="-63.2142857142857" maxy="50" /><p></p></P> <P ><OUTPUT url="http://zhuanghy/output/actc_ZHUANGHY1208107213.jpg" /><p></p></P> <P ></IMAGE><p></p></P> <P ></RESPONSE><p></p></P> <P ></ARCXML></P> <P > </P> <P >[转自中科永生]<p></p></P> <P > </P></FONT></FONT></FONT></TD></TR></TABLE> |
|
1楼#
发布于:2004-09-17 23:55
<P><a href="attachment/2004-9/200491723484398.rar">2004-9/200491723484398.rar</a></P><P>贴不上图,有兴趣的自己下载看吧。</P>
|
|
2楼#
发布于:2004-09-20 16:27
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em02.gif" /><img src="images/post/smile/dvbbs/em02.gif" />
|
|
|