如何使用ArcIMS在MS SQLSERVER的ArcSDE中进行跨不同数据库的关联?
编号: |
000670 |
相关产品及版本: |
ArcIMS,ArcSDE 9.1 |
平台: |
N/A |
提交时间: |
2005-12-26 |
修改时间: |
2005-12-26 |
提交人: |
冶成斌 |
内容摘要 |
我们通常使用ArcSDE来管理空间数据,并通过ArcIMS发布成地图服务。在MS SQLSERVER中,我们可以建立多个数据库,通常空间数据库存放在单独的数据库中,比如默认情况下是sde数据库,而非空间的业务数据存放在另外的数据库中。当我们使用ArcIMS进行Web GIS的实现时,需要将外部数据库中的表关联到SDE的图层上,然后根据外部的字段进行分级渲染或者标注,本文主要介绍在MS SQLSERVER中跨数据库的图层和表的关联方法。 |
过程描述 |
无论实现的方式是ArcXML,还是基于Java等连接器的编程,我们需要注意的有三点内容: 1.需要将非空间数据库的连接作为SDEWORKSPACE添加进来。
2.需要在图层名称和外部表名的引用之前都加上数据库名和拥有者的名称。比如下面例子中的PUBS.DBO.DISTINFO,其中PUBS就是数据库名,DBO是拥有者名称
3.需要在关联的字段名称之前都加上数据库名和拥有者的名称。比如下面例子中的SDE.SDE.DISTRICT.DIST_CODE和PUBS.DBO.DISTINFO.DIST_CODE,SDE和PUBS就是数据库名,而DBO和SDE是拥有者名。
实例可以参考下面的ArcXML: <ARCXML version="1.1"> <REQUEST> <GET_IMAGE> <PROPERTIES> <ENVELOPE minx="114.79271696531025" miny="34.378482813280904" maxx="122.70381166017802" maxy="38.99294663007847" name="Initial_Extent" /> <IMAGESIZE width="500" height="400" />
<WORKSPACES> <SDEWORKSPACE name="sde_ws-0" server="jerry" instance="port:5152" database="" user="sde" encrypted="true" password="EPYCJM" geoindexdir="C:DOCUME~1esriLOCALS~1Temp" /> <SDEWORKSPACE name="sde_ws-1" server="jerry" instance="port:5152" database="pubs" user="sa" encrypted="false" password="" /> </WORKSPACES> <LAYERLIST> <LAYERDEF id="0" visible="true" > <SPATIALQUERY subfields="#ALL#" where="SDE.SDE.DISTRICT.DIST_CODE = PUBS.DBO.DISTINFO.DIST_CODE" jointables="PUBS.DBO.DISTINFO" > </SPATIALQUERY> <GROUPRENDERER> <SIMPLERENDERER> <SIMPLEPOLYGONSYMBOL fillcolor="127,127,27" /> </SIMPLERENDERER> <SIMPLELABELRENDERER field="PUBS.DBO.DISTINFO.POP2000 PUBS.DBO.DISTINFO.POP2001 PUBS.DBO.DISTINFO.POP2002"> <CHARTSYMBOL minsize="10" minvalue="1000000" maxsize="50" maxvalue="7000000" outline="255,255,255" shadow="0,0,0" transparency="1.0" > <CHARTVALUE lookupfield="PUBS.DBO.DISTINFO.POP2000" color="255,0,0" /> <CHARTVALUE lookupfield="PUBS.DBO.DISTINFO.POP2001" color="0,0,255" /> <CHARTVALUE lookupfield="PUBS.DBO.DISTINFO.POP2002" color="0,255,0" /> </CHARTSYMBOL> </SIMPLELABELRENDERER> </GROUPRENDERER> </LAYERDEF> </LAYERLIST> </PROPERTIES> </GET_IMAGE> </REQUEST> </ARCXML> |
|