全国高分辨率土地利用数据服务 土地利用数据服务 土地覆盖数据服务 坡度数据服务 土壤侵蚀数据服务 全国各省市DEM数据服务 耕地资源空间分布数据服务 草地资源空间分布数据服务 林地资源空间分布数据服务 水域资源空间分布数据服务 建设用地空间分布数据服务 地形、地貌、土壤数据服务 分坡度耕地数据服务 全国大宗农作物种植范围空间分布数据服务
多种卫星遥感数据反演植被覆盖度数据服务 地表反照率数据服务 比辐射率数据服务 地表温度数据服务 地表蒸腾与蒸散数据服务 归一化植被指数数据服务 叶面积指数数据服务 净初级生产力数据服务 净生态系统生产力数据服务 生态系统总初级生产力数据服务 生态系统类型分布数据服务 土壤类型质地养分数据服务 生态系统空间分布数据服务 增强型植被指数数据服务
多年平均气温空间分布数据服务 多年平均降水量空间分布数据服务 湿润指数数据服务 大于0℃积温空间分布数据服务 光合有效辐射分量数据服务 显热/潜热信息数据服务 波文比信息数据服务 地表净辐射通量数据服务 光合有效辐射数据服务 温度带分区数据服务 山区小气候因子精细数据服务
全国夜间灯光指数数据服务 全国GDP公里格网数据服务 全国建筑物总面积公里格网数据服务 全国人口密度数据服务 全国县级医院分布数据服务 人口调查空间分布数据服务 收入统计空间分布数据服务 矿山面积统计及分布数据服务 载畜量及空间分布数据服务 农作物种植面积统计数据服务 农田分类面积统计数据服务 农作物长势遥感监测数据服务 医疗资源统计数据服务 教育资源统计数据服务 行政辖区信息数据服务
Landsat 8 高分二号 高分一号 SPOT-6卫星影像 法国Pleiades高分卫星 资源三号卫星 风云3号 中巴资源卫星 NOAA/AVHRR MODIS Landsat TM 环境小卫星 Landsat MSS 天绘一号卫星影像
第八章定制HTML浏览器
章节概述
HTML浏览器适合于不需要要素数据流和数据集成的相对简单的网站。但是,通过HTML、JavaScript语言或修改JavaScript代码很容易对HTML浏览器进行定制。
HTML浏览器概述
仅仅包含一个影像地图服务的网站,可以在Designer中使用HTML浏览器创建。HTML浏览器的典型特征是瘦客户端,GIS功能有限但不需要Java 2插件或Applet的支持。
在利用Designer进行设计时,HTML浏览器包含了许多框架和HTML页,以及从定制的角度看,最重要的是一个允许高度自定义的参数文件。
可定制因素
Designer本身提供了许多影响网站外观的定制工具,那么为什么还要担心定制呢?这有点象Author与AXL之间的关系,Designer并不可能创建一个能满足所有的网站程序员要求的网站。所以很自然地需要改变默认框架添加定制文字、工具或公司标志、改变颜色或为终端用户提供动态定制解决方案。
HTML浏览器文件
上面的图片显示了在Designer中创建使用HTML浏览器的网站时的输出结果。其中包括四个文件夹和构成网站的多个HTML文件。注意到其中的default.htm文件,它是访问网站时访问的第一个网页。
多数定制都是在ArcIMSparam.js文件中进行的。这是一个存储了在Designer中选择的参数以及其它许多影响网站的外观和功能的参数的JavaScript参数文件。除此之外,其它一些文件也可以用来定制。例如,可以用你自己定制的图象来替换images文件夹中的图象或对toolbar.htm文件进行重新组织从而改变它原来的外观等等。
HTML框架
HTML框架为使用HTML浏览器和Java浏览器的ArcIMS网站提供了一个基本的骨架。了解HTML框架,有助于理解组成网站的文件之间的关系。
HTML框架是在一个特殊的HTML文件中定义的。这个文件本身并不包含什么网站内容(其BODY完全是空白的),它只是用来定义一个页面的显示窗口,即把当前的浏览划分成多个窗口,每个窗口显示一个单独的HTML页面。在ArcIMS中,这一文件通常是default_ie.htm或default_ns.htm。
网站可以被划分成许多行和列(如上图所示),也可以只包含一个或两个框架。一系列行或列就被称为一个框架集(Frameset)。当我们使用行和列来定义框架集时,每个行和列都被给予一定的网页空间。每个框架的空间的大小可以用pixel数来表示,也可以用所占窗口的百分比来表示,也可用*表示这个框架的大小就是剩余空间的大小。
FRAMESET标签中定义的框架集的行数或列数决定了次一级FRAME标签或FRAMESET标签数。在上面的例子中,第一个FRAMESET标签定义了三行。在该标签下,又有两个FRAME标签和一个FRAMESET标签,一共是三个次一级的标签。每个FRAME标签都有一个name属性和一个src属性,前者是用来标识该框架的,而后者定义了哪个网页显示在该框架中。
Defalt_ie.htm文件中的框架布局
HTML浏览器的版面布局是通过HTML框架来控制的。共有三个文件能够最终影响框架布局——default.htm,default_ie.htm和default_ns.htm。其中,Default.htm文件是ArcIMS网站的入口文件,它唯一的功能是用来判断客户端所使用的网页浏览器的类型——是Internet Explorer还是Netscape。在此判断的基础上,default_ie.htm或default_ns.htm将被初始化,并开始站点的框架构造。注意,ArcIMS只支持Internet Explorer和Netscape两种浏览器,这两者缺省的布局基本相同,但也有一些微小的差别。
上图是Internet Explorer HTML浏览器默认的框架布局示意图(与真实的大小不成比例)。这个图对定制自己的版面很有用。因为只有知道了在你的网站中采用哪些页面后你才能定义好使用哪些框架以及分配的空间大小。至于每个框架该放到哪儿就完全是由你自己来决定了。
有些网站程序员可能会不喜欢用HTML框架。尽管ArcIMS中默认的模板使用了大量的框架,你照样可以使用HTML表格来完全代替这些框架。这一技术在HTML浏览器中实现起来要比在Java浏览器中实现起来要容易得多。
ArcIMSparam.js文件
ArcIMSparam.js是用于非框架的HTML浏览器定制时的基本文本文件。它是一个完全可以被编辑的文本文件,里面包含了许多决定网站的外观和功能的参数。可以直接或通过动态HTML技术来改变那些变量,以达到定制的效果。每对浏览器进行一次刷新时,ArcIMSparam.js都被重读一遍,使得最新的修改就被显示到浏览器当中去了。ArcIMSparam.js包含的变量有:用来调整显示范围的变量、决定工具栏中可用的工具的变量、设置颜色的变量和提供一些交互性功能的变量等等。
ArcIMSparam.js中的颜色和活动图层
ArcIMS网站中的颜色可以使用下列三种模式——十六进制,RGB或直接用颜色名字。ArcIMSparam.js中为那些需要颜色的对象提供了默认的颜色。尽管三种颜色模式之间的转换方法有很多,仍然不能在一个文件中间杂使用它们。HTML对象使用的是十六进制和颜色名字两种方案,而与制图有关的对象则只能使用RGB模式。
颜色名和RGB值都可以直接被使用。有些颜色名很好理解,如“green”,但有些颜色却不那么好理解,如honeydew、blanchedalmond和papayawhip等,除非参照比色表或使用ESP才能认出这些颜色。用十六进制数来表示颜色要稍难一些,但是如果知道了FF等于RGB颜色法中的255,00等于0,80等于128等这些关系会有些帮助。一般来说,坚持使用系统默认的颜色模式来改写原来的颜色。
设置活动图层及字段能够影响查询数据库等GIS操作。在有些情况下,尤其是当内容表被移去了时,建立活动图层是很后必要的。移去内容表可以为地图显示腾出更大的空间,并且可以大大地简化终端用户的界面。但是,这样就意味着用户不能对活动图层进行设置。必须知道,用户有时可能并不真正理解什么是活动图层。要在ArcIMS中设置活动图层,可以通过图层的索引号来引用图层。图层的索引号为0的是第一层,为1的是第二层,依次类推。在为查询建立字段时同样要用到索引号。ArcIMS中要求至少#D#和#SHAPE#两个字段是被包含的。#ALL#表示返回图层的所有字段。
类数据(Generic data)浏览器
通过定制,你可以创建一个类数据浏览器来浏览某台特定服务器上的所有地图服务。这一功能在局域网内连接的客户已经知道了地图服务的内容时显得十分有用。要有效地实现这一功能,就需要在ArcIMSparam.js文件中删除那些指定某一单个的地图服务的显示范围的参数,同时还要把一个能够实现类数据功能的JavaScript文件(aimsgeneric.js)拷贝到你的网站目录下来。在MapFrame.htm文件中,你还必须将aimsGenericPresent变量设置为true,从而把类数据浏览器添加上去。这样,当网站被下载时,并没有显示地图。用户通过使用工具栏上新增加的工具来选择一个想要查看的地图服务后,地图窗口中才显示出地图。
用户选项
到目前为止,我们前面介绍的所有的定制,都还是局限于网站程序员对客户所见的网站的外观所做的定制。实际上,客户端用户也可以被赋予定制的权利。例如,通过将ArcIMSparam.js文件中的allowOptions变量的值设为true,用户便可以自己改变地图的背景色、要素的高亮显示颜色和缩放框颜色等。
设置调试程度
对网站程序员来说,ArcIMS提供的最大的一个帮助就是在“user options”中的调试器(debugger)。通过在调试器下拉列表中设定一个合适的值,ArcIMS能够提供一个能同时显示AXL请求和服务器端的AXL响应的对话框。这一工具能够帮助你从客户和服务器两个角度来学习AXL语言,从而帮你创建具有高度专业功能的自定义工具。此外,理解服务器端的XML响应能够帮助你书写XML解析语句。
自定义标题、背景色和图片
也可以对HTML页面,如top.htm进行定制,以进一步改善站点外观。一般来说,页面的背景颜色和文本是单独设定,互不影响的。而有些网页文件,如bottom.htm和top.htm可能会调用images文件夹下的一些图片。这些图片提供了网页的背景色和图标的填充色以及ArcIMS图标。通过检查这些页面的代码,可以很直接地将它们设置为你自己的背景色或图标。进一步的定制HTML页面,你还可以把图标等对象表移动到别的地方,也可以创建一些超级链接或其它HTML代码来增强网站的功能。
Toolbar.htm文件相对较大,它通过DHTML语言创建一个两列宽的表来放置所有的为网站选定的工具。通过对这个文件的简单的定制就可以产生不同布局的表格、不同大小的图标或使用自己定义的图标,或根本不使用表格。要使用自己的图标,只需要用已经创建好的GIF图标来代替原来保存在images文件夹下的图标即可。ArcIMS中的图标有一套严格的命名规则——带有_1的图标表明工具没有被激活,而带有_2则表明工具处于激活状态。
多功能GIS网站
不怕做不到,只怕想不到,所以网站的定制中最需要的是想象力。上面的图为我们提供了一个多功能GIS网站的思路,它把ArcIMS的功能以一种“浮动框架”的形式嵌入在网站中。实现这一功能只需在Internet Explorer中使用<IFRAME>标签即可。当然,也可以采用传统的标签把你的网站嵌入到别的网站。
使用JavaScript和动态HTML
JavaScript和DHTML与HTML浏览器有密切的关系。尽管ArcIMS不需要很高的编程经验,但是知道一些JavaScript和动态HTML的知识对ArcIMS高级应用很有帮助。
JavaScript是一种专门用来嵌入到HTML中的语言。它与Java差不多,但是又独立于Java,而且它不包含Java的扩展对象模型。JavaScript在某种程度上的确能帮助网站程序员在一定条件下使用分支语句和循环语句,且与其它作Internet编程语言相似,通过鼠标事件让用户与应用程序交互。JavaScript最具魅力的地方是它广泛地支持包括Internet Explorer和Netscape在内的主流浏览器。通过JavaScript可以创建一些能够动态地响应用户交互操作的HTML页。例如,当我们放大到一个新地方时,top.htm文件的标题中可能出现一个新的标题。使用JavaScript的一个最简单的例子是产生滚动效应——当用户把鼠标放在某个对象上面时,图标自动地改变。有了JavaScript,一些高级网站程序员可以创建自己的JavaScript函数,在客户端实现一些特殊的功能。