欢迎您来到GIS动力

加入收藏 免费注册 用户登陆 帮助中心
首页 新闻动态 技术专栏 银杏树下 学习考研 软件下载 求职招聘 许愿瓶 节日祝福 用户中心 精彩推荐 资源搜索 地图
专栏导航: AO开发 | SO开发 | ArcGIS桌面 | 超图桌面 | 开发语言 | 数据库 | WebGIS | 银杏文学 | 研究生考题 | FreeMap FreeTalk
   您现在位于: 首页技术专栏ArcGIS应用与开发ArcGIS其它 → 正文
使用ArcIMS在MS SQLSERVER的ArcSDE中进行跨不同数据库的关联
07-10-22 09:41:40 作者:未知 出处:ESRI中国在线支持中心
我们通常使用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>

(本文已被浏览 次)
发布人:admin
推荐给好友:发送给好友
上篇新闻:
下篇新闻:
相关评论
发表我的评论
  • 尊重网上道德,遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法;
  • 本站有权保留或删除您发表的任何评论内容;
  •   相关文章  

    关于我们友情链接 ┋ 与我在线 ┋ 管理 ┋ TOP
     
    网站当前版本:GisPower CMS V3.0
    『GIS 动力』- http://www.gispower.org/
    联系我们:webmaster#gispower.org
    Copyright (c) 2003-2007 GisPOwer.Org. All Rights Reserved.
     

                   滇ICP备05006901号