ArcIMS初级教程(三)第七章定制AXL文件(二 )
时间:2007-08-18 来源:iceglacier
Renderer标签
ArcIMS中定义了一系列renderer标签,用来确定在客户端如何显示地图,这些标签都包含在LAYER节标签里面。
SIMPLERENDERER标签是用来定义图层的单一符号分类显示的。在上例中,SIMPLERENDERER定义一个多边形图层以橘黄色实体填充显示。GROUPRENDERER标签用来定义以两种或两种以上专题图进行显示,它是在出现两种或多种符号时使用的。在前面的练习中,我们曾经用GROUPRENDERER标签定义了州际公路--第一个层用粗的黑线,而第二个层用SIMPLERENDERER定义一条细的红色的破则线,这两个层叠加在一起就可以用来代表高速公路了。
SCALEDEPENDENTRENDERER标签允许AXL程序员在不同的比例尺下来显示不同的专题图,VALUEMAPRENDERER标签根据属性值或范围显示专题图,SIMPLELABELRENDERER标签则可以用来在地图上对要素进行标注。
Symbol标签
前面讲到的每个renderer标签都包含了一个或多个Symbol标签,用来定义专题符号的图形显示。Symbol标签包括有SIMPLEMARKERSYMBOL、SIMPLELINESYMBOL和SIMPLEFILLSYMBOL。Symbol标签定义了如何根据标签中的属值显示符号。这些属性包括颜色、大小、透明度等等。其中,antialiasing是一个值,它可以用来定义如何在背景上显示符号的边缘。
Acetate Layer
Acetate Layer这种图层只能通过直接的定制增加到AXL文件中的图层。Acetate Layer可以使得那些自定义的文本、符号和指北针等元素总是出现在地图之上。用户在使用漫游,缩放等操作时,Acetate Layer并不跟着变化,而总是出现在视图窗口中同样的位置。Acetate Layer只支持HTML浏览器。
Author中不具备的功能
接下来我们将要讲述的是在Author中不能实现,只能通过人工修改AXL文件才能实现的一些功能。例如,有好几种专题图在Author中就不可用。在下面的练习中,将使用CALLOUT SYMBDL和SHIELDSYMBOL专题图及组合专题图,创建如上图效果的地图。
请注意:尽管在Author中可以使用组合专题图,但要指定不同要素以不同的符号显示,只能通过定制完成。
地图投影
地图投影是为了在平面上显示地球表面的所作的一种平面转换。换句话说,它们用二维的形式表达了地表的三维形态。只要经过了投影,空间的某些属性如形状、面积、距离或方向就会发生一定的变形。没有变形的投影是找不到的。但是,可以选择一种能够使某个空间属性的变形最小的投影(通常是以别的属性的更大的变形为代价的)。常用的投影类型有:兰伯特正切圆锥投影、墨卡托投影和艾伯特投影等。
投影系统定义了坐标系统。同一个地方的不同投影类型的数据是不能对准的,有时候偏移会很大。因此,为了使地图显示更富有意义,一般要求所有的地图服务和所有的图层都采用相同的投影。
ArcIMS支持多种投影--与ArcView 3.2支持的投影类型相同,包括自定义投影--应该足以满足GIS的要求。.prj文件是具有一定结构的文本文件,描述了使用的投影类型。ArcView 3.2是ArcView中首次采用了在对Shapefiles进行投影转换时创建.prj文件的版本。ArcIMS使用.prj文件来为地图服务创建一个通用的投影。如果.prj文件不存在,数据仍然能够进行投影,但是,必须人为地指定输入的投影类型。
投影
在ArcIMS中,投影是在服务器端通过MapService AXL中的三个标签来实现的,这三个标签是:FEATURECOORDSYS,FILTERCOORDSYS和COORDSYS。
FEATURECOORDSYS定义整个地图服务显示的投影类型。
FILTERCOORDSYS定义了客户端请求的投影类型。目前,ArcIMS中还不支持客户对投影的请求。所以,FILTERCOORDSYS与MapService AXL中的FEATURECOORDSYS定义了相同的投影类型。
COORDSYS定义了地图服务中输入的投影类型。只有当.prj 文件不存在时才需要用到它。
课程材料中包含了一个特殊的文本文件pedef.h,提供了各种投影的ID号,ID号用于上述三个标签中,用以定义使用的投影类型。尽管pedef.h文件很大,但它列出了常用地图投影且经过了精心组织。
查询和建立表关联
通过属性表或关联表查询属性数据是GIS的一个基本功能。结构化查询语言(Structured Query Language,简称SQL)语句可以在QUERY标签中定义。其中对关联表的查询是可选的。任何两个数据库表都可以通过一个公共字段建立关联。在对关联表进行查询时,只能对相似的表进行查询。例如,当对某个Shapefile的dbf进行查询时,可关联的表只能是另一个dbf。
影像
尽管通过Author的目录表界面中可以直接访问包括TIFF文件在内的几类影像图形类型,其它许多影像只能通过人工的方法添加进去。IMAGEWORKSPACE标签(隶属于WORKSPACE标签)就是用来指向影像文件存在的文件夹的,与SHAPEWORKSPACE相似。每个影像工作空间都有一个唯一的名字。每个影像都是以一个图层的形式存在于MapService AXL中的。LAYER标签中的DATASET标签引用影像图层的名字及其工作空间。
一些遥感图像处理软件中的图像都支持多波段。每个波段都是具有某一特殊的波长的光谱,可以单独引用或作为一个ArcView影像目录被调用。
注意,影像数据如果没有合适的地理参考和投影是不能很好地与经过投影的矢量数据匹配的。
编辑AXL时的出错处理
在定制AXL文件的过程中,不可避免会出现输入错误。为了快速地找出错误,可以使用ArcIMS Administrator的调试窗口。要打开调试窗口,请参照练习中的第四步。
ArcIMS中定义了一系列renderer标签,用来确定在客户端如何显示地图,这些标签都包含在LAYER节标签里面。
SIMPLERENDERER标签是用来定义图层的单一符号分类显示的。在上例中,SIMPLERENDERER定义一个多边形图层以橘黄色实体填充显示。GROUPRENDERER标签用来定义以两种或两种以上专题图进行显示,它是在出现两种或多种符号时使用的。在前面的练习中,我们曾经用GROUPRENDERER标签定义了州际公路--第一个层用粗的黑线,而第二个层用SIMPLERENDERER定义一条细的红色的破则线,这两个层叠加在一起就可以用来代表高速公路了。
SCALEDEPENDENTRENDERER标签允许AXL程序员在不同的比例尺下来显示不同的专题图,VALUEMAPRENDERER标签根据属性值或范围显示专题图,SIMPLELABELRENDERER标签则可以用来在地图上对要素进行标注。
Symbol标签
前面讲到的每个renderer标签都包含了一个或多个Symbol标签,用来定义专题符号的图形显示。Symbol标签包括有SIMPLEMARKERSYMBOL、SIMPLELINESYMBOL和SIMPLEFILLSYMBOL。Symbol标签定义了如何根据标签中的属值显示符号。这些属性包括颜色、大小、透明度等等。其中,antialiasing是一个值,它可以用来定义如何在背景上显示符号的边缘。
Acetate Layer
Acetate Layer这种图层只能通过直接的定制增加到AXL文件中的图层。Acetate Layer可以使得那些自定义的文本、符号和指北针等元素总是出现在地图之上。用户在使用漫游,缩放等操作时,Acetate Layer并不跟着变化,而总是出现在视图窗口中同样的位置。Acetate Layer只支持HTML浏览器。
Author中不具备的功能
接下来我们将要讲述的是在Author中不能实现,只能通过人工修改AXL文件才能实现的一些功能。例如,有好几种专题图在Author中就不可用。在下面的练习中,将使用CALLOUT SYMBDL和SHIELDSYMBOL专题图及组合专题图,创建如上图效果的地图。
请注意:尽管在Author中可以使用组合专题图,但要指定不同要素以不同的符号显示,只能通过定制完成。
地图投影
地图投影是为了在平面上显示地球表面的所作的一种平面转换。换句话说,它们用二维的形式表达了地表的三维形态。只要经过了投影,空间的某些属性如形状、面积、距离或方向就会发生一定的变形。没有变形的投影是找不到的。但是,可以选择一种能够使某个空间属性的变形最小的投影(通常是以别的属性的更大的变形为代价的)。常用的投影类型有:兰伯特正切圆锥投影、墨卡托投影和艾伯特投影等。
投影系统定义了坐标系统。同一个地方的不同投影类型的数据是不能对准的,有时候偏移会很大。因此,为了使地图显示更富有意义,一般要求所有的地图服务和所有的图层都采用相同的投影。
ArcIMS支持多种投影--与ArcView 3.2支持的投影类型相同,包括自定义投影--应该足以满足GIS的要求。.prj文件是具有一定结构的文本文件,描述了使用的投影类型。ArcView 3.2是ArcView中首次采用了在对Shapefiles进行投影转换时创建.prj文件的版本。ArcIMS使用.prj文件来为地图服务创建一个通用的投影。如果.prj文件不存在,数据仍然能够进行投影,但是,必须人为地指定输入的投影类型。
投影
在ArcIMS中,投影是在服务器端通过MapService AXL中的三个标签来实现的,这三个标签是:FEATURECOORDSYS,FILTERCOORDSYS和COORDSYS。
FEATURECOORDSYS定义整个地图服务显示的投影类型。
FILTERCOORDSYS定义了客户端请求的投影类型。目前,ArcIMS中还不支持客户对投影的请求。所以,FILTERCOORDSYS与MapService AXL中的FEATURECOORDSYS定义了相同的投影类型。
COORDSYS定义了地图服务中输入的投影类型。只有当.prj 文件不存在时才需要用到它。
课程材料中包含了一个特殊的文本文件pedef.h,提供了各种投影的ID号,ID号用于上述三个标签中,用以定义使用的投影类型。尽管pedef.h文件很大,但它列出了常用地图投影且经过了精心组织。
查询和建立表关联
通过属性表或关联表查询属性数据是GIS的一个基本功能。结构化查询语言(Structured Query Language,简称SQL)语句可以在QUERY标签中定义。其中对关联表的查询是可选的。任何两个数据库表都可以通过一个公共字段建立关联。在对关联表进行查询时,只能对相似的表进行查询。例如,当对某个Shapefile的dbf进行查询时,可关联的表只能是另一个dbf。
影像
尽管通过Author的目录表界面中可以直接访问包括TIFF文件在内的几类影像图形类型,其它许多影像只能通过人工的方法添加进去。IMAGEWORKSPACE标签(隶属于WORKSPACE标签)就是用来指向影像文件存在的文件夹的,与SHAPEWORKSPACE相似。每个影像工作空间都有一个唯一的名字。每个影像都是以一个图层的形式存在于MapService AXL中的。LAYER标签中的DATASET标签引用影像图层的名字及其工作空间。
一些遥感图像处理软件中的图像都支持多波段。每个波段都是具有某一特殊的波长的光谱,可以单独引用或作为一个ArcView影像目录被调用。
注意,影像数据如果没有合适的地理参考和投影是不能很好地与经过投影的矢量数据匹配的。
编辑AXL时的出错处理
在定制AXL文件的过程中,不可避免会出现输入错误。为了快速地找出错误,可以使用ArcIMS Administrator的调试窗口。要打开调试窗口,请参照练习中的第四步。
相关阅读 更多 +