全国高分辨率土地利用数据服务 土地利用数据服务 土地覆盖数据服务 坡度数据服务 土壤侵蚀数据服务 全国各省市DEM数据服务 耕地资源空间分布数据服务 草地资源空间分布数据服务 林地资源空间分布数据服务 水域资源空间分布数据服务 建设用地空间分布数据服务 地形、地貌、土壤数据服务 分坡度耕地数据服务 全国大宗农作物种植范围空间分布数据服务
多种卫星遥感数据反演植被覆盖度数据服务 地表反照率数据服务 比辐射率数据服务 地表温度数据服务 地表蒸腾与蒸散数据服务 归一化植被指数数据服务 叶面积指数数据服务 净初级生产力数据服务 净生态系统生产力数据服务 生态系统总初级生产力数据服务 生态系统类型分布数据服务 土壤类型质地养分数据服务 生态系统空间分布数据服务 增强型植被指数数据服务
多年平均气温空间分布数据服务 多年平均降水量空间分布数据服务 湿润指数数据服务 大于0℃积温空间分布数据服务 光合有效辐射分量数据服务 显热/潜热信息数据服务 波文比信息数据服务 地表净辐射通量数据服务 光合有效辐射数据服务 温度带分区数据服务 山区小气候因子精细数据服务
全国夜间灯光指数数据服务 全国GDP公里格网数据服务 全国建筑物总面积公里格网数据服务 全国人口密度数据服务 全国县级医院分布数据服务 人口调查空间分布数据服务 收入统计空间分布数据服务 矿山面积统计及分布数据服务 载畜量及空间分布数据服务 农作物种植面积统计数据服务 农田分类面积统计数据服务 农作物长势遥感监测数据服务 医疗资源统计数据服务 教育资源统计数据服务 行政辖区信息数据服务
Landsat 8 高分二号 高分一号 SPOT-6卫星影像 法国Pleiades高分卫星 资源三号卫星 风云3号 中巴资源卫星 NOAA/AVHRR MODIS Landsat TM 环境小卫星 Landsat MSS 天绘一号卫星影像
ArcIMS Servlet Connector 允许为MapService(地图服务)设定访问权限,这样只有被授权的用户才能访问他们。这个过程被称为权限验证。默认的,不进行权限验证,Servlet Connector将所有请求发给ArcIMS Application Server(应用服务器)。但是,你可以通过配置Servlet Connector来验证客户端:
ArcIMS Servlet Connector 允许为MapService(地图服务)设定访问权限,这样只有被授权的用户才能访问他们。这个过程被称为权限验证。默认的,不进行权限验证,Servlet Connector将所有请求发给ArcIMS Application Server(应用服务器)。但是,你可以通过配置Servlet Connector来验证客户端:
* 是否有有效的用户名和密码
* 是否可以从特定的机器(通过IP地址判断)访问MapService
* 是否有未过期的访问权限(如未服务设定了有效期)
* 是否有特定请求的访问权限(如是否能执行地址匹配功能)
当接到从客户端发来的请求,Servlet Conncctor首先检查是否为MapService设定了权限验证。如果设定了,Servlet Conncector从客户端获取必要的信息--如用户名,密码--然后确定是否满足条件。如果条件满足,请求将被发给Application Server。否则,将会提示用户无权访问该MapService。
Servlet Conncctor通过访问控制列表(ACL)来管理限定的和非限定的MapServices以及权限验证信息。ACL有两种格式:基于文件的ACL和基于JDBC的ACL。
基于文件的ACL的主要优点是容易建立,不需要其他的部件支持。基于文件的ACL将权限信息保存在XML文件中,该文件可以通过任何文本编辑器建立。在这个文件中,你可以定义哪个MapServices被限定以及如何访问他们--如包含所需的用户名和密码。当Servlet初始化时,这个文件的内容被加载进内存。因此,如果你编辑了ACL文件,需要重新启动servlet engine (如果servlet engine 嵌入web服务器,则需要重启web服务器)使你的更改生效。而且,在ACL文件中定义的用户数量的增加会导致web服务器的内存使用量的增加。
基于JDBC 的ACL将权限信息保存在通过JDBC驱动程序访问的关系型数据库中。JDBC的ACL可以比文件的ACL管理更大量的用户和MapService。而且,如果你需要频繁更改ACL,基于JDBC 的ACL可以不终止服务,即不需要重新启动servlet engine,而使更改立即生效。为了使用基于JDBC的ACL,你必须运行一个关系型数据库(如Oracle),并且有它的JDBC驱动。
注意:只有通过ArcIMS Servlet Connector处理的HTTP请求,才可以使用权限管理,其他连接器(如ActiveX Connector)不可用。
基于文件的ACL的权限验证
下面表明了通过XML文件设置MapServices的权限验证的步骤:
第一步:创建地图配置文件,设计web站点。
通过Author创建地图配置文件(AXL),然后通过Designer设计站点的外观。
注意:Designer不能访问到被限定的MapServices;所以,你必须在限定权限之前生成站点。
第二步:编辑Esrimap_prop文件。
定位Esrimap_prop文件所在目录,因为servlet engine不同,安装的目录有所不同,并用文本编辑器进行编辑。注意ArcIMS在Windows 的<installation directory>ConnectorsServlet或UNIX的< installation directory>/Middleware/Servlet_Connector目录下安装了Servlet Connector的一套备份文件。不要编辑该目录下的文件,它不会影响Servlet Connector的操作。
按照下面的提示设置属性。你可以简单地通过移走Esrimap_prop文件中的注释字符(#)设置许多属性。这些属性名称大小写敏感,但属性值不敏感。在ArcIMS Servlet Connector 属性文件中详细地描述了这些属性。
注意:如果你同时为基于XML文件和基于JDBC的ACL设置了属性,那结果将使用JDBC的设置。
enable=True
使用ArcIMS Servlet Connector.
authenticate=True
使用Servlet Connector的权限验证
authMethods=Basic
两种权限验证的方法: Basic和Digest.。Digest 更安全,但不是所有的浏览器都支持。
authenticateWithSessions=True
允许Servlet Connector更高效地处理客户端的请求。
sessionTimeout=120
大多数情况下,120秒应该足够了。
aclFileName=< ACL 文件的全目录>/aimsacl.xml
一般地,你可以将ACL文件放在与Esrimap_prop文件相同的目录下。表示目录的斜杠必须是"/"。
realm=ArcIMS Network
当提示用户输入用户名和密码时,realm名显示在对话框上。
第三步:创建保存访问控制列表的XML文件。
用文本编辑器创建XML文件。该文件表明哪个用户有权访问哪个MapServices。
需要牢记的是:
* 确认按照在Esrimap_prop文件的aclFileName属性中定义的文件和目录名命名并保存该文件。
* 用户名和密码是大小写敏感的。
* 在ACL文件中定义的MapService的名字必须与在Administrator中的完全一致。
* 只有在ACL文件中列出的MapServices才可用,即使你还有其他的MapServices在Administrator中运行。
下面的ACL文件包含一个限定的MapService和两个非限定的MapServices。
<?xml version="1.0"?>
<AIMSACL>
<USER name="*" services="SanFrancisco, World" />
<USER name="private" password="gray.hair" services="SecretData" />
</AIMSACL>
下面的ACL文件表明了怎样限定特定的机器访问限定的MapService,还增加了一个可以访问所有MapServices的用户。
<?xml version="1.0"?>
<AIMSACL>
<USER name="*" services="SanFrancisco, World" />
<USER name="private" password="gray.hair"
services="SecretData" trustedclients="198.102.62.1,198.102.62.22"/>
<USER name="superuser" password="all.access" services="*" />
</AIMSACL>
关于所有属性的描述,请参见ArcIMS Servlet Connector属性文件。
第四步:如果你使用的是Microsoft Windows 2000和Internet Information Server 5.0 (IIS),你需要为权限验证配置IIS。
在任务栏,点击 开始 | 设置 | 控制面板 | 管理工具 | Internet服务管理器。在左面板,双击机器名,展开树状目录,双击默认的Web站点。如果你运行的servlet engine软件是ServletExec或Jrun,双击Scripts;如果是Tomcat,双击jakarta。在右边面板,右键点击ServletExec_ISAPI.dll,jrun.dll或isapi_redirect.dll,打开属性窗 口。
点击"文件安全性"。
在"匿名访问和验证控制"栏点击"编辑"按钮。
取消"集成Windows验证"。
第五步:停止,重启servlet engine。如果servlet engine嵌入web服务器,停止、重启web服务器。
重启servlet engine(或web服务器)使得你在Esrimap_prop文件中的设置生效--通过ACL文件进行权限验证的工作完成了。
基于JDBC的ACL的权限验证
下面表明了通过基于JDBC的ACL设置MapServices的权限验证的步骤。前提条件假定你已经运行了一个关系型数据库,并且你已经安装并配置了JDBC驱动:
第一步:创建地图配置文件,设计web站点。(同基于文件的ACL第一步)
第二步:编辑Esrimap_prop文件。
前部分同基于文件的ACL的第二步,接下来要做的是:
useJdbc=True
使用可通过JDBC访问的数据库存储权限
jdbcDriver=< JDBC驱动的名称>
例如:jdbcDriver=database.sql.jdbc.JDBCDriver。驱动器所在目录必须是servlet engine的classpath设置的一部分。
jdbcUrl=<到数据库的URL >
到数据库的URL存储了访问控制信息。格式为:jdbc:<数据库类型>:@<机器名>.<域>.<组织代码>
如:jdbcUrl=jdbc:oracle:oci8:@arcims_maps.esri.com
jdbcUser=<数据库用户名>
访问数据库的用户名
jdbcPassword=<数据库用户的密码>
特定数据库用户的密码
jdbcUserTable=<数据表名>
数据库中存储有效用户和密码的表名
jdbcPermTable=<数据表名>
数据库中包含MapService名和特定用户访问权限列表的数据表名。
jdbcUidColumn=<数据库表字段名>
在数据库用户表和权限表中都存在的用户代码字段名
第三步:停止,重启servlet engine。如果servlet engine嵌入web服务器,停止、重启web服务器。(同基于文件的ACL第五步)
第四步:在关系型数据库中创建用户表
用户表包含了你希望访问你的MapServices的用户的名称和密码。它还包含了一个唯一的用户代码,ArcIMS通过它将此表和权限表连接。该表名必须与Esrimap_prop文件中jdbcUserTable设置的名称相同。该表必须包含下列字段:
字段名 类型(宽度)
Userid Number(32)
Username Varchar(64)
Password Varchar(64)
为了增加灵活性,你可以将userid字段命名为任何你希望的名称,只要它与Esrimap_prop文件中jdbcUidColumn 设定的名称一致即可。其他两个字段必须为username 和 password。
所有字段的描述信息,可以在ACL属性参考中找到。
第五步:在关系型数据库中为用户表添加记录
为用户表添加用户名和密码。确保userid是唯一的。你可以用*表明该MapServices不需要用户输入用户名和密码就可以访问。
Userid Username Password
1 *
2 USER1 PASSWORD1
3 USER2 PASSWORD2
4 USER3 PASSWORD3
第六步:在关系型数据库中创建权限表。
权限表将每个MapService与一组或多组用户名和密码关联。该表名必须与Esrimap_prop文件中jdbcPermTable定义的名称一致。该表必须包含下列字段:
UserID字段名必须与用户表中定义的名字和Esrimap_prop文件中jdbcUidColumn设定的名称一致。其他五个字段必须命名为以上字段名称。
所有字段的描述信息,可以在ACL属性参考中找到。
第七步:在关系型数据库中为权限表添加记录
为权限表添加用户代码,MapServices名和激活状态。每个记录只包含一个MapServices名。用户代码将MapService与用户名和密码关联起来。你可以增加其他的具有相同用户代码的记录与多个MapServices关联。下表显示了一个基本的权限表的配置。
字段名 类型(宽度)
Userid Number(32)
Service Varchar (64)
Active Number (32)
Expiration Data (格式MM/DD/YYYY HH:MM:SS)
Tclients Varchar (1024)
Ftags Varchar (1024)
你可以有选择地填写其他字段为MapService增加额外的限定条件。如,你可以增加过期时间 (10/16/2001 11:24:30),一组用逗号分开的通过IP地址识别的信任用户列表 (198.102.62.1,198.102.62.22) 和一组用逗号分开的限定功能的标签列表 (GET_GEOCODE,GET_EXTRACT).
第八步:如果你使用的是Microsoft Windows 2000和Internet Information Server 5.0 (IIS),你需要为权限验证配置IIS。(同基于文件的ACL第四步)
讲座四:ArcIMS(HTML Viewer)定制开发探讨
(以水情监测信息系统原型开发为例)
一、ArcIMS体系结构简介
ArcIMS(Internet Map Server)是ESRI最新推出的第二代互联网上地理信息系统平台,其结构经过特别设计用来满足在Internet上提供地理数据和服务的需要。
多层结构
ArcIMS的多层结构由展示层(presentation Tier),逻辑事务层(Business Logic Tier)和数据存储层(Data Storage Tier)组成。展示层是指ArcIMS Viewers。逻辑事务层由Web Server,ArcIMS应用服务器和ArcIMS应用服务器连接器及ArcIMS空间服务器组成。数据存储层指数据源。各个不同层之间通过ArcXML进行通讯。ArcXML是ArcIMS版本的XML,即可扩展的标记语言(eXtensible Markup Language)。
二、ArcIMS客户:Viewers介绍
ArcIMS Viewers可以全部由HTML组成或包含Java Applets。ArcIMS通过Designer可以生成一种HTML/DHTML Viewer和两种Java Viewer,并在实例中包含了使用ColdFusion和ActiveX连接器的HTML Viewer。ArcIMS还包含一种独立运行的Java Viewer叫ArcExplorer 3。这些viewer可以通过HTML和JavaScript进行修改。
1、HTML/DHTML Viewer
HTML Viewer由HTML,DHTML和JavaScript写成。在HTML Viewer里同时只能支持一个影像地图服务。当用户点击地图或工具后,Viewer生成一个请求并通过Servlet Connector将请求发送到ArcIMS的空间服务器端。当响应返回时,客户端解析响应结果并完成显示操作。HTML Viewer要求4.0或更高版本的浏览器。通过定制Viewer,可以支持低版本的浏览器。
2、使用ColdFusion和ActiveX连接器的Viewer
ColdFusion和ActiveX Viewer同样也是HTML/DHTML机制。他们与HTML Viewer的不同之处在于所有的处理过程都在服务器端完成。请求通过第三方应用服务器生成,响应以HTML页的格式动态返回。这类viewer不需要自己生成请求或解析响应,因此是最瘦的客户端。对于最终用户来说,这两类viewer外观相似,功能相仿,但他们处理请求和响应的方式完全不同。ArcIMS提供了使用ColdFusion和ActiveX连接器的viewer的例子。
3、Java Viewers
与HTML/DHTML Viewer相比,Java Viewer是胖客户端。因为他同时支持影像和矢量地图服务。多个地图服务的数据可以与本地数据一起显示在一个Java Viewer里。Java Viewer通过Java 2 Applet来显示地图和处理请求。
Java Viewer支持矢量数据流和更丰富的客户端的功能。数据临时下载到客户机的高速缓存中。除非需要下载新的数据,其他所有的请求都由客户机来完成当viewer关闭时,临时缓存被清空。
ArcIMS支持两种Java Viewers:可定制的Java Viewer和标准的Java Viewer。它们具有相似的功能。
可定制的Java Viewer通过JavaScript与applets通讯。通过Viewer的对象模型接口(Object Model API)可以定制viewer的功能。同时,可定制的Java Viewer只支持Internet Explorer 4.0和5.0。
标准的Java Viewer不使用JavaScript。所有的工具和功能都是预先设定的,不能通过对象模型接口(Object Model API)进行定制。标准的Java Viewer同时支持Netscape和Internet Explorer 4.0及更高版本。
ArcIMS还包含一个独立运行的、不需要标准浏览器的Viewer,ArcExplorer 3。
Java Viewer需要下载两部分内容。一是使用Java 2 Applet要求的Java运行环境。二是一次性下载的ArcIMS viewer的部件,applet通过这些部件与服务器进行通讯。
三、客户Viewers的定制开发
支持定制开发ArcIMS的客户端有HTML VIEWER与JAVA VIEWER其中HTML VIEWER根据应用服务器连接类型可分为:Servlet connector、ActiveX connector、ColdFusion connector三种。针对以上四种类型的客户都有相应的定制开发方法,ESRI也提供了相应的文挡,本文将重点介绍Servlet connector HTML VIEWER的定制开发方法。
HTML VIEWER由HTML、DHTML及JavaScript组成,因此对HTML、DHTML及JavaScript的熟悉是进行深度定制开发的前提与基础。此外,ArcXML是ArcIMS各部件间用来通讯的语言,对它有一定的了解是十分必要的,而且了解越深,收益越大;最后,如果要操作外部数据库的话,对JSP(JAVA SERVER PAGE)或ASP(ACTIVE SERVER PAGE)以及SQL应有所掌握,掌握越深,见效越快。
HTML是WEB站点设计使用与支持最为广泛的语言,而且相当简单,只需一两天就能够学会,主要用来描述页面的表现形式,HTML周期性地标准化,随着浏览器开发商不断推出新的标志,属性和属性值,这个语言在不断扩大,版本不断翻新。由于Netscape和Microsoft占有了浏览器市场的最大份额,他们领导了HTML新内容的定义。由于这些补充不是正式HTML语言的一部分,他们称其为扩展。大多数扩展最终都会集成到下一个HTML正式版本中。HTML3.2的扩展中有个LAYER标志,使WEB页面可以放上多个重叠文档层,这个LAYER标志对于ArcIMS的HTML VIEWER也是相当重要的。此外,FRAME标志与TABLE标志使HTML VIEWER的布局更为漂亮。
JavaScript是个脚本编程语言,支持Web应用程序的客户机和服务器方构件的开发。在客户机中,它可用于编写Web浏览器在Web页面上下文中执行的程序;在服务器端,它可用于编写处理Web浏览器提交的信息并相应地更新浏览器显示的Web服务器程序。ARCIMS的HTML VIEWER缺省包含一个JavaScript函数库,其中设计了几百个函数和几百个全局变量,是进行定制开发的核心。这些函数按功能进行了分组,以*.js形式保存。当然,你可以改写或补充它,这也是进行深度定制开发所必经的过程,有一个组织良好的Javascript函数库,决定了开发的效率与质量。本文的重点与创新也在于JavaScript函数库的设计。下面的代码片段展示了如何创建自己的Javascript函数库:
// debugflag.js
//===================================================================
//NOTES: 2/24/2001
debugflag.js中的全局变量和函数主要用来调试跟踪其它Javascript函数库中的函数及全局变量,因此其它Javascript函数库中的函数要做相应的修改,修改可以手工操作,也可以程序方式批量操作。
//======================================================================
//用于调试的开关变量设计
var aimscommon = false; // debug flag for aimsCommon.js
var aimscustom = false; // debug flag for aimsCustom.js
var aimsmap = false; // debug flag for aimsMap.js
var aimslayers = false; // debug flag for aimsLayers.js
var aimsdhtml = false; // debug flag for aimsDHTML.js
var aimstracker = false; // debug flag for aimsTracker.js
var aimsclick = false; // debug flag for aimsClick.js
var aimsselect = false; // debug flag for aimsSelect.js
var aimsidentify = false; // debug flag for aimsIdentify.js
var aimslegend = false; // debug flag for aimsLegend.js
var call_display ;
var current_loc ;
var first_debug=false;
var alert_display ;
//用于以信息列表框方式显示调试信息,其中dflag为调试开关变量,func_name为被调试
函数名,file_name为被调试函数所在的js文件名
function debugfun(dflag,func_name,file_name) {
if(dflag) {
//call_display,current_loc,first_debug是上面所定义的全局变量,TopFrame是HTML叶面中一框窗名
call_display = call_display+"||"+current_loc + "|" + file_name+":"+func_name+"nr";
if(first_debug) {
if(call_display.length > 4000) {
parent.TopFrame.document.writeln(call_display);
call_display = "";
first_debug = false;
}
}else{
parent.TopFrame.document.writeln(call_display);
call_display = "";
}
}
//用于以弹出对话框方式显示调试信息,其中dflag为调试开关变量,func_name为被调试
函数名,file_name为被调试函数所在的js文件名,alert_str为所要显示的调试信息
function debugfun_alert_fun(dflag,func_name,file_name,alert_str) {
if(dflag){
//alert_display,current_loc是上面所定义的全局变量,MapFrame是HTML叶面中一框窗名
alert_display = "||"+parent.MapFrame.current_loc + "|" +
file_name+":"+func_name+"nr"+alert_str;
alert(alert_display);
}
}
面的代码片段展示了其它Javascript函数库中的函数要做相应的修改:
// aimsDHTML.js
// move layer to x,y
//下面这个函数是aimsDHTML.js中的函数,具有图层位置移动功能
function moveLayer(name, x, y) {
//用于调试的语句,设置全局变量current_loc
current_loc = current_loc + ":moveLayer";
//用于调试的语句,调用debugflag.js模块中的调试函数debugfun
debugfun(aimsdhtml,"moveLayer(name=" + name + ",x=" + x + ",y=" + y,"aimsDHML.js");
//以上增加的两句用于调试版,在正式版中可以去掉
var layer = getLayer(name);
if (isNav4)
layer.moveTo(x, y);
//if (document.all) {
else {
layer.left = x;
layer.top = y;
}
//用于调试的语句,恢复全局变量current_loc的设置,其中string_rtrim是aimsCommon.js
中的一个函数
current_loc =string_rtrim(current_loc,":moveLayer");
//以上增加的一句用于调试版,在正式版中可以去掉 }
JavaScript的一个最重要的功能是基于对象(Object-Based)功能的支持,这一点使JavaScript程序的设计更加简单,直观,结构模块化以及代码可复用。但是,JavaScript是个脚本语言,而不是完整的编程语言,它不支持分类,继承,包装和信息隐藏等面向对象编程的基本功能。至于对象编程的详细规范在此不做介绍,如有兴趣,可阅读相关文档。
ArcXML在不同部件间通讯。ArcXML文件类似于HTML页。但区别在于,HTML用于显示,而ArcXML用来描述内容。如果熟悉HTML及XML,手边有一本ArcXML参考手册或电子文档,使用起来相当简单,在此不再多言。
JSP或ASP是服务器端的脚本环境,功能接近,开发者可根据系统需求及个人喜好选择其一,至于各自的优缺点及使用方法,在此不做介绍。本文所提到的开发系统原型选择了ASP技术。
四、示范ArcIMS开发方法的水情监测信息系统原型的目标及需求
(1)系统建设目标
从某省水利厅信息管理工作来看,当前的首要任务是在汛期来临之际,对各重要地区的水情进行实时监测和有效管理,为相关决策部门提供实时的水情数据,以确保防汛工作科学有效地展开。
(2)系统需求
该系统需实现的功能如下:
* 浏览器端可对相关地图进行放大、缩小、平移、索引图等功能;
* 可分图层浏览、显示,并以图上点击、输入监测站名、输入地名、给定范围等多种方式查询监测站信息;
* 图上监测信息可由客户端选择组合标注;
* 可进行图形、属性的双向查询;
* 可动态显示监测数据的统计曲线图和柱状图;
* 对超过警戒水位的监测站点进行自动报警。
五、示范ArcIMS开发方法的水情监测信息系统原型的技术路线分析与方案配置
考虑到全省水文监测站近三百个且分散分布,采用基于Browser/Server分布式计算模式的WebGIS作为应用与开发平台应该是最经济,最合理的。每个水文监测站会定期地将所测数据通过网络传入水利厅的数据库中,因此对属性数据库的网络存取也是本系统的重点,要做到属性数据库与空间数据库,静态数据库与实时数据库的完美整合。
采用基于Browser/Server分布式计算模式的WebGIS的优点:
1、客户端维护工作量很少;
2、有利于研究区域内分散分布的监测站实时数据的集中收集与处理;
3、操作界面统一且简单,可节省培训成本;
4、系统的扩展与升级集中在服务器端完成,浏览器可以很快地分享到系统升级带来的高效;
5、信息高度共享,提高了相关部门协调工作和相互交流的能力。
ArcIMS是ESRI新一代的基于Web的制图和GIS软件。对于最终用户来说,它提供了一种更为快速、廉价的方式以获取地理信息。从前面章节的介绍中可以看出,ArcIMS是一个理想的WebGIS平台,所以本系统选择它作为水情监测信息的收集与发布平台。
Web server的性能对于WebGIS应用很关键,特别在并发访问数非常高的情况下,ArcIMS可以支持多种Web服务器,考虑到是一个原型系统,选择了Microsoft的IIS(Internet Information Server)。
数据库方面,Microsoft的SQL Server是一个价格不贵,适合于中型应用的数据库平台,所以本原型系统选择了它。
ASP(Active Server Pages)内含于IIS中,与IIS运行于同一进程,能更快,更有效地处理客户请求。ASP提供了更简单,更方便的数据库访问方法,所以,本系统选择了它。
系统配置如下:
讲座五:ArcIMS 3开启分布式GIS新篇章
ArcIMS 3是ESRI推出的基于网上制图和分布式GIS的新一代产品。ArcIMS允许用户在Internet和Intranet环境下为浏览器端的客户提供GIS应用和地图数据。
ArcIMS的一个显著特点是可以在服务器和浏览器或其他客户间建立"数据流"。这一功能使得用户可以将本地数据与Internet上的数据结合起来,从而为用户和数据发布者提供了一个更广阔的空间。
新的体系结构包括许多应用服务如制图、查询、地理编码等,但同时允许用户嵌入自己定制的GIS服务,而使用的数据既可以是本地的也可以是分布的数据集。
"ArcIMS将会在人们共享、访问、使用GIS数据的方式上引起一场大变革。"ESRI总裁Jack Dangermond说,"它代表着传统GIS向分布式GIS迈出了重要的一步。遍布 全球的代理商可以直接为用户发布数据并提供服务。用户可以将广泛分布的数据和本地数据结合在一起,这开启了协同工作的新篇章。这种技术将使得全球的存储在GIS数据库中的现有的空间信息发挥出巨大的效力。"
ESRI的用户将可以在任何时间、任何地点共享和使用彼此的数据。任何人通过一个简单的浏览器界面就可以访问经过复杂的专业的GIS分析产生的数据。通过不断提高的访问GIS信息的能力,各种组织和全社会作为一个整体将更有效地利用现有的空间数据资源。
简单的基于向导的界面
ArcIMS在创建、设计、管理GIS站点上提出了一套简便易行的解决方案。它的便捷而强大的管理构架可以帮助你完成建立Web服务以及优化站点的工作。从客户端到服务器再到快速地建立、组织、维护制图网站,ArcIMS GIS提供了我们所需要的一切。
"你需要做的仅仅是简单地通过向导引导你完成创建地图服务、设置网页、发布和管理站点的工作,"ArcIMS的产品经理Bernie Szukalski如是说。
强大的智能化的客户端.
ArcIMS同时推出HTML和Java两种版本的强大的客户端。ArcIMS Java客户端支持真正的客户/服务器方式,它允许客户直接使用本地缓冲中的数据。客户端的操作不再必 须由服务器来完成,许多操作可以直接在客户端快速高效地执行(如map tips和map classification)。
地图编辑和地图注释功能
ArcIMS客户端还支持动态地编辑和标注地图信息。它允许用户将编辑结果返回给服务器,并帮助记录下对服务器端数据库所做的改变。地图注释功能还允许在地图上标注符号用来提示其他人的注意或以备今后查看,这大大提高了网上GIS数据的交互能力。
"我们将会看到大量的空间信息通讯的出现",Dangermond说,"它的出现将使人们通过紧密相连的互联网和GIS信息发现一种崭新的相互影响和相互参与的途径。我愿意将它叫做G-mail或地理公告栏--我这里特别要强调的是地理的。"
方便的定制功能
ArcIMS的客户端可以通过工业标准的语言,如VBScript和JaveScript,方便地定制以适用于不同的功能需求。它可以为最终用户和希望自己定制界面和应用的开发商提供广阔的空间。
高质量的制图显示功能
由于ArcIMS支持矢量数据流,因此获得了更清晰的屏幕显示效果。此外,新的技术如anti-aliasing(一种边界平滑的影像处理技术)也提高了栅格数据的显示质量。
开放的、可伸缩的结构
ArcIMS独特的结构提供了一个开放的、灵活的平台。无论是功能简单的Intranet还是要求很复杂的Internet应用,无论是一个服务器的GIS发布应用还是跨多个服务器的分布式GIS应用,ArcIMS都可以支持。而且你就可以很容易地扩展原有的网上GIS应用,无须重新构建。此外,ArcIMS与很多其他流行的Internet技术兼容,如ColdFusion, Microsoft Transaction Server, Active Server Pages等。
ArcIMS是一个基于网络或服务器的GIS系统,是ArcInfo 8桌面GIS的很好补充。在不久的将来,ESRI的用户将会同时使用ArcInfo 8 和ArcIMS创建/维护地图数据库并在互联网上发布地图信息。