﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Welcome to 陈俊峰's ---BeetleHeaded Man Blog !-随笔分类-GIS</title><link>http://www.cppblog.com/Jeff-Chen/category/1584.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 23 May 2008 17:10:08 GMT</lastBuildDate><pubDate>Fri, 23 May 2008 17:10:08 GMT</pubDate><ttl>60</ttl><item><title>GIS数学模型</title><link>http://www.cppblog.com/Jeff-Chen/archive/2006/05/07/6713.html</link><dc:creator>Jeff-Chen</dc:creator><author>Jeff-Chen</author><pubDate>Sun, 07 May 2006 12:58:00 GMT</pubDate><guid>http://www.cppblog.com/Jeff-Chen/archive/2006/05/07/6713.html</guid><wfw:comment>http://www.cppblog.com/Jeff-Chen/comments/6713.html</wfw:comment><comments>http://www.cppblog.com/Jeff-Chen/archive/2006/05/07/6713.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Jeff-Chen/comments/commentRss/6713.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Jeff-Chen/services/trackbacks/6713.html</trackback:ping><description><![CDATA[
		<strong>提要</strong> 　本篇根据GIS具体应用实例，详细阐述了GIS的基本数学模型，深入分析了非地理属性数据的本质特性及组织方法，并提出了绘图即编码的新观点。<br /><br /><b>关键词　 </b>GIS 非地理属性数据 图形编码<br /><br />　　<b>0． 引言<br /></b>　　近年来，GIS数据处理技术正以前所未有的速度，渗透到社会的各个部门。各行各业的GIS开发应用急剧增加，专业GIS平台种类繁多，新技术、新理念层出不穷，给人以目不暇接的感觉。作为一名业余GIS从业人员，根据行业应用具体例子，阐述GIS数据处理技术的基本原理及其应用方法。所述观点有偏薄之处，还请GIS行家斧正。<br /><br />　　<b>1． 现行GIS数学模型</b><br />　　GIS处理的数据对象不仅仅局限于地理测绘部门，基于地理信息基础上的规划、市政、土管、电力、电讯、自来水等相关行业，同样适用于GIS数据处理技术，这是无庸置疑的客观事实。值得探讨的是：各相关部门该如何利用测绘部门提供的基础地理信息？他们又该如何组织各自的专业数据？<br />　　现行的GIS数据处理模型，都是在海量级数字地理背景图上，叠加各自专业图符布置图，然后利用内置或外挂的关系型数据库，查询统计图形符号所属的参数记录。这样的数学模型，实际应用效果并不理想：操作人员在图形、表格之间煞费苦心，但始终不得要领；应用单位除了承担昂贵的专业GIS平台外，还得承担同样昂贵的关系型数据库平台。笔者以为，现行GIS数学模型的基本原理有待探讨。<br /><br />　　<b>2． GIS数据的基本结构</b><br />　　海量级数字地图本来是按一定比例尺度、一定投影带度（地理坐标系），分幅保存在地理测绘部门。以前都是以图纸形式，现在通行数字地图格式。大概是计算机图形处理技术太易于拼接叠加，程序设计人员很容易将数量众多的地理分幅图，拼接成海量级数字地图，作为各GIS相关行业的地理背景。这样的系统设计方法，违背了模块化设计这一信息处理技术的基本原则。<br />　　就单纯的地理信息而言，最小的、能够独立使用的基本数据模块，就是每张一定比例、一定投影带度的地理分幅图。单张地理分幅图的信息数据量相当有限，数量众多的地理分幅图叠加起来，才形成海量级地理背景图。在很小的电脑屏幕上，调集海量级图形数据，显示效果如同印象派画家的杰作，不知所云。实际应用当中，操作人员为了保持画面的清晰，常常关闭地理背景图层。早知今日，何必当初。<br />　　GIS相关行业在数据初始化阶段，确实应该尽可能搜集所有地理分幅图，包括不同坐标体系的地理图，这样可以在图纸或电子地图上，转录各自行业图符布置图，不必花费大量的人力、物力，到现场进行实地勘测，系统开发周期可以大大缩短。转录过程是必不可少的，因为测绘部门的图符规范与各行业规范不尽相同，图符之间的逻辑关系更是隔行如隔山。关于这一点，各相关行业部门并无异议，实际应用也是这样操作的。但无论从数据处理的基本原理，还是实际应用角度，都没有理由叠加海量级地理图作为基础背景。<br />　　也许有人要问，转录后的行业图符地理布置图，仍常常需要基本地理信息作为参考背景，那该如何处置？实际上这很容易解决，你只需将所有地理分幅图保存在指定的硬盘目录，需要时逐一调入叠加。很显然，这样的应用模式，更符合数据处理的基本原理，计算机系统资源也可大大节约。<br />　　这里想强调一点，无论是基础地理信息图，或是行业图符布置图，必须遵循测绘部门的地理坐标系。地理坐标系不仅具有严密的数学投影公式，而且是法定的标准规范。常常碰到一些非地理专业的设计人员，任意假定自己的地理坐标。这样的设计方法，能够应用一时，但给日后的数据维护运行带来无穷的后患。你的所有数据将成为“信息孤岛”：无法被别人共享，也无法共享别人信息。“地图永远跟不上建设”，你搜集到的最新版式的地图，很可能是五年甚至是十年前的地形地貌。动态变化的地理信息，是按照固定的坐标体系不断修测更新。地理坐标体系实际上是地理信息数据的基本编码字典，设计人员怎能凭自己的意愿，各自假定编码字典。笔者并非地理专业人员，认识地理坐标的重要性，完全是经验之谈。<br /><br />　　<b>3． 非地理属性数据的组织方法</b><br />　　笔者认同这样的观点：从内部结构上讲，计算机数据处理技术可以概括为逻辑上的关系型数据库处理模型；所有信息数据，无论是文本、数字、图形、图象、声音等等，都是以抽象的表格记录形式存贮在计算机内部。这是专业级系统开发商探讨的技术问题，笔者根本没有能力深入剖析。从具体应用角度出发，抽象的或者说是逻辑上的关系型表格数据库，是否都得影射成外观的表格数据记录，这就值得应用开发人员仔细推敲。就最常用的DXF格式的图形交换文件（数据）而言，其内部形式就是标准ASCII码表格数据，但它们的外部表现形式，则是具体形象的几何实体。对应用开发人员犹其是应用操作人员来讲，表格记录与图形数据是完全不同的数据类型，它们的组织方法、查询手段也是完全不同的。<br />　　单纯的图形数据组织方法与单纯的表格数据组织方法，谁也不会混淆。现行GIS相关行业的非地理属性数据的组织方法，笔者不敢苟同。绝大多数应用开发人员，都将它们整合成结构严谨的表格记录，并在表格数据库中进行相关的查询、统计。表面看来，似乎符合这些属性数据的管理模式。在未有计算机图形处理技术以前，这些属性数据无一例外地集中存贮在表格簿册之中。但这是不得已而为之。它们本该分散标注在图形符号的背后，只是在手工绘图阶段，根本无法实现。在计算机图形技术日臻完善的今天，可以利用隐含显示、透明叠加等计算机图形处理技术，方便准确地将属性记录标注在图形符号背后，直观形象地进行查询统计，应用效果如同“看图识字”。那只是还非地理属性数据以本来面目，从本质上讲，它们本来就属于图形数据，并非一般意义上的表格数据。它们的组织方法如同绘图一样，必须将一条条属性记录（类似于几何实体），分散标注在它们本该出现的位置。方便灵活的分散标注过程只是人机对话的表面形式，集中存贮仍是属性数据计算机内部结构。对编程人员来讲，面对的仍是整齐划一的DXF格式的数据表格，这与普通表格数据没有两样（实际上DXF格式数据只是应用开发人员的数据组码，低层的数据代码更为整齐划一，但这是专业级开发商面对的数据格式）。对具体应用人员来讲，直观形象地进行查询统计，是他们最大的愿望。<br /><br />　　<b>4． 图形编码法</b><br />　　普通表格数据库中的数字编码，我们已经运用得驾轻就熟，对图形编码[1]可能还比较陌生。但“信息技术工作者，逐步意识到用地理位置来检索数据，是组织和使用数字式数据的基本方法”[2]。讲得通俗点，使用图形编码是组织和运用图形数据（包括非地理属性数据）的基本方法。所谓图形编码法，就是以图形符号为基本工程语言，依照行业设计规范，绘制或标注图符、属性的全过程，就是图形编码法。简而言之，绘图即编码。<br />　　图形编码在未有计算机图形处理技术以前就已存在，手工绘图的全过程，运用的就是图形编码法，但使用范围局限于狭义的图形符号。随着计算机技术的迅猛发展，图形编码的使用范围早已超出狭义的制图设计过程。司空见惯的条形码技术，就是典型的图形编码在表格数据库中的具体应用。DOS操作系统与Windows操作系统最本质的区别，前者采用的是数字编码命令体系，后者采用是图形编码命令体系。<br />　　遗憾的是，由于不了解非地理属性数据的实质就是图形数据，没有认识到绘图标注过程就是编码过程，也可能是关系型数据库技术过于流行，GIS相关行业的程序设计人员，都将非地理属性数据分门别类，集中存贮在内置或外挂的关系型数据库中，并人为添加一条编码字段，进行日常的查询统计。这从数学原理上讲是不成立的，简单的图形符号，比如条形码，尚能用一串数码来描述；复杂的图形符号及其相互间的逻辑关系，根本无法用数码来表示，否则就不存在各行业的工程设计语言。实际应用当中，非地理属性数据在关系型数据库中的查询统计效果，差强人意，操作人员始终处在云里雾里。更为烦恼的是，管理人员为了维护程序设计人员外加的编码体系，费尽心机，但始终不得要领。非地理属性数据的编码字典，就是管理人员熟知的行业设计规范。程序设计人员必须首先掌握GIS及相关行业的工程设计规范，然后才能进行应用系统的组织、设计。<br />　　非地理属性数据采用图形编码法，才能满足数据模块化设计的原则。GIS相关行业的基本数据模块，就是每张专业图符（属性）地理布置图，它们是由不同类型的图符实体，依据各自的行业规范，准确连接而成的、可以独立使用的基本数据模块。这在关系型表格数据库中是无法实现的，表格数据库采用的是分门别类方法，不同类型的属性数据无法整合在同一表格簿册中。这既是它的优点，也是它的不足。数据处理技术并非只有关系型数据库一种，程序设计人员首先考虑的就是根据不同行业数据特性，选择不同的数据处理技术。<br /><br />　　<b>5． GIS应用实例</b><br />　　图例是笔者利用最普通的ACAD（R14）作为GIS平台（Autodesk公司提供专业GIS平台，如AutoCAD Map、MapGuide等系列），引用当地最常用的宁波独立坐标系，依据图形编码法，准确绘制的配网地理接线图。没有任何地理背景，需要时可以随时叠加任何已有的或者今后再版的地理分幅图。没有外挂任何关系型数据库（ACAD支持多种关系型数据库），你用鼠标就可直接点取任一电气设备的全部属性参数。为了保持画面的清晰，只显示一、二项属性参数，其余均被隐含在图形符号的背后。你当然可以根据不同的统计口径，编制小段管理程序，汇总统计各种参数，编程过程并不复杂。应用人员几乎可以不经任何培训，就能上机查询，真正体现“所见即所得”设计目标。<br />　　根据模块化设计原则，剥离了海量级地理背景图，配网地理接线图也是按馈线分别存贮在指定的硬盘目录，需要时逐一调用，这样的GIS应用模型可以在P/100/40M普通微机上流畅运行。采用更高档的系统机型，选择更专业的GIS平台，应该根据系统的综合性能价格比，由用户作出最终抉择。作为程序设计人员，必须确保信息处理的数学模型科学规范，维护运行的人机界面简单明了。<br /><br /><br /><img src ="http://www.cppblog.com/Jeff-Chen/aggbug/6713.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Jeff-Chen/" target="_blank">Jeff-Chen</a> 2006-05-07 20:58 <a href="http://www.cppblog.com/Jeff-Chen/archive/2006/05/07/6713.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是SVG</title><link>http://www.cppblog.com/Jeff-Chen/archive/2006/04/27/6387.html</link><dc:creator>Jeff-Chen</dc:creator><author>Jeff-Chen</author><pubDate>Thu, 27 Apr 2006 08:48:00 GMT</pubDate><guid>http://www.cppblog.com/Jeff-Chen/archive/2006/04/27/6387.html</guid><wfw:comment>http://www.cppblog.com/Jeff-Chen/comments/6387.html</wfw:comment><comments>http://www.cppblog.com/Jeff-Chen/archive/2006/04/27/6387.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Jeff-Chen/comments/commentRss/6387.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Jeff-Chen/services/trackbacks/6387.html</trackback:ping><description><![CDATA[
		<blockquote>SVG是基于XML的专门为网络而设计的图像格式。本文给出了SVG的几个简单例子，并与其它矢量图形格式VML、PDF、SWF进行比较，展示了 SVG的优点和美好前景。</blockquote>
		<!--START RESERVED FOR FUTURE USE INCLUDE FILES-->
		<!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters -->
		<!--END RESERVED FOR FUTURE USE INCLUDE FILES-->
		<p>
				<a name="N10039">
						<span class="atitle">
								<font face="Arial" size="4">什么是SVG</font>
						</span>
				</a>
		</p>
		<p>SVG(Scable Vector Graphics，可升级矢量图像)是一种基于XML的开放的矢量图形描述语言。SVG图像是与XML1.0兼容的文档，SVG元素是指示如何绘制图像的一些指令，阅读器(Viewer)解释这些指令，把SVG图像在指定设备上显示出来。使用SVG可以在网页上显示出各种各样的高质量的矢量图形，支持很多您想象得出的功能：几何图形、动画、渐变色、滤镜效果等。最关键的是，它是完全用普通文本来描述的！也就是说，这是一种专门为网络而设计的基于文本的图像格式。</p>
		<p>1999年2月，SVG草案出台，经过不断地修改更新，最终形成了第一份实验性的实现规范。2001年7月，W3C正式发布了SVG图像格式建议书，这就是SVG1.0规范。目前，该规范是被提议的推荐标准，到8月底将成为W3C的正式推荐标准。W3C对SVG的解释是：SVG是一种使用XML来描述二维图像的语言。它允许3种形式的图像对象存在，分别是矢量图形、点阵图像和文本。各种图像对象能够组合、变换，并且能修改其样式，也能够定义成预处理对象。文本是XML名字空间中的有效字符，这些字符能被作为SVG图像的关键字而存留在搜索引擎中。SVG的功能包括嵌套变换、路径剪裁、透明度处理、滤镜效果以及其他扩展，同时，SVG支持动画和交互，也支持完整的XML的DOM接口。任何一种SVG图像元素都能使用脚本来处理类似于鼠标单击、双击以及键盘输入等事件。因为同Web标准兼容的缘故，SVG还能够在同一个Web页面里凭着继承自XML的名字空间等特性来完成一系列交互操作。</p>
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																		<img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" />
																		<br />
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/xml/x-svg/index.html#main">
																				<b>
																						<font color="#996699">回页首</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N10045">
						<span class="atitle">
								<font face="Arial" size="4">SVG都有哪些优点</font>
						</span>
				</a>
		</p>
		<p>
				<font face="Arial" size="4">
				</font>
		</p>
		<ol>
				<li>基于XML标准 <br />　　XML是公认的下一代网络标记语言，拥有无穷的生命力。SVG在最开始设计的时候就基于XML，这使得它具有一种先天的优势，并且同HTML、CSS、DOM、XSL、JavaScript、CGI一样，成为新的标准。 
</li>
				<li>高质量的图像 <br />　　由于基于矢量，使得SVG图像的质量得到大大的提高。放大、缩小以及各种特效都比位图的表现要好，在打印的时候，完全可以以印刷质量输出图片。SVG图像在客户端动态绘制，用户可以随意调整图像的一些参数而不会导致图像模糊。SVG图像的大小只与图形的复杂程度有关，而与图形的具体尺寸无关。 
</li>
				<li>灵活易用的文件格式 <br />　　SVG主要由３个部分组成：矢量图形、位图和文字。由于SVG文件是以文本的形式（XML）存放的，更改起来是非常方便的。也就是说，可以不用任何图像处理工具，仅仅用记事本就可以生成一个SVG图像！在页面运行的过程中，我们也可以对很多部分做修改。而其中的图形描述又可以被任何人重复的使用。 
</li>
				<li>支持交互和动画 <br />　　SVG支持SMIL（synchronized multimedia integration language），使得用户可以自由的同SVG中的元素完成一些交互的动作，从而完成既定的目标，这一点在目前单独依靠图片是完成不了的，需要由网页中的Script语句来实现。 
</li>
				<li>支持字符查找 <br />　　查找"图片"中的字符，在SVG中成为可能。而这在其它格式的图片文件中则是不可思议的？！ 
</li>
				<li>支持Xlink 和Xpointer <br />这意味着我们可以在SVG文档之间制作超链接，这使我们拥有一种能力，可以制作一个完全由SVG构成的WEB站点！这个站点可以包含图片、文本以及拥有与用户进行交互的能力。Andrew Watt就制作了世界上第一个这样的全SVG站点( <a href="http://www.svgspider.com/"><font color="#5c81a7">http://www.svgspider.com</font></a>) .当然你首先得要安装一个SVG的阅读器，推荐使用Adobe公司的 <a href="http://www.adobe.com/svg/viewer/install/main.html"><font color="#996699">Adobe SVG Viewer 2.0</font></a>,但它只能用在MS Windows和MacOS上。使用一个合适的Java虚拟，Apache的 <a href="http://xml.apache.org/batik/dist/"><font color="#5c81a7">Batik viewer</font></a>可以运行在任何平台上。 </li>
		</ol>
		<p>看到这么多优点，是不是觉得不可思议？好，下面我们从几个小例子着手，揭开SVG的神秘面纱。</p>
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																		<img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" />
																		<br />
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/xml/x-svg/index.html#main">
																				<b>
																						<font color="#996699">回页首</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N1007D">
						<span class="atitle">
								<font face="Arial" size="4">SVG的几个简单例子</font>
						</span>
				</a>
		</p>
		<p>任何人可以利用一个记事本来创建和编辑SVG图像，但有时这样做会很复杂。现在有越来越多的工具开始支持SVG编码，可以减轻我们的工作。比如：从Adobe Illustrator 9.0和CorelDraw9开始就可以制作极度复杂的SVG图形。虽然SVG的语法和格式仍是XML规范的一部分，但SVG有其自己的一些基本概念、SVG的渲染模型、SVG数据类型与坐标系设置等，详细内容请参照 <a href="http://www-128.ibm.com/developerworks/cn/xml/x-svg/index.html#resources"><font color="#996699">参考资料</font></a>。 </p>
		<p>一个最简单的例子：</p>
		<br />
		<a name="N1008D">
				<b>例1 一个SVG的基本图形例子</b>
		</a>
		<br />
		<table cellspacing="0" cellpadding="5" width="100%" bgcolor="#eeeeee" border="1">
				<tbody>
						<tr>
								<td>
										<pre>
												<code class="section">
														<font face="Lucida Console">&lt;?xml version="1.0" encoding="iso-8859-1"?&gt;
&lt;!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"
"http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd"&gt;
&lt;svg xml:space="preserve" width="5.5in" height="5in"&gt;
&lt;rect style="fill:#ff13e2;" width="250" height="100"/&gt;
&lt;text style="fill:blue;" y="15"&gt;Hello World!&lt;/text&gt;
&lt;path d="M 50 50 L 250 30 L 200 90 z"/&gt;
&lt;/svg&gt;
</font>
												</code>
										</pre>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<p>SVG文档(通常以后缀.svg存放)总是以根元素开始。和标记内是SVG的图像描述语句。我们可以定义一个视口坐标系和用户坐标系，缺省的情况下两者是一致的，度量单位也相同，如果属性值没有带单位，则使用用户坐标系的长度单位-像素（px）。大多数情况下，用户坐标系的原点处在视口的左上角，X轴的正向朝右，Y轴的正向朝下，即如果不进行坐标变换，一切渲染都是以初始坐标系为准。例1中的SVG首先画了一个矩形，然后写了一段文字，接着利用路径元素画了一个三角形，最后显示效果如图1所示：</p>
		<br />
		<a name="N1009C">
				<b>图1 在浏览器中显示例1的结果</b>
		</a>
		<br />
		<img height="187" alt=" 图1  在浏览器中显示例1的结果" src="http://www-128.ibm.com/developerworks/cn/xml/x-svg/fig1.gif" width="312" />
		<br />
		<p>SVG提供了一种通用的路径式元素（path），可以用来创建庞大复杂的图像对象，像电子设计、流程图、统计绘画等领域有大量固定的符号，SVG不可能全部囊括。SVG规范允许用户定义自己的符号，可以将自定义的符号创建、重用、发布而不需要其他额外的手段，更不需要一个什么委员会来批准注册，这种自由灵活的风格更加扩展了SVG的功能。</p>
		<p>SVG提供的另一个很重要的功能是超级链接。在HTML网页中，图像和链接是分离的，图像作为外部文件而存在，链接则在HTML中说明，这样虽然有灵活和可重用的优点，却不易管理。而Flash的SWF矢量格式则相反，图像中内嵌链接，两者成为一个整体，虽然方便，但却不能重用。SVG则综合了两者的优点，其超级链接以明文的形式内嵌于文档内部，在形式上是一个整体，而且也有利于修改。由于SVG是基于XML的，象"xlink" 和 "xpointer"等都是XML特有的，所以SVG就自然而然获得了XML所定义的链接的好处和功能。</p>
		<p>把例1稍做修改，对那个黑三角加上一个超级链接，如例2所示：</p>
		<br />
		<a name="N100B2">
				<b>例2 超级链接的例子</b>
		</a>
		<br />
		<table cellspacing="0" cellpadding="5" width="100%" bgcolor="#eeeeee" border="1">
				<tbody>
						<tr>
								<td>
										<pre>
												<code class="section">
														<font face="Lucida Console">......
&lt;a xlink:href="http://www.shu.edu.cn/"&gt;
&lt;path d="M 50 50 L 250 30 L 200 90 z"/&gt;
&lt;/a &gt;
......
</font>
												</code>
										</pre>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<p>当鼠标指针移到黑三角上时就变成了手的形状，状态栏上也显示了此链接所指向的URL。例2只是一种常见的情况，实际上SVG中超级链接标志符的定义格式有3种： 
</p>
		<ol>
				<li>通过SVG元素的"id"属性对元素进行链接与标识。如somfile.svg#someplace。 
</li>
				<li>使用与XML兼容的"xpointer"。如somefile.svg#xpointer(id("someplace"))。 
</li>
				<li>使用SVG的"viewBox"说明。 </li>
		</ol>
		<p>
		</p>
		<p>SVG作为一种适用于网络的图像格式，不仅仅在于它的体积小、易修改、可缩放等与普通矢量图形一样的优点，还在于它添加有针对网络的交互功能。SVG图像可以内嵌交互定义。单独的一个SVG文件和一个客户端的SVG解释器便可以完成网页中链接、动画、交互等大部分功能。与Flash的SWF格式基于"帧"的二进制数据流不同，SVG是完全基于ASCII字符的文本。例3是一个交互的例子。</p>
		<br />
		<a name="N100CE">
				<b>例3 SVG利用&lt;script&gt;元素进行交互的例子</b>
		</a>
		<br />
		<table cellspacing="0" cellpadding="5" width="100%" bgcolor="#eeeeee" border="1">
				<tbody>
						<tr>
								<td>
										<pre>
												<code class="section">
														<font face="Lucida Console">&lt;?xml version="1.0" standalone="no"?&gt;
&lt;!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"
  
"http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd"&gt;
&lt;svg width="6cm" height="5cm" viewBox="0 0 600 500"&gt;
&lt;script&gt;&lt;![CDATA[
 function rect_mousemove(evt){ 
   var rect01 = evt.target; 
   var currentwidth = rect01.getAttribute("width");
   var currentheight = rect01.getAttribute("height");
   rect01.setAttribute("width",currentwidth*2); 
   rect01.setAttribute("height",currentheight*2); 
 }
 function rect_mouseout(evt){ 
 //.....
 }
]]&gt; 
&lt;/script&gt;
&lt;rect x="100" y="100" height="100" width="200"
      onmouseover="rect_mousemove(evt)" 
      onmouseout="rect_mouseout(evt)"/&gt; 
&lt;/svg&gt;
</font>
												</code>
										</pre>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<p>&lt;script&gt;元素中定义了两个函数来分别响应鼠标的两个事件。关于SVG中脚本的语句，读者可以参考有关JavaScript的书籍。</p>
		<p>SVG不但能够实现交互，而且能够实现动画。动画与交互在某些方面是相通的，比如都可以利用脚本语句来执行一些动态效果，都能实现可视化元素的增、删、改等功能。只是交互一般由事件来触发，而动画可以"我行我素"，不需要外界干涉。SVG中的动画只说明某个属性或样式的值在动画过程中的起止时刻、变化速度等关键参数，动画的中间效果完全靠SVG客户端解释程序来渲染完成，因此其生成的动画文件有着比SWF格式的文件更加短小精悍的优点。关于动画，本文就不举详细的例子了，有兴趣的读者可参见参考文献6。</p>
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																		<img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" />
																		<br />
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/xml/x-svg/index.html#main">
																				<b>
																						<font color="#996699">回页首</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N100DE">
						<span class="atitle">
								<font face="Arial" size="4">SVG、VML、FLASH、PDF之间的比较</font>
						</span>
				</a>
		</p>
		<p>过去在XML矢量图形的发展上，有两派人马互相较劲。一派以Adobe为首，提倡PGML，另一派由微软、MacroMedia为代表，鼓吹VML(IE5以上支持VML)，在这两套提案呈递给W3C后，W3C融合各家之长，促成了SVG的诞生。</p>
		<p>SVG建立于纯文字格式的XML之上，直接继承了XML的特性，简化异质系统间的信息交流，方便数据库的存取。SVG可以直接融入XML和XHTML网页中，可以直接利用浏览器已有的技术，如CSS、DOM、Javascript，达到动画及DHTML般的动态效果，支持单向和多向链接等等。更重要的是SVG是W3C制定的网络标准，不受单一的公司控制。</p>
		<p>MacroMedia Flash 的SWF格式提供矢量和动画功能，但Flash必须要依靠浏览器外挂程序(插件:Plug-ins)，而且因为Flash的格式是二进制的，Flash中的文字内容无法让使用者在浏览器中做字符串搜索，这样的网页也无法让搜索引擎索引来供用户做全文检索。此外，高互动性的多媒体动画，往往需要编程来实现，在这一点上Flash也有先天的不足，Flash和JavaScript之间的互动，只能通过比较狭窄的FSCommand来做桥梁。当然，尽管Flash有上述这些缺陷，但时至今日，它仍是网上矢量动画最好的解决方案。</p>
		<p>PDF(Portable Document Format，便携文件格式)是由Adobe公司开发而成的一种电子文档格式。它可以将文字、字型、格式、颜色、图形图像、超文本链接、声音、动态图像等信息封装在一个文件当中。PDF从页面描述语言PS(PostScript)发展而来，具有与PS几乎相同的页面描述能力和相似的描述方法。但与PS不同的是，PDF除了能描述复杂版面外，还具有交互功能(如超链接、交互表单等)、页面随机存取及字体仿真描述等特性。因此，PDF不仅适合印刷出版，而且也适合电子出版。PDF文件特别适合打印以及在屏幕上阅览，具有加密功能以及能够跨平台创建和阅览，支持全文检索。但是，由于PDF不是基于XML格式的，因此也就丧失了XML所能带来的所有好处和优点，例如我们可以仅用一个记事本就可以创建或修改一个SVG文档，而制作一个PDF文档呢，主要途径不外乎有3个：用专门的PDF制作工具软件进行制作；将包含有Postscript页面描述语言的文件转换成PDF文档；利用转换工具把其他格式文件(如DOC、HTML等)转换成PDF文档。相比之下，优劣立现。另外PDF不能制作动画，所以PDF的流行范围也仅限于电子文档的发布。</p>
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																		<img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" />
																		<br />
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/xml/x-svg/index.html#main">
																				<b>
																						<font color="#996699">回页首</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="N100F0">
						<span class="atitle">
								<font face="Arial" size="4">SVG的美好前景</font>
						</span>
				</a>
		</p>
		<p>统一的标准和开放性是SVG的强大生命力所在。我们可以想象SVG流行起来以后的景象：由于XML的Parser是可以免费得到的，而且标准也是公开的，所以除了将SVG应用在网页上或作为独立应用程序执行外，它应该可以跑在任何标准设备上。会有那么一天，你在出差前在Illustrator里面制作一张图片，然后作为附件发送给公司的同事。公司的同事在收到以后，如果需要在图片的文字上作一些改动，她就会直接用写字板程序打开你的图片文件，改正需要改动的文字，再保存起来。由于你已经到达外地，而又不能马上接入互联网，所以你的同事会直接把图片发送到你的手提电话上。你的支持SVG的手提电话会直接在屏幕上显示你想要看到的图片，这时你发现你画的圆的比例不太正确，不过没有问题，你并不需要一个大型的制图软件，你需要的只是手提电话里面内置的一个文本编辑器就能够完成修改了。</p>
		<p>相信我，有一天（这一天可能不远的，因为今天我们已经有了SVG，我们还会不断的有新的标准），你可能会煞有介事的从手提电话向你的冰箱传送图片，仅仅是为了更改你已经看的不耐烦了的液晶操作面板。</p>
		<p>由于SVG使用XML语法，我们可以使用XSLT从XML数据中生成SVG。我们还可以很容易地对以XML格式存放的数据制作一个图形表示。例如，对于一个包含玩具生产商所占市场份额的XML文档，我们可以用SVG创建一个饼图来方便比较！</p>
		<p>记住，这一切的前提就是：公开的，标准化的，跨平台的时代的到来。</p>
		<p>
				<a name="N10102">
						<span class="smalltitle">
								<strong>
										<font face="Arial">一些有用的链接</font>
								</strong>
						</span>
				</a>
		</p>
		<p>
				<strong>
						<font face="Arial">
						</font>
				</strong>
		</p>
		<ol>
				<li>
						<a href="http://www.svgspider.com/">
								<font color="#5c81a7">http://www.SVGSpider.com</font>
						</a>- 世界上第一个全部用SVG制作的网站,该网站有许多非常好的例子,推荐访问. 
</li>
				<li>
						<a href="http://www.adobe.com/svg/">
								<font color="#5c81a7">http://www.adobe.com/svg/</font>
						</a>- 可以从这个站点下载Adobe SVG Viewer,另外还有许多 Adobe's SVG 工具的链接, 和SVG的例子. 
</li>
				<li>
						<a href="http://www.kevlindev.com/">
								<font color="#5c81a7">http://www.kevlindev.com</font>
						</a>- 该网站有非常有用的SVG教程 . 
</li>
				<li>
						<a href="http://www.w3.org/TR/SVG/">
								<font color="#996699">http://www.w3.org/TR/SVG/</font>
						</a>- 有最新的SVG规范. </li>
		</ol>
		<p>
		</p>
		<p>
				<a name="N1012A">
						<span class="smalltitle">
								<strong>
										<font face="Arial">一些主要的SVG图像阅读器,制作以及转换工具</font>
								</strong>
						</span>
				</a>
		</p>
		<p>
		</p>
		<table cellspacing="0" cellpadding="5" width="100%" border="1">
				<tbody>
						<tr bgcolor="#cccccc">
								<td>
										<strong>Organization</strong>
								</td>
								<td>
										<b>Product</b>
								</td>
								<td>
										<b>Platforms</b>
								</td>
						</tr>
						<tr bgcolor="#cccccc">
								<td>Adobe</td>
								<td>
										<a href="http://www.adobe.com/svg/">
												<font color="#5c81a7">Adobe SVG Viewer 2.0</font>
										</a>(Browser) </td>
								<td>MacOS Win95/98/ME WinNT/2000</td>
						</tr>
						<tr bgcolor="#cccccc">
								<td>IBM</td>
								<td>
										<a href="http://alphaworks.ibm.com/tech/svgview">
												<font color="#5c81a7">IBM SVGView</font>
										</a>(Browser) </td>
								<td>Win95/98 WinNT</td>
						</tr>
						<tr bgcolor="#cccccc">
								<td>Apache</td>
								<td>
										<a href="http://xml.apache.org/batik/svgviewer.html">
												<font color="#5c81a7">
														<b>Batik SVG browser</b>
												</font>
										</a>(Browser) </td>
								<td>Any Java 2</td>
						</tr>
						<tr bgcolor="#cccccc">
								<td>W3C</td>
								<td>
										<a href="http://www.w3.org/Amaya">
												<font color="#5c81a7">Amaya 5.0</font>
										</a>(Editor/Browser) </td>
								<td>Unix and Windows</td>
						</tr>
						<tr bgcolor="#cccccc">
								<td>Adobe</td>
								<td>
										<a href="http://www.adobe.com/products/illustrator/main.html">
												<font color="#5c81a7">Illustrator 9.0</font>
										</a>(Editor) </td>
								<td>MacOS Win95/98/ME WinNT/2000</td>
						</tr>
						<tr bgcolor="#cccccc">
								<td>KDD Labs</td>
								<td>
										<a href="http://www.jamaps.org/JaMaPS/English/JaMaPSindex.html">
												<font color="#5c81a7">
														<b>JaMaPS</b>
												</font>
										</a>（Japan map with GPS support） </td>
								<td>PalmOS</td>
						</tr>
						<tr bgcolor="#cccccc">
								<td>CSIRO</td>
								<td>
										<a href="http://sis.cmis.csiro.au/svg">
												<font color="#5c81a7">
														<b>Pocket SVG Viewer</b>
												</font>
										</a>（Viewr） </td>
								<td>Pocket PC</td>
						</tr>
						<tr bgcolor="#cccccc">
								<td>Appligent</td>
								<td>
										<a href="http://www.digapp.com/newpages/svg2pdf.html">
												<font color="#5c81a7">
														<b>SVG2PDF</b>
												</font>
										</a>(Converts from SVG to PDF) </td>
								<td>MacOSWin95/98/ME WinNT/2000</td>
						</tr>
						<tr bgcolor="#cccccc">
								<td>IBM</td>
								<td>
										<a href="http://www.alphaworks.ibm.com/tech/afp2svg">
												<font color="#5c81a7">AFP to SVG transcoder</font>
										</a>(Server-side SVG generators) </td>
								<td>Win95/98 WinNT</td>
						</tr>
				</tbody>
		</table>
		<br />
		<table cellspacing="0" cellpadding="0" width="100%" border="0">
				<tbody>
						<tr>
								<td>
										<img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" />
										<br />
										<img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" />
								</td>
						</tr>
				</tbody>
		</table>
		<table class="no-print" cellspacing="0" cellpadding="0" align="right">
				<tbody>
						<tr align="right">
								<td>
										<img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" />
										<br />
										<table cellspacing="0" cellpadding="0" border="0">
												<tbody>
														<tr>
																<td valign="center">
																		<img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" />
																		<br />
																</td>
																<td valign="top" align="right">
																		<a class="fbox" href="http://www-128.ibm.com/developerworks/cn/xml/x-svg/index.html#main">
																				<b>
																						<font color="#996699">回页首</font>
																				</b>
																		</a>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
		<br />
		<br />
		<p>
				<a name="resources">
						<span class="atitle">
								<font face="Arial" size="4">参考资料 </font>
						</span>
				</a>
		</p>
		<ul>
				<li>W3C Scalable Vector Graphics (SVG) <a href="http://www.w3.org/Graphics/SVG/"><font color="#5c81a7">http://www.w3.org/Graphics/SVG/</font></a><br /><br /></li>
				<li>Scalable Vector Graphics (SVG) Specification - <a href="http://www.w3.org/TR/SVG/"><font color="#996699">http://www.w3.org/TR/SVG/</font></a><br /><br /></li>
				<li>Adobe on SVG <a href="http://www.adobe.com/svg"><font color="#5c81a7">http://www.adobe.com/svg</font></a><br /><br /></li>
				<li>SVG in Gnome <a href="http://www.levien.com/svg/"><font color="#5c81a7">http://www.levien.com/svg/</font></a><br /><br /></li>
				<li>
						<a href="http://www.tech.irt.org/articles/js176/">
								<font color="#5c81a7">SVG Brings Fast Vector Graphics to Web</font>
						</a>
						<br />
						<br />
				</li>
				<li>基于XML的SVG应用指南 北京科海培训中心<br /></li>
		</ul>
<img src ="http://www.cppblog.com/Jeff-Chen/aggbug/6387.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Jeff-Chen/" target="_blank">Jeff-Chen</a> 2006-04-27 16:48 <a href="http://www.cppblog.com/Jeff-Chen/archive/2006/04/27/6387.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>个人觉得很经典的一段话来自网络bloger:mars</title><link>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6347.html</link><dc:creator>Jeff-Chen</dc:creator><author>Jeff-Chen</author><pubDate>Wed, 26 Apr 2006 12:06:00 GMT</pubDate><guid>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6347.html</guid><wfw:comment>http://www.cppblog.com/Jeff-Chen/comments/6347.html</wfw:comment><comments>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6347.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Jeff-Chen/comments/commentRss/6347.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Jeff-Chen/services/trackbacks/6347.html</trackback:ping><description><![CDATA[
		<p>一：<br />一篇文章，无需专门的格式说明或者元数据，我们就可以理解其知识，从中获取有关信息，因为文字是基于语义而不是基于表达的，但现有的IS系统或者GIS系统，是完全基于表达，甚至是可视化的。这点大概就是语义Web或者GIS的最初驱动力吧。</p>
		<p>XML之所以可以风靡，是因为他是自描述的，是面向语义而不是表达的（HTML是基于表达的技术），因此，有语义Web的提出。但也许语义Web永远不会到来，来临的是RSS的风靡，或者下一个技术的风靡，最终的结果一致，而且保持了技术和环境的衔接与过渡。</p>
		<p>那么GIS呢，我们也许不会看到语义GIS的出现，但我们是否可以有类似RSS的技术，用于数据交换和互操作。对于研究，一个启示就是要从需求出发，不能“两耳不闻窗外事”。</p>
		<p>RSS风靡的启示是，一项技术，不仅需要需求，而且需要根植于环境。在Semantic Web的研究中，在看好和宣传Web Service的风潮中，RSS却提前流行，一个很重要的原因就是：第一，RSS的简单性；第二，Web是主流，软件已经是附属品或者基础结构；第三，信息量的剧增导致对于信息的获取更依赖于搜索而不是组织，Google的流行是与这种趋势互相作用的结果，RSS更适合于搜索；第四，对于语义Web，Web的概念不仅仅是信息，而且是软件，是用户界面，是用户和计算机进行交互的媒介，语义Web只是看到了Web最初的含义。<br /><br />二：<br /></p>
		<p style="FONT-WEIGHT: bold; FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: 宋体; mso-outline-level: 1">和数据无关的空间分析模块</p>
		<p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"> </p>
		<p style="FONT-SIZE: 12pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体">和数据无关是指空间分析和具体的数据格式无关。现在的空间分析模块都是平台绑定的，说实话，笔者学会了</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma">ESRI</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体">的</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma">MO</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体">下的各类空间检索的实现，换了</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma">MapX</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体">，还要学习和对比，换了</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma">SuperMap Object</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体">，还是要学。</span>
		</p>
		<p style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: Tahoma; mso-outline-level: 1"> </p>
		<p style="FONT-SIZE: 12pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体">有了数据的标准，分析模块可以互换和互操作；在没有事实的标准的情况下，是不是可以使用</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma">XML</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体">格式的</span>
				<span lang="EN-US" style="FONT-FAMILY: Tahoma">GML</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体">，我相信，效率也不会太坏，市场也不会太坏。</span>
				<br />
				<br />三。 对SharpMap 的引介和剖析<br /><br />需要说明的是不同的数据源的GetFeaturesInView方法实现方法是不同的，目前版本的Shape数据源的Provider是使用了空间索引算法，PostGIS数据源则通过PostGIS的空间索引接口来获取需要的数据。<br /><br /><strong>系统效率的好坏，基本上就在于这里，一个是如何获取视图内的空间对象，关键在于空间索引；一个是渲染机制，例如使用DirectX加快渲染。</strong></p>
<img src ="http://www.cppblog.com/Jeff-Chen/aggbug/6347.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Jeff-Chen/" target="_blank">Jeff-Chen</a> 2006-04-26 20:06 <a href="http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6347.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Google 将携手大众，开发新一代汽车导航系统</title><link>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6338.html</link><dc:creator>Jeff-Chen</dc:creator><author>Jeff-Chen</author><pubDate>Wed, 26 Apr 2006 09:52:00 GMT</pubDate><guid>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6338.html</guid><wfw:comment>http://www.cppblog.com/Jeff-Chen/comments/6338.html</wfw:comment><comments>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6338.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Jeff-Chen/comments/commentRss/6338.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Jeff-Chen/services/trackbacks/6338.html</trackback:ping><description><![CDATA[
		<div class="textbox-content" id="textboxContent">
				<p>转自<a href="http://gisattic.cnblogs.com/">linlin</a>，原文：<a href="http://gisattic.cnblogs.com/archive/2006/02/04/325349.html">http://gisattic.cnblogs.com/archive/2006/02/04/325349.html</a></p>
				<p> </p>
				<p>       据说 <a href="http://www.google.com/">Google</a> 将和 <a href="http://www.vwerl.com/">大众电子研究所</a>、<a href="http://www.nvidia.com/page/home.html">nVidia</a> 合作，在现有的 <a href="http://earth.google.com/">Google Earth</a> 基础上，采用最新的3D图形技术，开发新一代汽车导航系统。也许在不久的将来，无论是司机还是乘客，坐在车里面就能通过 Google Earth 轻松了解周围的地理情况，并知道自己所处的位置。<br />        看来Google的胃口还真不小，预计可达上百亿美元的汽车导航市场，可能就此改观。下边是一些截图，让大家先睹为快。<br /><a href="http://www.chunkysalsa.net/uploaded_images/Figure%2011_lr-783819.jpg"><br /><img style="CURSOR: pointer" onclick="javascript:window.open(this.src);" src="http://www.chunkysalsa.net/uploaded_images/Figure%2011_lr-780585.jpg" onload="javascript:if(this.width&gt;500)this.style.width=500;" border="0" /></a><br /><a href="http://www.chunkysalsa.net/uploaded_images/Figure%203_lr-793128.jpg"><img style="CURSOR: pointer" onclick="javascript:window.open(this.src);" src="http://www.chunkysalsa.net/uploaded_images/Figure%203_lr-790993.jpg" onload="javascript:if(this.width&gt;500)this.style.width=500;" border="0" /></a><br /><a href="http://www.chunkysalsa.net/uploaded_images/Figure%202_lr-797311.jpg"><img style="CURSOR: pointer" onclick="javascript:window.open(this.src);" src="http://www.chunkysalsa.net/uploaded_images/Figure%202_lr-794712.jpg" onload="javascript:if(this.width&gt;500)this.style.width=500;" border="0" /></a><br /><a href="http://www.chunkysalsa.net/uploaded_images/Figure%204_lr-701933.jpg"><img style="CURSOR: pointer" onclick="javascript:window.open(this.src);" src="http://www.chunkysalsa.net/uploaded_images/Figure%204_lr-799884.jpg" onload="javascript:if(this.width&gt;500)this.style.width=500;" border="0" /></a><br /><br />原始的新闻链接来自于一下连接，感兴趣的朋友，可自行了解。<br /><a href="http://www.chunkysalsa.net/2006/02/vw-and-google-to-explore-future-nav.html#links">http://www.chunkysalsa.net/2006/02/vw-and-google-to-explore-future-nav.html#links</a><br /><a href="http://gadgets.autoblog.com/2006/02/03/vw-to-use-google-earth-for-the-best-in-navigation-technology/">http://gadgets.autoblog.com/2006/02/03/vw-to-use-google-earth-for-the-best-in-navigation-technology/</a><br /></p>
		</div>
<img src ="http://www.cppblog.com/Jeff-Chen/aggbug/6338.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Jeff-Chen/" target="_blank">Jeff-Chen</a> 2006-04-26 17:52 <a href="http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6338.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GIS专业课程</title><link>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6331.html</link><dc:creator>Jeff-Chen</dc:creator><author>Jeff-Chen</author><pubDate>Wed, 26 Apr 2006 08:56:00 GMT</pubDate><guid>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6331.html</guid><wfw:comment>http://www.cppblog.com/Jeff-Chen/comments/6331.html</wfw:comment><comments>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6331.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Jeff-Chen/comments/commentRss/6331.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Jeff-Chen/services/trackbacks/6331.html</trackback:ping><description><![CDATA[GIS专业课程：<br /><p>*高等数学A<br />线性代数<br />概率统计<br />*大学物理B<br />大学物理实验B<br />微机应用基础B<br />*VB语言程序设计*自然地理学<br />*地图学 <br />*数据库原理<br />*摄影测量学<br />*测量学B<br />*地理信息系统原理<br />*面向对象程序设计及应用<br />*数字化成图原理及应用<br />*遥感原理与应用<br />*数据结构<br />经济地理学<br />DELPHI程序设计<br />*ARCGIS软件基础<br />地籍与房产测量学*计算机图形学<br />测量数据处理<br />专业英语<br />文献检索<br />土地管理学<br />数字图像处理 <br />城市规划原理<br />动态网页设计</p><p>人文地理学<br />城市地理学<br /></p><p>CAD基础<br />Microstation入门与提高<br />微型计算机原理<br />土木工程概论<br />*GIS分析与设计<br />*GPS技术与应用<br />*GIS应用<br />WebGIS概论<br />土地管理信息系统<br />空间数据库<br />资源环境调查与评价<br />数字地球概论<br />GIS数据质量控制<br />GIS流行软件使用<br />软件工程<br />房地产经营与管理<br />三维GIS概论<br />3S集成技术<br />计算机上机实习<br />数据库原理课程设计<br />测量学B实习<br />面向对象程序设计及应用课程设计<br />数字化成图原理及应用实习<br />GPS定位技术与应用实习<br />GIS应用与开发课程设计<br />遥感原理与应用课程设计<br />GIS分析与设计课程设计<br />GIS综合实习<br />毕业设计<br /></p><img src ="http://www.cppblog.com/Jeff-Chen/aggbug/6331.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Jeff-Chen/" target="_blank">Jeff-Chen</a> 2006-04-26 16:56 <a href="http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6331.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是GIS</title><link>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6319.html</link><dc:creator>Jeff-Chen</dc:creator><author>Jeff-Chen</author><pubDate>Wed, 26 Apr 2006 07:03:00 GMT</pubDate><guid>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6319.html</guid><wfw:comment>http://www.cppblog.com/Jeff-Chen/comments/6319.html</wfw:comment><comments>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6319.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/Jeff-Chen/comments/commentRss/6319.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Jeff-Chen/services/trackbacks/6319.html</trackback:ping><description><![CDATA[
		<p>物质世界中的任何地物都被牢牢地打上了时空的烙印。人们的生产和生活中 80%以上的信息和地理空间位置有关。地理信息系统（Geographic Information System, 简称GIS）作为获取、处理、管理和分析地理空间数据的重要工具、技术和学科，近年来得到了广泛关注和迅猛发展。 </p>
		<p>从技术和应用的角度， GIS是解决空间问题的工具、方法和技术；从学科的角度，GIS是在地理学、地图学、测量学和计算机科学等学科基础上发展起来的一门学科，具有独立的学科体系； 从功能上，GIS具有空间数据的获取、存储、现示、编辑、处理、分析、输出和应用等功能；从系统学的角度，GIS具有一定结构和功能，是一个完整的系统。<br /><img style="WIDTH: 500px; CURSOR: pointer" onclick="javascript:window.open(this.src);" src="http://www.3snews.net/blog/uploadfile/200572815533582.GIF" onload="javascript:if(this.width&gt;500)this.style.width=500;" border="0" /></p>
		<p>
				<strong>GIS</strong>
				<span class="word">
						<strong>的应用领域有哪些<br /><br /></strong>
				</span>
				<br />
		</p>
		<p>
		</p>
		<table cellspacing="0" cellpadding="0" width="600" align="center" border="0">
				<tbody>
						<tr>
								<td class="word">
										<p>  地理信息系统在最近的 30多年内取得了惊人的发展，广泛应用于资源调查、环境评估、灾害预测、国土管理、城市规划、邮电通讯、交通运输、军事公安、水利电力、公共设施管理、农林牧业、统计、商业金融等几乎所有领域。 </p>以下地理信息系统的应用领域分别回答了在各自领域内的作用<br /><br /><br />资源管理(<span class="enword">Resource Management</span>)<br /><br /><br />  主要应用于农业和林业领域，解决农业和林业领域各种资源(如土地、森林、草场) 分布、分级、统计、制图等问题。主要回答“定位”和“模式”两类问题。<br /><br /><br />资源配置(<span class="enword">Resource Configuration</span>) <br /><br /><br />  在城市中各种公用设施、救灾减灾中物资的分配、全国范围内能源保障、粮食供 应等到机构的在各地的配置等都是资源配置问题。GIS在这类应用中的目标是保证 资源的最合理配置和发挥最大效益。  <br /><br /><br />城市规划和管理(<span class="enword">Urban Planning and Management</span>)  <br /><br /><br />  空间规划是GIS的一个重要应用领域，城市规划和管理是其中的主要内容。例如， 在大规模城市基础设施建设中如何保证绿地的比例和合理分布、如何保证学校、 公共设施、运动场所、服务设施等能够有最大的服务面(城市资源配置问题)等。 <br /><br /><br />土地信息系统和地籍管理(<span class="enword">Land Information System and Cadastral Applicaiton</span>)  <br /><br /><br />  土地和地籍管理涉及土地使用性质变化、地块轮廓变化、地籍权属关系变化等许 多内容，借助GIS技术可以高效、高质量地完成这些工作。  <br /><br /><br />生态、环境管理与模拟(<span class="enword">Environmental Management and Modeling</span>) <br /><br /><br />  区域生态规划、环境现状评价、环境影响评价、污染物削减分配的决策支持、环 境与区域可持续发展的决策支持、环保设施的管理、环境规划等。  <br /><br /><br />应急响应(<span class="enword">Emergency Response</span>) <br /><br /><br />  解决在发生洪水、战争、核事故等重大自然或人为灾害时，如何安排最佳的人员 撤离路线、并配备相应的运输和保障设施的问题。 <br /><br /><br />地学研究与应用(<span class="enword">Application in GeoScience</span>) <br /><br /><br />  地形分析、流域分析、土地利用研究、经济地理研究、空间决策支持、空间统计 分析、制图等都可以借助地理信息系统工具完成。ArcInfo系统就是一个很好的 地学分析应用软件系统。 <br /><br /><br />商业与市场(<span class="enword">Business and Marketing</span>) <br /><br /><br />  商业设施的建立充分考虑其市场潜力。例如大型商场的建立如果不考虑其他商场 的分布、待建区周围居民区的分布和人数，建成之后就可能无法达到预期的市场 和服务面。有时甚至商场销售的品种和市场定位都必须与待建区的人口结构(年 龄构成、性别构成、文化水平)、消费水平等结合起来考虑。地理信息系统的空 间分析和数据库功能可以解决这些问题。 　 房地产开发和销售过程中也可以利用GIS功能进行决策和分析。 <br /><br /><br />基础设施管理(<span class="enword">Facilities Managemen</span>t)  <br /><br /><br />  城市的地上地下基础设施(电信、自来水、道路交通、天然气管线、排污设施、 电力设施等)广泛分布于城市的各个角落、且这些设施明显具有地理参照特征的。 它们的管理、统计、汇总都可以借助GIS完成，而且可以大大提高工作效率。  <br /><br /><br />选址分析(<span class="enword">Site Selecting Analysis</span>) <br /><br /><br />  根据区域地理环境的特点，综合考虑资源配置、市场潜力、交通条件、地形特征、 环境影响等因素，在区域范围内选择最佳位置，是GIS的一个典型应用领域，充 分体现了GIS的空间分析功能。 <br /><br /><br />网络分析(<span class="enword">Newwork System Analysis</span>) <br /><br /><br />  建立交通网络、地下管线网络等的计算机模型，研究交通流量、进行交通规则、 处理地下管线突发事件(爆管、断路)等应急处理。 　 警务和医疗救护的路径优选、车辆导航等也是GIS网络分析应用的实例。  <br /><br /><br />可视化应用(<span class="enword">Visualization Application</span>)  <br /><br /><br />  以数字地形模型为基础，建立城市、区域、或大型建筑工程、著名风景名胜区的 三维可视化模型，实现多角度浏览，可广泛应用于宣传、城市和区域规划、大型 工程管理和仿真、旅游等领域。  <br /><br /><br />分布式地理信息应用(<span class="enword">Distributed Geographic Information Applicatio</span>n) <br /><br /><br />  随着网络和Internet技术的发展，运行于Intranet或Internet环境下的地理信息 系统应用类型，其目标是实现地理信息的分布式存储和信息共享，以及远程空间 导航等。 </td>
						</tr>
				</tbody>
		</table>
		<p>
				<strong>
				</strong> </p>
		<p>
				<strong>
						<font color="#1111ee">GIS<span class="EN8"><span class="word">和</span></span><span class="enword">GPS</span></font>
				</strong>
				<span class="EN8">
						<span class="word">
								<strong>
										<font color="#1111ee">有什么关系</font>
										<br />
								</strong>
						</span>
				</span>
		</p>
		<p>
		</p>
		<table cellspacing="0" cellpadding="0" width="600" align="center" border="0">
				<tbody>
						<tr>
								<td>
										<p class="word">准确地说，<span class="enword">GPS(Global Positioning System)</span>是美国的一种卫星定位系统(全世界还有其他国家和地区的卫星定位系统，如我国正在研制的“北斗导航定位系统”)。相对于GIS来说，卫星定位系统为更多的人所熟悉，已越来越多地进入人们的生产和生活，如测绘、野外数据采集、车辆导航、旅游等方面。 </p>
										<p class="word">  通过GPS可以获得任意接收点的空间位置坐标数据，还可用于测时、测速。对于GIS来说，GPS提供了一种极为重要的实时、动态、精确获取空间数据的方法，是GIS的重要数据源，GPS大大地拓展了GIS的应用领域和应用方式。而对于GPS来说，GIS是一种重要的空间数据处理、集成和应用工具。二者紧密联系，共同开创和深化更多领域的空间应用。</p>
										<p class="word">
												<span class="enword">GIS</span>
												<span class="word">由哪几部分组成 <br /><br /><br /></span>
										</p>
										<table cellspacing="0" cellpadding="0" width="600" border="0">
												<tbody>
														<tr>
																<td>
																		<p class="word">  从应用的角度，地理信息系统由硬件、软件、数据、人员和方法五部分组成。硬件和软件为地理信息系统建设提供环境；数据是 GIS的重要内容；方法为GIS建设提供解决方案；人员是系统建设中的关键和能动性因素，直接影响和协调其它几个组成部分。<br /><br /></p>
																		<table cellspacing="0" cellpadding="0" width="100" align="center" border="0">
																				<tbody>
																						<tr>
																								<td>
																										<img style="CURSOR: pointer" onclick="javascript:window.open(this.src);" src="http://www.3snews.net/blog/uploadfile/2005728155637916.GIF" onload="javascript:if(this.width&gt;500)this.style.width=500;" border="0" />
																								</td>
																						</tr>
																				</tbody>
																		</table>
																		<br />
																		<p class="word">  硬件主要包括计算机和网络设备，存储设备，数据输入、显示和输出的外围设备等等。 </p>
																		<p class="word">
																				<br />  软件主要包括以下几类： <br />    ——操作系统软件 <br />    ——数据库管理软件 <br />    ——系统开发软件 <br />    ——GIS软件，等等。 <br />  GIS软件的选型，直接影响其它软件的选择，影响系统解决方案，也影响着系统建设周期和效益。 </p>
																		<p class="word">
																				<br />  数据是GIS的重要内容，也是GIS系统的灵魂和生命。数据组织和处理是GIS应用系统建设中的关键环节，涉及许多问题： <br />    ——应该选择何种（或哪些）比例尺的数据？ <br />    ——已有数据现势性如何？ <br />    ——数据精度是否能满足要求？ <br />    ——数据格式是否能被已有的GIS软件集成？ <br />    ——应采用何种方法进行处理和集成？ <br />    ——采用何种方法进行数据的更新和维护，等等。 </p>
																		<p class="word">  方法指系统需要采用何种技术路线，采用何种解决方案来实现系统目标。方法的采用会直接影响系统性能，影响系统的可用性和可维护性。 </p>
																		<p class="word">
																				<br />  人是GIS系统的能动部分。人员的技术水平和组织管理能力是决定系统建设成败的重要因素。系统人员按不同分工有项目经理、项目开发人员、项目数据人员、系统文档撰写和系统测试人员等。各个部分齐心协力、分工协作是GIS系统成功建设的重要保证。 </p>
																		<p>
																				<span class="word">  GIS应用系统建设需要从以上五个方面着手。 </span>
																		</p>
																</td>
														</tr>
												</tbody>
										</table>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.cppblog.com/Jeff-Chen/aggbug/6319.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Jeff-Chen/" target="_blank">Jeff-Chen</a> 2006-04-26 15:03 <a href="http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6319.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MapFile文件</title><link>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6300.html</link><dc:creator>Jeff-Chen</dc:creator><author>Jeff-Chen</author><pubDate>Wed, 26 Apr 2006 03:29:00 GMT</pubDate><guid>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6300.html</guid><wfw:comment>http://www.cppblog.com/Jeff-Chen/comments/6300.html</wfw:comment><comments>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6300.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Jeff-Chen/comments/commentRss/6300.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Jeff-Chen/services/trackbacks/6300.html</trackback:ping><description><![CDATA[Map Object<br />Map Object是MapFile的根对象，其他对象都包含在其中。它属性定义应用程序的大部分参数。Map Object的属性如下：<br />1，DATAPATTERN [正则表达式]<br />该参数定义了由URLs改变DATA参数（如：map_layername_data=...）的表达式。<br />2，DEBUG<br />允许调试。调试的详细结果被放在STDERR（the standard error output），如果在Web Object使用了LOG参数则放在MapServer logfile文件中。<br />3，EXTENT [minx] [miny] [maxx] [maxy]<br />地图边界<br />4，FONTSET [filename]<br />使用得字体文件，如：C:\WINDOWS\Fonts\myfonts.txt。<br />5，IMAGECOLOR [r] [g] [b]<br />设置地图背景颜色。r，g，b分别为红、绿、蓝。<br />6，IMAGEQUALITY [int]<br />JPEG格式输出得质量。更为普遍得做法是在OUTPUTFORMAT 的声明中，在FORMATOPTION 中使用"QUALITY=n" 来说明。<br />7，IMAGETYPE [gif|png|jpeg|wbmp|gtiff|swf|userdefined]<br />输出格式。可选项在OUTPUTFORMAT中定义。<br />8，INTERLACE [on|off]<br />输出图像是否允许交错，缺省下是[on]。更为普遍的做法是在OUTPUTFORMAT的FORMATOPTION中使用 "INTERLACE=ON" 设置。<br />9，NAME [name]<br />由此MapFile文件生成的map，比例，图例图像名前缀。尽量简短。<br />10，RESOLUTION [int]<br />设置输出图像每英寸象素个数，仅对比例有影响。缺省是72。<br />11，SCALE [double]<br />设置地图比例，通常由应用程序设置。<br />12，SHAPEPATH [filename]<br />Shapfile文件夹路径。<br />13，SIZE [x][y]<br />输出图像大小。<br />14，STATUS [on|off]<br />设置地图状态是否被激活。如有时为了仅使用reference map或 scale bar，把此设为off<br />15，SYMBOLSET [filename]<br />使用的标志符号文件。<br />16，TEMPLATEPATTERN [regular expression]<br />该参数定义了由URLs改变TEMPLATE参数（如：map_layername_template=...）的表达式。<br />17，TRANSPARENT [on|off]<br />设置地图背景颜色是否透明，缺省是off.。<br />18，UNITS [feet|inches|kilometers|meters|miles|dd]<br />地图坐标系的单位，用于比例尺，及比例计算。<br />Map Object允许嵌套的对象：PROJECTION，QUERYMAP，REFERENCE，SCALEBAR，SYMBOL，WEB，LAYER，LEGEND。<br /><br /><br />Layer Object<br />Layer Object图层对象与使用的每个图层相对应，一个MapFile允许有50个，可以通过修改源代码改变。在MapFile文件中首先定义的Layer处在地图最底层，最后定义的在地图顶层。Layer Object属性：<br />1， CONNECTIONTYPE [local|sde|ogr|postgis|oraclespatial|wms]<br />连接的数据源，缺省是本地。 <br />2，CONNECTION [string]<br />配置远程数据连接。<br />An SDE 的连接字符串格式：“hostname, instance name, database name, username ，password ”。<br />PostGIS 的连接字符串与PostgreSQL连接相同。格式：“user=nobody password=****** dbname=dbname host=localhost port=5432”。<br />Oracle 连接格式：user/pass[@db]<br />3， DATA [filename]|[sde parameters][postgis table/column][oracle table/column]<br />使用的空间数据文件。并非一定要shapefile文件格式。<br />如果式SDE数据，参数应包含图层名称和geometry column，如"mylayer,shape"。<br />如果式 PostGIS 图层, 参数格式：<br />“&lt;columnname&gt; from &lt;tablename&gt;”，其中“columnname” 是含有geometry objects的<br />Column的名字；"tablename"是使用的geometry data的table名字。<br />如果是Oracle, 参数格式： "shape FROM table" 或 "shape FROM (SELECT statement)" 或更为复杂的Oracle查询。<br />4， DEBUG<br />对Layer Object调试。<br />5， DUMP [true|false]<br />确认MS是否可以返回GML格式数据。当使用 WMS GetFeatureInfo选项是有用，缺省是fault。<br />6，FILTER [string]<br />该字符串保证在Class表达式被检测之前data specific attribute 过滤与spatial 过滤同步，OGR和shapefiles 的字符串设置是一个简单的MS表达式，对于spatial databases 该字符串是一个SQL WHERE 字句。如： FILTER “type='road' and size &lt;2“。<br />7，FILTERITEM [attribute]<br />FILTER expressions使用的项目，仅用于OGR和shapefiles。<br />8，FOOTER [filename]<br />使用的模板文件，仅用与Multiresult query modes。<br />10，GROUP [name]<br />Layer所属的组名。可以对一个组进行操作。 <br />11，HEADER [filename]<br />使用的模板文件仅用于Multiresult query modes。<br />12，LABELANGLEITEM [attribute]<br />属性表中使用的字段名，用于class annotation angles，值应是用度表示。<br />13，LABELCACHE [on|off]<br />指定标记（Labels）在图层绘制时是否被绘制成该图层的特征或者它们先隐藏，在所有图层皆绘制后在显示。缺省是on。只有Label cache激活时，Label 重叠移动，自动布局才可用。<br />14，LABELITEM [attribute]<br />用于 class annotation (如 labeling)的属性表中的字段名。<br />15，LABELMAXSCALE [double]<br />图层标记的最大比例。<br />16，LABELMINSCALE [double]<br />图层标记的最小比例。<br />17，LABELREQUIRES [expression]<br />设置该图层标记是否显示。如：<br />LABELREQUIRES ([orthoquads] != 1)意味着如果有一个叫“orthoquads “处于激活<br />状态，那么该图层不能有标记。表达式（Expression）是一个boolen表达式，如果<br />一图层的Status是on则 [layer name] ＝1，否则[layer name] ＝0。<br />17，LABELSIZEITEM [attribute]<br />用于Class注释尺寸的属性表中的字段名。值必须是以像元为单位。<br />19，MAXFEATURES [integer]<br />指定在当前窗口中绘制该图层的特征最大数量。<br />20，MAXSCALE [double]<br />绘制图层的最大比例。<br />21，METADATA<br />METADATA以END结尾。可以在其中加入任何说明。用于定义OGC WMS的要素。 其中的说明可以被template tags访问，从而增强创建template文件的弹性。如：<br />METADATA title "My layer title"<br />author "Me!" END<br />22，MINSCALE [double]<br />绘制该图层的最小比例。<br />23，NAME [string]<br />图层名称。允许有20个字符。它可以连接mapfile文件和web interfaces。<br />24，OFFSITE [r] [g] [b]<br />设置栅格图层的transparent颜色索引。<br />25，POSTLABELCACHE [true|false]<br />选择true则MS在绘制处于cache中的全部label 后，绘制此图层。缺省是fault。<br />对于增加neatlines 和简单的elements非常有用。<br />26，PROCESSING [string]<br />向图层发送处理指令。不同类型的图层和处理指令的程序支持不同的指令。<br />当前的栅格图像支持（由GDAL处理）：SCALE,BANDS 和DITHER。例如：<br />PROCESSING "SCALE_1=AUTO" PROCESSING "SCALE_2=AUTO" PROCESSING "SCALE_3=AUTO" PROCESSING "BANDS=3,2,1,4"<br />27，REQUIRES [expression]<br />与LABELREQUIRES作用相同。<br />28，SIZEUNITS [pixels|feet|inches|kilometers|meters|miles]<br />设置Class对象的单位缺省是pixels。对simulating buffering由用。<br />29，STATUS [on|off|default]<br />设置该图层的状态。缺省是on。<br />30，STYLEITEM [attribute]<br />用于feature specific styling的字段。设置非常经验化，但前仅用于OGR。 <br />31，SYMBOLSCALE [double]<br />文本或符号显示的比例。允许图层随map的比例发生动态大小变化。如果没有设置那么图层的尺寸一直都不会变化。与MINSIZE和MAXSIZE 有关系。<br />32，TEMPLATE [file|url]<br />作为CLASS TEMPLATE的全局替换。<br />33，TILEINDEX [filename]<br />该图层的索引或tile定义文件，类似与ArcInfo 的库索引，此shapefile文件包含每一个tile的多边行特征。包含tiled数据路径的字段由参数TILEITEM给出。如果参数DATA 含有一个值那么它就被添加到路径的末尾。如果DATA 为空那么路径应含有完整的文件名。<br />34，TILEITEM [attribute]<br />含有tile路径的字段，缺省为“location”。<br />35，TOLERANCE [double]<br />对点查询敏感度。（如 鼠标点击或 map coordinates）。在TOLERANCEUNITS中给出（缺省为3 pixels）。为了限制polygon查找，将polygon容差设为0。.<br />36，TOLERANCEUNITS [pixels|feet|inches|kilometers|meters|miles|dd]<br />TOLERANCE值的单位，缺省为pixels。<br />37，TRANSPARENCY [integer]<br />设置图层的所有像元的transparency 水平。值在0～100之间。100表示不透明，0表示完全透明。<br />38，TRANSFORM [true|false]<br />确认一个图层是否需要从一个地理坐标系向图像坐标系转换。缺省为true。此参数允许创建shapefile为图像坐标系。因此有些特征总是在同一副图的相同位置显示。须注意，图像坐标系的坐标原点在左上角，y轴朝下，x轴朝右。<br />39，TYPE [point|line|polygon|circle|annotation|raster|query]<br />指明数据怎样绘制。无须与shapefile 文件类型一致。例如一个多边形shapefile文件以点图层绘制。但是点shapefile 文件不可以以多边形图层绘制。<br />40，CLASSITEM [attribute]<br />用于Class的字段。<br />Layer Object可以嵌套的对象：Class，FEATURE，PROJECTION。<br /><br /><br />Grid Object<br />Grid Obect定义地图的格网。它是在Layer Object对象中定义的。<br />1， LABELFORMAT [DDMM|DDMMSS] <br />标签格式。“DDMM”是 度、分格式，“DDMMSS” 是 度、分、秒格式。 缺省是小数格式。 2，MINARCS [double]<br />绘制弧段的最小数量。 <br />3，MAXARCS [double]<br />绘制弧段的最大数量。 <br />4，MININTERVAL [double<br />最小间隔数量 <br />5，MAXINTERVAL [double] <br />最大间隔数量 <br />6，MINSUBDIVIDE [double] <br />绘制弧段允许的最少分段。<br />7， MAXSUBDIVIDE [double] <br />绘制弧段允许的最多分段。<br />例子：<br />LAYER<br />NAME "grid"<br />METADATA<br />"DESCRIPTION" "Grid"<br />END<br />TYPE LINE<br />STATUS ON<br />CLASS<br />NAME "Graticule"<br />COLOR 0 0 0<br />LABEL<br />COLOR 255 0 0<br />FONT fritqat<br />TYPE truetype<br />SIZE 8<br />POSITION AUTO <br />PARTIALS FALSE<br />BUFFER 5<br />OUTLINECOLOR 255 255 255 <br />END <br />END<br />PROJECTION<br />"init=epsg:4326"<br />END<br />GRID<br />LABELFORMAT DDMM<br />MAXARCS 10<br />MAXINTERVAL 10<br />MAXSUBDIVIDE 2<br />END<br />END # Layer<br />Grid Object无可嵌套的对象。<br /><br /><br />Scalebar Object<br />Scalebar Object定义比例尺如何创建。但前比例尺字体不支持TrueType字体。比例尺图像的大小在创建之前是未知的，所以在template文件中使用&lt;IMG&gt;标记时，不要指明比例尺图像的大小。<br />1，BACKGROUNDCOLOR [r] [g] [b]<br />比例尺的背景色。不是输出的比例尺图像的背景色。<br />2，COLOR [r] [g] [b]<br />当属性表不被使用时，所有比例尺要素的输出颜色。<br />3，IMAGECOLOR [r] [g] [b]<br />比例尺初始化时颜色。<br />4，INTERLACE [true|false]<br />输出比例尺图像是否允许交错，缺省下是[on]。更为普遍的做法是在OUTPUTFORMAT的FORMATOPTION中使用 "INTERLACE=ON" 设置<br />5，INTERVALS [integer]<br />比例尺间隔数量。缺省为4。<br />6，OUTLINECOLOR [r] [g] [b]<br />各个intervals的轮廓颜色。缺省时-1（比例尺各个部分无轮廓）。<br />7，POSITION [ul|uc|ur|ll|lc|lr]<br />放置比例尺的位置，缺省为lr。<br />8，POSTLABELCACHE [true|false]<br />仅对嵌入的比例尺有用，选择true则MS在绘制处于cache中的全部label 后，嵌入比例尺。缺省是false。<br />9，SIZE [x][y]<br />比例尺的尺寸，以pixel为单位。文本不计算在内。<br />10，STATUS [on|off|embed]<br />确认是否创建比例尺输出图像及是否要被嵌入到一个输出图像。缺省是off.。<br />11，STYLE [integer]<br />选择比例尺式样（style），0或1。<br />12，TRANSPARENT [on|off]<br />设置比例尺背景颜色是否透明，缺省是off.。现在更为流行的做法是在OUTPUTFORMAT 中声明。 <br />13，UNITS [feet|inches|kilometers|meters|miles]<br />比例尺单位，缺省是米。<br />Scalebar Object允许嵌入LABEL对象。<br /><br /><br />Legend Object<br />定义一个图例。图例的内容从layer的class中获得。在class的name属性中设置使用的lengend即可。图例的大小在创建之前是未知的，所以在template文件中使用&lt;IMG&gt;标记时，不要指明图例的大小。<br />1，IMAGECOLOR [r] [g] [b]<br />图例初始化时颜色。<br />2，INTERLACE [on|off]<br />输出图像是否允许交错，缺省下是[on]。更为普遍的做法是在OUTPUTFORMAT的FORMATOPTION中使用 "INTERLACE=ON" 设置。<br />3，OUTLINECOLOR [r] [g] [b]<br />图例中符号轮廓颜色。<br />4，POSITION [ul|uc|ur|ll|lc|lr]<br />放置图例的位置，缺省为lr。<br />5，KEYSIZE [x][y]<br />图例符号大小。缺省是：20 10。<br />6，KEYSPACING [x][y]<br />文字距离：x；图例中符号的距离 ：y ；以pixel为单位。缺省为5 5。<br />7，POSTLABELCACHE [true|false]<br />选择true则MS在绘制处于cache中的全部label 后，绘制此图例。缺省是fault。<br />对于增加neatlines 和简单的elements非常有用。<br />8，STATUS [on|off|embed]<br />决定图例输出图像是否创建。<br />9，TRANSPARENT [on|off]<br />确认图例背景颜色是否透明。更为普遍的做法是在OUTPUTFORMAT 中声明， 缺省为off。<br />Lengend Object允许嵌套的对象：LABEL。<br /><br /><br />Projection Object<br />Projection Object设置投影。必须定义两种投影对象。一种用于说明输出图像投影 （在 MAP object中定义） ，另一种用于各个图层（在 LAYER objects种定义) 投影描述。Projection objects含有一系列 PROJ.4 关键字。例如：UTM zone 15, NAD83投影描述成：<br />PROJECTION<br />"proj=utm"<br />"ellps=GRS80"<br />"zone=15"<br />"north"<br />"no_defs"<br />END<br />地理坐标系定义：<br />PROJECTION<br />"proj=latlong"<br />END<br />详细资料：PROJ.4 user guides。<br /><br /><br />Label Object<br />Label Object用于定义注释特征的文本标签，或者通过使用TrueType 作为symbols用。Label Object的属性：<br />1， ANGLE [double]<br />值用角度制表示。指示标签的角度。对于线图层可以使用AUTO值。<br />2， ANTIALIAS [true|false]<br />确认标签中的文本是否可以别名。True为不允许别名。注意需要多一些的colors并会导致输出图像轻微的变大。<br />3，BACKGROUNDCOLOR [r] [g] [b]<br />缺省为Off 。<br />4，BACKGROUNDSHADOWCOLOR [r] [g] [b]<br />矩形背景的颜色。缺省为Off。<br />5，BACKGROUNDSHADOWSIZE [x][y]<br />缺省为1。<br />6，BUFFER [integer]<br />在cached label周围填充像元。对保持文本周围的空间以增强可读性有用。缺省为0。<br />7，COLOR [r] [g] [b]<br />文本颜色。<br />8，FONT [name]<br />在Map Object的 FONTSET文件中定义的字体别名。<br />9，FORCE [true|false]<br />强制对一个特征类（Class）进行标记，而无视标签冲突。仅对cached labels有效。缺省false。<br />10，MAXSIZE [integer]<br />字体最大显示尺寸。缺省为256。<br />11，MINDISTANCE [integer]<br />复制一个label产生的label与被复制的label之间的最小距离。值为pixels。<br />12，MINFEATURESIZE [integer|auto]<br />被标记特征的最小尺寸，以pixels为单位，仅对cached labels有效。对线数据是长度。对多边形是最小面积。 如果选“Auto”则 MapServer 仅显示那些特征的大小比它们的标记大的多的标签。<br />13，MINSIZE [integer]<br />字体显示的最小值，缺省为4。 <br />14，OFFSET [x][y]<br />单位为pixels。坐标原点在左下角。<br />15，OUTLINECOLOR [r] [g] [b]<br />文本轮廓颜色。<br />16，PARTIALS [true|false]<br />确认文本是否可以超出map边缘。缺省是true。<br />17，POSITION [ul|uc|ur|cl|cc|cr|ll|lc|lr|auto]<br />Label的位置。首字母是“Y”位置，第二个为“X”位置。“Auto“告知MapServer计算该label的不会与其他label相冲突的位置。<br />18，SHADOWCOLOR [r] [g] [b]<br />阴影颜色。<br />19，SHADOWSIZE [x][y]<br />阴影大小。<br />20，SIZE [integer]|[tiny|small|medium|large|giant]<br />文本大小。<br />21，TYPE [bitmap|truetype]<br />使用字体类型。<br />22，WRAP [character]<br />文本末尾出现的字符。<br />Label中无嵌套对象。<br /><br /><br />Class Object<br />Class Object定义一个给定的Layer专题类别，每个图层至少有一个类别。在Layer Object中的ClassItem设置分类的项目。如一个公路图层，可以根据公路的级别（ClassItem）分为国道，一级公路，二级公路等。其属性如下：<br />1，BACKGROUNDCOLOR [r] [g] [b]<br />不透明符号颜色。<br />2，COLOR [r] [g] [b]<br />特征显示的颜色。<br />3，DEBUG<br />与map DEBUG的意义相似。<br />4，EXPRESSION [string]<br />将string与ClassItem比较，以确定Class。<br />有三种表达式：字符串，正则表达式， 逻辑表达式。如果没有给出string，那么所有特征都归在此Class中。<br />字符串对大小写敏感，易于快速处理。没有转义字符。<br />正则表达式需要用 /regex/来定义。不须引用。<br />逻辑表达式允许基于一个或更多的属性建立相当复杂的测试，也因此仅对shapefile文件有效。逻辑表达式以“(expression)”形式定义。用到的属性须加以[],即：“[ATTRIBUTE]”。注意属性值大小写敏感并且要与shapefile文件中的字段一致。例如：<br />EXPRESSION ([POPULATION] &gt; 50000 AND '[LANGUAGE]' eq 'FRENCH') <br />逻辑表达式允许操作符： =,&gt;,&lt;,&lt;=,&gt;=,=,or,lt,gt,ge,le,eq。其处理速度要慢。<br />字符串和正则表达式都是以layer中classitem为分类依据的。同一个layer可以同时有使用这三种表达式的class。<br />5，MAXSIZE [integer]<br />绘制一个符号的最大尺寸，以pixel为单位，缺省为50。<br />6，MINSIZE [integer]<br />绘制一个符号的最小尺寸，以pixel为单位，缺省为0。<br />7，NAME [string]<br />使用此Class的图例（Lengend）名称。如果没有设置，则此class不会显示在图例中。<br />8，OUTLINECOLOR [r] [g] [b]<br />多边形符号轮廓的颜色，线符号不支持。<br />9，SIZE [integer]<br />符号的高度，以pixel为单位。 仅比例尺符号使用。缺省为1。<br />10，SYMBOL [integer|string]<br />设置使用的符号。String为定义Symbole文件中的符号名称。Integer是符号索引值。缺省是0，意味着：a single pixel，single width line， 或 solid polygon fill，取决于layer类型。<br />11，TEMPLATE [filename]<br />使用的template的文件。<br />12，TEXT [string]<br />该class使用的label的静态文本。 它的值超出LABELTIEM。字符串可以使用（）定义。它允许整合多个属性到一个label。例如：（[FIRSTNAME],[LASTNAME])。<br /><br /><br />Class Object允许定义两个symbol。第二个在上。使用如下属性：<br />OVERLAYBACKGROUNDCOLOR<br />OVERLAYCOLOR<br />OVERLAYOUTLINECOLOR<br />OVERLAYSIZE<br />OVERLAYMINSIZE<br />OVERLAYMAXSIZE<br />OVERLAYSYMBOL<br />Class Object允许嵌套的对象：JOIN，LABEL，STYLE。<br /><br /><br />Feature Object<br />定义layer的内置特征。当创建一个新layer不大可能或太过于复杂的情形下可以使用内置的特征解决问题。内置特征也可以通过url或表单来创建。<br />1，POINTS<br />一组x、y坐标对。以END结束。例如：<br />POINTS <br />1 1 50 <br />50 1 <br />50 1 1<br />END<br />注意对于多边形layer起点更终点应相同。<br />2，TEXT [string]<br />标记特征的文本。<br />Feature Object无可以嵌套对象。<br /><br /><br />Join Object<br />Join Object定义如何处理join。Join Object嵌套在其他查询对象中。<br />1，FROM [item]<br />Shapefile中的join字段。<br />2，NAME [string]<br />该属性是强制的。Join的名字。<br />3，TABLE [file]<br />Join的XBase 文件的名字（DBF, 必须是完整路径) <br />4，TEMPLATE [filename]<br />使用的Template文件。Template文件对每个记录仅处理一次，且仅包含要join的属性表中的字段的替换变量。<br />5，TO [item]<br />要join的属性表中的字段。<br />6，TYPE [multiple|single]<br />Join的类型，缺省为single （如：一对一）。<br />Join Object无可嵌套对象。<br /><br /><br />Style Object<br />Style Object配置符号参数。一个Class可以有多个Style object。也就有多种style。在MS4.0版本中引入此对象。它的目的是为了将逻辑与显示相分离。它是定义对象，特别是class外观的新方法。它的属性及其意义与Class中的同名属性意义相同。<br />1，ANTIALIAS [true|false]<br />是否允许TrueType 字体别名，true为不允许。<br />2，BACKGROUNDCOLOR [r] [g] [b]<br />不透明符号的颜色。<br />3，COLOR [r] [g] [b]<br />绘制特征的颜色。<br />4，MAXSIZE [integer]<br />绘制符号的最大尺寸，以pixel为单位。缺省为50。<br />5，MINSIZE [integer]<br />绘制符号的最小尺寸，以pixel为单位。缺省为0。<br />6，OFFSET [x][y]<br />Offset values for shadows, hollow symbols, etc ...<br />7，OUTLINECOLOR [r] [g] [b]<br />多边形符号轮廓的颜色，线符号不支持。<br />8，SIZE [integer]<br />符号的高度，以pixel为单位。 仅比例尺符号使用。缺省为1。<br />9，SYMBOL [integer|string]<br />设置使用的符号。String为定义Symbole文件中的符号名称。Integer是符号索引值。缺省是0，意味着：a single pixel，single width line， 或 solid polygon fill，取决于layer类型。<br />Style Object无可嵌套对象。<br /><br /><br />Symbology Reference<br />Symbol 定义可以包含在MapFile中；更普遍的是在独立文件中，并通过在Map Object中使用SYMBOLSET 引用。在独立文件中设置Symbol，可以增强可重用性。MapServer有三种symbol类型：Markers，Shadesets和Lines。对于点符号，symbol 0 是单个像元。对于阴影 (如多边形填充) symbol 0是一个实填充。对于线符号，symbol 0表示只有一个像元宽的线。在Symbol中不包含颜色定义，颜色定义在Class Object中。每个文件最多允许定义64种符号。 可以通过修改源文件mapsymbol.h中的MS_MAXSYMBOLS 的值来设置允许定义的最多符号数。<br />语法：<br />1，ANTIALIAS [true|false]<br />是否允许TrueType fonts别名。True为不允许。<br />2，CHARACTER [char]<br />单个字符，用来对TrueType 中的字符引用。需要算出从键盘字符到字体字符的映象。<br />3，FILLED [true|false]<br />以用户定义的颜色（在Class Object中定义）填充符号。对于Markers 类型的符号，如果 OUTLINECOLOR 被指定，那么轮廓就以用户定义的颜色显示。<br />4，FONT [string]<br />在Map Object的 FONTSET文件中定义的字体别名。<br />5，GAP [int]<br />以像元为单位。对TrueType 线，定义符号之间的距离。<br />6，IMAGE [string]<br />GIF或PNG图像，用作marker 符号或象素映射符号刷。<br />7，NAME [string]<br />别名。即在CLASS objects的SYMBOL的属性值。<br />8，POINTS [x y] [x y] ... END<br />这些点定义矢量符号，或定义x，y半径或椭圆形。坐标以像元为单位。定义了符号缺省大小。You can create non-contiguous paths by inserting negative coordinates at the appropriate place。其中x，y不等表示椭圆，相等即为园。<br />9，STYLE [num on] [num off] [num on] ... END<br />定义一个dash style 或 pattern.<br />10，TRANSPARENT [color index]<br />对输入的GIF 图像（用于pixmap symbols）设置透明色。或确认是否所有的阴影符号都要有个透明的背景。缺省情况下符号背景色与所属图像颜色相同。<br />11，TYPE [vector|ellipse|pixmap|truetype|simple]<br />Vector：a simple drawing 被用于定义符号形状。<br />ellipse:：radius values in the x and y directions 定义一个椭圆。<br />Pixmap：一个用户支持的GIF图像作为符号用。<br />Truetype：TrueType font to use as defined in the FONTSET。<br />例子：<br />Example 3. Dashed Line<br /><br />SYMBOL<br />NAME 'dashed1'<br />TYPE ELLIPSE<br />POINTS 1 1 END<br />FILLED true<br />STYLE 10 5 5 10 END<br />END<br /><br />This creates a dashed line with 10 pixels on, 5 off, 5 on, 10 off ...<br /><br />Example 4. TrueType font marker symbol<br /><br />SYMBOL<br />NAME "natcap"<br />TYPE TRUETYPE<br />FONT geo<br />FILLED true<br />ANTIALIAS true<br />CHARACTER "r"<br />END<br /><br />This symbol is a star, used to represent the national capital, hence the name. The font name in defined in the FONTSET file. The code number "114" varies, you can use MS Windows' character map to figure it out, or guestimate.<br /><br /><br />Example 5. Vector triangle marker symbol<br /><br />SYMBOL<br />NAME "triangle"<br />TYPE vector<br />POINTS<br />0 4<br />2 0<br />4 4<br />0 4<br />END<br />END<br /><br />This is fairly straight forward. Note that to have 3 sides you need 4 points, hence the first and last points are identical.<br /><br />Example 6. Non-contiguous vector marker symbol (Cross)<br /><br />SYMBOL<br />NAME "cross"<br />TYPE vector<br />POINTS<br />2 0<br />2 4<br />-99 -99<br />0 2<br />4 2<br />END <br />END<br /><br />This example draws a cross, that is 2 lines (vectors) that are not connected end-to-end (Like the triangle in the previous example). The negative values separate the two.<br /><br /><br />Example 7. Circle vector symbol<br /><br />SYMBOL<br />NAME "circle"<br />TYPE ellipse<br />FILLED true<br />POINTS<br />1 1<br />END<br />END<br /><br />A simple filled circle. Using non-equal values for the point will give you an actual ellipse.<br /><br />Example 8. Downward diagonal fill<br /><br />SYMBOL <br />NAME "downwarddiagonalfill"<br />TYPE vector<br />TRANSPARENT 0<br />POINTS<br />0 1<br />1 0<br />END <br />END<br /><br /><br />Web Object<br />Web Object定义如何处理web接口。<br />1， EMPTY [url]<br />如果用户查询失败，将连接此URL；如果没有定义则用户进入ERROR [url]。<br />2，ERROR [url]<br />3，FOOTER [filename]<br />使用的Footer模板文件，仅在Multiresult query 模式下有效。<br />4，HEADER [filename]<br />使用的Header模板文件，仅在Multiresult query 模式下有效。<br />5，IMAGEPATH [path]<br />存储临时文件和图像的路径。根据操作系统不同以“\”“/”结尾。<br />6，IMAGEURL [path]<br />配置IMAGEPATH的URL访问路径。该URL 将引导浏览器从IMAGEPATH中获取输出图像。<br />7，LOG [filename]<br />记录MapServer服务。<br />8，MAXSCALE [double]<br />web交互界面有效的最大尺寸。如果用户输入的页面尺寸请求超过Map Object中定义的最大尺寸，则 MapServer 就以这个尺寸响应用户请求；即输出图像。对防止用户过分放大图像非常有用。<br />9，MAXTEMPLATE [file|url]<br />Template to be used if above the maximum scale for the app, useful for nesting apps.<br />10，METADATA<br />METADATA以END结尾。可以在其中加入任何说明。用于定义OGC WMS的要素。 其中的说明可以被template tags访问，从而增强创建template文件的弹性。如：<br />METADATA<br />title "My layer title"<br />author "Me!"<br />END<br />11，MINSCALE [double]<br />web交互界面有效的最小尺寸。如果用户输入的页面尺寸请求小于Map Object中定义的最小尺寸，则 MapServer 就以这个尺寸响应用户请求；即输出图像。对防止用户过分缩小图像非常有用。<br />12，MINTEMPLATE<br />Template to be used if above the minimum scale for the app, useful for nesting apps.<br />13，TEMPLATE [filename|url]<br />使用的交互界面template文件。<br />Web Object无可嵌入的对象。<br /><br /><br />Reference Map Object<br />Reference Map Object定义参照地图如何创立。支持三种参照地图类型。参照地图最普遍的用法是做为map的观察窗口。可以利用参照地图对查询结果进行观察。当点查询发生时，会在输出Reference Map中产生一个点符号，以指示被查询的位置。区域查询就在Reference Map 中产生一个方框，以指示查询区域。特征查询就在Reference Map显示查询的特征。总之，Reference Map可以视为查询的观察窗口。<br />1，COLOR [r] [g] [b]<br />观察窗口的颜色。Set any component to -1 for no fill. 缺省为red。<br />2，EXTENT [minx][miny][maxx][maxy]<br />观察窗口（Reference Map图像）的边界。<br />3，IMAGE [filename]<br />Reference图像的完整路径。必须是一个GIF格式文件。<br />4，MARKER [integer|string]<br />指定symbol文件中使用的符号，当观察窗口时用来显示。缺省为：crosshair。<br />5，MARKERSIZE [integer]<br />定义MARKER中的显示符号的尺寸。<br />6，MINBOXSIZE [integer]<br />如果观察窗口的宽度或长度小于此处的integer，则观察窗口按照MARKER 属性配置来显示。<br />7，MAXBOXSIZE [integer]<br />如果观察窗口的宽度或长度小于此处的integer，则观察窗口不显示。<br />8，OUTLINECOLOR [r] [g] [b]<br />观察窗口的轮廓颜色。Set any component to -1 for no outline.<br />9，SIZE [x][y]<br />Reference Map图像的尺寸，以pixel为单位。<br />10，STATUS [on|off]<br />确认是否创建Reference Map，缺省是off。<br />Reference Map Object无可嵌套的对象。<br /><br /><br />QueryMap Object<br />QueryMap Object定义了查询结果（map）的生成机制。<br />1，COLOR [r] [g] [b]<br />要增强显示的特征颜色，缺省为黄色。 <br />2，SIZE [x][y]<br />地图大小，以pixel为单位。缺省值为Map Object中的size。 <br />3，STATUS [on|off]<br />确认查询结果map是否要绘制。<br />4，STYLE [normal|hilite|selected]<br />设置选中的特征如何显示。没有被查询的layer照常显示。<br />Normal：绘制layer的所有特征。<br />Hilite：根据1，COLOR属性值绘制被选中的特征。没有被选中的特征照常绘制。 <br />Selected：仅照常绘制选中的特征。<br />这里的“照常”是指根据layer中配置的意思。<br />QueryMap Object无可嵌套的对象。<br /><br /><br />OutputFormat Object<br />OutputFormat Object对输出格式定义。一个mapfile文件可以有一种，或多种输出格式，都是通过OutputFormat Object定义的，一个OutputFormat Object定义一种输出格式。如：PNG, GIF, JPEG, GeoTIFF and Flash (SWF)。如果在mapfile种没有定义OutputFormat Object则一下OutputFormat Object定义是隐含的。 <br />GeoTIFF 格式由GDAL 支持，Flash (SWF) 由 MING library支持。<br />OUTPUTFORMAT<br />NAME gif<br />DRIVER "GD/GIF"<br />MIMETYPE "image/gif"<br />IMAGEMODE PC256<br />EXTENSION "gif"<br />END<br />OUTPUTFORMAT<br />NAME png<br />DRIVER "GD/PNG"<br />MIMETYPE "image/png"<br />IMAGEMODE PC256<br />EXTENSION "png"<br />END<br />OUTPUTFORMAT<br />NAME jpeg<br />DRIVER "GD/JPEG"<br />MIMETYPE "image/jpeg"<br />IMAGEMODE RGB<br />EXTENSION "jpg"<br />END<br />OUTPUTFORMAT<br />NAME wbmp<br />DRIVER "GD/WBMP"<br />MIMETYPE "image/wbmp"<br />IMAGEMODE PC256<br />EXTENSION "wbmp"<br />END<br />OUTPUTFORMAT<br />NAME swf<br />DRIVER "SWF"<br />MIMETYPE "application/x-shockwave-flash"<br />EXTENSION "swf"<br />IMAGEMODE PC256<br />FORMATOPTION "OUTPUT_MOVIE=SINGLE"<br />END<br />OUTPUTFORMAT<br />NAME GTiff<br />DRIVER "GDAL/GTiff"<br />MIMETYPE "image/tiff"<br />IMAGEMODE RGB<br />EXTENSION "tif"<br />END<br />OutputFormat Object的属性如下：<br />1，NAME [name]<br />如：PNG, GIF, JPEG, GeoTIFF等。<br />2，DRIVER [name]<br />支持产生此输出格式的程序（驱动程序）。如果驱动程序支持多种格式在书写时加上“/格式名”如“GD/Gif”，“GD/PNG”，“GD/WBMP”，“GD/JPEG”。GDAL和GD 都支持PNG, JPEG 和GIF输出格式。<br />3，IMAGEMODE [PC256/RGB/RGBA/INT16/FLOAT32]<br />选择输出图像的样式。不是所有输出格式都支持所有可选择样式。如： GD/GIF 仅支持PC256。<br />PC256：支持256色 (traditional MapServer mode)<br />RGB：24位Red/Green/Blue mode。支持所有颜色，当不支持透明。<br />RGBA：32位 Red/Green/Blue/Alpha mode。支持所有颜色，支持alpha基础的透明。<br />INT16：Render one band of data in 16 bit integer depth。仅对RASTER layers (through GDAL) 和WMS layers 有效<br />FLOAT32： Render one band of data in 32bit floating point depth。仅对RASTER layers (through GDAL) 和WMS layers 有效。<br />4，MIMETYPE [type]<br />指定给web的mime文件类型 (optional)。<br />5，EXTENSION [type]<br />创建该mime文件的边界 (optional)。<br />6，TRANSPARENT [ON/OFF]<br />指示该输出格式文件是否支持透明。透明对IMAGEMODE RGB 输出格式不支持。<br />7，FORMATOPTION [option]<br />提供一个驱动程序或或format specific option。零个或多个 FORMATOPTION 声明可以OUTPUTFORMAT 中声明（可选）。<br />GD/JPEG: The "QUALITY=n" option may be used to set the quality of jpeg produced (value from 0-100)。<br />GD/PNG：The "INTERLACE=[ON/OFF]" option may be used to turn interlacing on or off。<br />GD/GIF：The "INTERLACE=[ON/OFF]" option may be used to turn interlacing on or off。<br />GDAL/Gtiff…Supports….the…TILED=YES,BLOCKXSIZE=n,BLOCKYSIZE=n INTERLEAVE=[PIXEL/BAND] and COMPRESS=[NONE,PACKBITS,JPEG,LZW,DEFLATE] format specific options。<br />GDAL/*：All FORMATOPTIONs are passed onto the GDAL create function. Options supported by GDAL are described in the detailed documentation for each GDAL format。<img src ="http://www.cppblog.com/Jeff-Chen/aggbug/6300.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Jeff-Chen/" target="_blank">Jeff-Chen</a> 2006-04-26 11:29 <a href="http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6300.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ERSI Q&amp;A For Some Common Questions</title><link>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6298.html</link><dc:creator>Jeff-Chen</dc:creator><author>Jeff-Chen</author><pubDate>Wed, 26 Apr 2006 03:21:00 GMT</pubDate><guid>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6298.html</guid><wfw:comment>http://www.cppblog.com/Jeff-Chen/comments/6298.html</wfw:comment><comments>http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6298.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/Jeff-Chen/comments/commentRss/6298.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/Jeff-Chen/services/trackbacks/6298.html</trackback:ping><description><![CDATA[
		<table class="hi" cellspacing="0" cellpadding="0" width="557" border="0">
				<tbody>
						<tr>
								<td width="40" height="33">
								</td>
								<td valign="bottom" width="481">
										<strong>
												<font color="#1577b7" size="4">
														<strong>
																<span class="style2">
																		<strong>
																				<span class="style2">
																						<span class="style2">
																								<font face="Verdana">常见问解答</font>
																						</span>
																				</span>
																		</strong>
																</span>
														</strong>
												</font>
										</strong>
								</td>
						</tr>
						<tr>
								<td height="0">
								</td>
								<td bgcolor="#1577b7" height="0">
										<img height="1" src="http://www.esrichina-bj.cn/images/spacer.gif" width="1" />
								</td>
						</tr>
				</tbody>
		</table>
		<table height="390" cellspacing="0" cellpadding="0" width="561" border="0">
				<tbody>
						<tr>
								<td width="40" height="390">
										<div align="left">
										</div>
								</td>
								<td class="hi" height="40">
										<ol>
												<br />
												<li>
														<strong class="hi">
																<a href="http://www.esrichina-bj.cn/produce/ESRI/answer.htm#ESRI对哪些标准感兴趣">
																		<font color="#002c99">ESRI对哪些标准感兴趣？</font>
																</a>
														</strong>
												</li>
												<li>
														<strong>
																<a href="http://www.esrichina-bj.cn/produce/ESRI/answer.htm#ESRI支持标准吗">
																		<font color="#002c99">ESRI支持ISO TC 211标准吗？</font>
																</a>
														</strong>
												</li>
												<li>
														<strong>
																<a href="http://www.esrichina-bj.cn/produce/ESRI/answer.htm#什么是OpenGIS协会">
																		<font color="#002c99">什么是Open GIS协会？</font>
																</a>
														</strong>
												</li>
												<li>
														<strong class="hi">
																<a href="http://www.esrichina-bj.cn/produce/ESRI/answer.htm#ESRI执行哪些OGC规范">
																		<font color="#002c99">ESRI执行哪些OGC规范？</font>
																</a>
														</strong>
												</li>
												<li>
														<strong class="hi">
																<a href="http://www.esrichina-bj.cn/produce/ESRI/answer.htm#什么是OGCWeb地图服务">
																		<font color="#002c99">什么是OGC Web地图服务？</font>
																</a>
														</strong>
												</li>
												<li>
														<strong class="hi">
																<a href="http://www.esrichina-bj.cn/produce/ESRI/answer.htm#什么是OGCWeb要素服务">
																		<font color="#002c99">什么是OGC Web要素服务？</font>
																</a>
														</strong>
												</li>
												<li>
														<strong class="hi">
																<a href="http://www.esrichina-bj.cn/produce/ESRI/answer.htm#可以下载这些连接器吗">
																		<font color="#002c99">可以下载这些连接器吗？</font>
																</a>
														</strong>
												</li>
												<li>
														<strong class="hi">
																<a href="http://www.esrichina-bj.cn/produce/ESRI/answer.htm#什么是LBS">
																		<font color="#002c99">什么是LBS？</font>
																</a>
														</strong>
												</li>
												<li>
														<strong class="hi">
																<a href="http://www.esrichina-bj.cn/produce/ESRI/answer.htm#什么是OpenLS">
																		<font color="#002c99">什么是OpenLS？</font>
																</a>
														</strong>
												</li>
												<li>
														<strong class="hi">
																<a href="http://www.esrichina-bj.cn/produce/ESRI/answer.htm#ESRI用什么技术执行LBS">
																		<font color="#002c99">ESRI用什么技术执行LBS？</font>
																</a>
														</strong>
												</li>
												<li>
														<strong class="hi">
																<a href="http://www.esrichina-bj.cn/produce/ESRI/answer.htm#ESRI支持GML吗">
																		<font color="#002c99">ESRI支持GML吗？</font>
																</a>
														</strong>
												</li>
										</ol>
										<p> </p>
										<p name="ESRI对哪些标准感兴趣">
												<strong class="hi">
														<a name="ESRI对哪些标准感兴趣">
														</a>1. ESRI对哪些标准感兴趣？</strong>
										</p>
										<p>ESRI对所有标准都感兴趣，将会有助于用户成功的完成日复一日的工作。ESRI投入大量人力着手发展开放标准的每个阶段，包括创建标准，评论标准和把标准融入产品中。ESRI也和大量的标准组织进行合作，并直接参与工业标准的创建，评论和介绍。</p>
										<p>ESRI参与各个级别标准组织：国家级，世界级，地域级和特定行业。例如，ESRI产品满足美国国防和NATO标准，美国政府标准如空间数据转移标准(SDTS)，联邦地理数据委员会(FGDC)内容标准以及国际标准如国际标准化组织(ISO)元数据标准。此外，ESRI使用Internet标准，如XML, SOAP, 和 UDDI，贯穿ESRI产品和解决方案。</p>
										<p id="ESRI支持标准吗" name="ESRI支持标准吗">
												<strong class="hi">
														<a id="ESRI支持标准吗" name="ESRI支持标准吗">
														</a>2. ESRI支持ISO TC 211标准吗？</strong>
										</p>
										<p>ISO TC 211是负责地理信息和地学的国际标准化组织(ISO)技术委员会。ISO TC 211已经开发了将近40个工作条款，范围从标准到报告，参考模型，指南，其它工作条款指导方针。ESRI在其中的某些项目中起着领导作用，作为项目负责人或标准编者。</p>
										<p>ESRI将会执行大多数ISO TC 211标准，但会主要集中在客户需要的标准上。目前，ESRI正执行ISO FDIS 19115 Metadata ，ISO FDIS 19125 Part 1 和 2 - Simple Features SQL。ESRI在开发产品和服务时也会使用这些标准作为参考。</p>
										<p>ISO TC 211 标准互相参考，在这些标准之间存在依赖性。例如，执行ISO 19115时，也使用ISO 19103－概念模式语言，ISO 19109－应用模式规则，ISO 19111－坐标空间参考，ISO 19113－质量原则，ISO 19114－质量评估过程。执行ISO 19125，我们也就执行了部分ISO 19107－空间模式。</p>
										<p>到目前为止，对这些ISO标准没有正式一致测试。目前，ESRI使用标准中的一致条款作为执行指导。</p>
										<p name="什么是OpenGIS协会">
												<strong class="hi">
														<a name="什么是OpenGIS协会">
														</a>3. 什么是Open GIS协会？ </strong>
										</p>
										<p>Open GIS协会(OCG)由230多个公司政府机构和大学组成的国际工业协会，目的是增强空间信息和位置技术的互操作性。OGC的任务是陈述空间界面规范，该规范对全球是公开可用的。由OpenGIS规范定义的开放界面和协议支持互操作的解决方案，在地理方面能使用Web、无线和基于位置服务(LBS)，和主流信息技术。</p>
										<p>ESRI是Open GIS协会的主要成员。主要成员意味着ESRI在OGC技术委员会和OGC规划委员会参与并投票。</p>
										<p name="ESRI执行哪些OGC规范">
												<strong class="hi">
														<a name="ESRI执行哪些OGC规范">
														</a>4. ESRI执行哪些OGC规范？</strong>
										</p>
										<p>ESRI参加多数OGC互操作程序，主动参与规范发展。随着规范在发展，ESRI在测试基础环境下开发原型。一旦规范成熟，ESRI执行OGC规范，会给使用它的核心软件产品带来最大的利益。</p>
										<p>到目前为止，ESRI已执行OGC简单要素访问规范(在ArcSDE和ArcGIS)，OGC目录服务规范(在ArcIMS和元数据资源管理器)，OGC Web绘图规范(在ArcIMS和ArcExplorer)，OGC Web要素规范(在ArcIMS和ArcExplorer)，和一套开放位置服务(OpenLS)规范为基于位置服务提供解决方案。 </p>
										<p name="什么是OGCWeb地图服务">
												<strong class="hi">
														<a name="什么是OGCWeb地图服务">
														</a>5. 什么是OGC Web地图服务？</strong>
										</p>
										<p>ESRI使用OGC Web地图服务连接器，使ArcIMS提供Web地图服务，该服务坚持OpenGIS Web地图服务执行规范。</p>
										<p>OGC WMS连接器能：</p>
										<p>· 生成地理参考数据地图</p>
										<p>· 以影像格式渲染地图，如PNG，GIF或JPEG。</p>
										<p>· 为用户创建标准方法请求Web上的地图</p>
										<p>· 为服务器创建标准方法描述数据所有</p>
										<p name="什么是OGCWeb要素服务">
												<strong class="hi">
														<a name="什么是OGCWeb要素服务">
														</a>6. 什么是OGC Web要素服务？</strong>
										</p>
										<p>ESRI使用OGC Web要素服务(WFS)连接器，使ArcIMS提供Web要素服务，该服务执行OpenGIS Web要素服务执行规范。</p>
										<p>OGC WFS连接器能 </p>
										<p>· 提供访问地理要素(矢量)数据</p>
										<p>· 支持查询请求</p>
										<p>· 为数据处理操作执行接口 </p>
										<p name="可以下载这些连接器吗">
												<strong class="hi">
														<a name="可以下载这些连接器吗">
														</a>7. 可以下载这些连接器吗？</strong>
										</p>
										<p>WMS and WFS 连接器可从<a href="http://www.esri.com/software/opengis/interopdownload.html" target="_blank"><font color="#002c99">ESRI互操作技术下载中心</font></a>下载。</p>
										<p name="什么是LBS">
												<strong class="hi">
														<a name="什么是LBS">
														</a>8. 什么是LBS？ </strong>
										</p>
										<p>基于位置的服务是把空间数据和处理资源接合进无线电通讯和无线Internet服务的位置应用服务。位置服务给紧急请求，公共安全，重要基础设施包含，灾难管理带来巨大好处。更详细信息，请看</p>
										<p>
												<a class="hi" href="http://www.esri.com/software/arclocationsolutions/index.html" target="_blank">
														<font color="#002c99">http://www.esri.com/software/arclocationsolutions/index.html</font>
												</a>。</p>
										<p name="什么是OpenLS">
												<strong class="hi">
														<a name="什么是OpenLS">
														</a>9. 什么是OpenLS？</strong>
										</p>
										<p>OpenLS或开放位置服务是OGC为互操作的位置应用服务生产的开放规范，将把空间数据和处理资源结合进无线电通讯和Internet服务。OpenLS组成一系列快速的，协作的工程测试基础和向导。</p>
										<p>根据OpenLS规范，OGC的开放结构将以接口和协议为基础，接口和协议支持核心服务，包括：</p>
										<p>· OpenLS位置应用服务和MPC/GMLC中的位置确定设备相结合的网关服务</p>
										<p>· 寻找黄页，绿页，旅游指南等的目录服务 </p>
										<p>· 用于航行的路径确定服务</p>
										<p>· 地理编码(地址到坐标)和反地理编码(坐标到地址)服务</p>
										<p>· 地图/要素显示服务</p>
										<p name="ESRI用什么技术执行LBS">
												<strong class="hi">
														<a name="ESRI用什么技术执行LBS">
														</a>10. ESRI使用什么技术执行LBS？</strong>
										</p>
										<p>ESRI积极从事LBS测试，遵从OGC发布的OpenLS规范。用于执行LBS的主要产品是ArcIMS和ArcWeb服务。ESRI使用如下标准技术：Java 2 Platform Standard Edition (J2SE), Java 2 Platform Micro Edition (J2ME), 和 XML。</p>
										<p>
												<strong class="hi">11.<a name="ESRI支持GML吗"></a> ESRI支持GML吗？</strong>
										</p>
										<p>是的。GML是OpenGIS执行规范，是为传输和存储地理信息设计的。采用XML编码。ESRI已创建一个Interoperability extension for ArcExplorer--Java Edition　4.0.1来访问OGC Web要素服务就像直接读取GML文件。ESRI也正在构建原型ArcGIS，利用GML处理地理要素。</p>
								</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.cppblog.com/Jeff-Chen/aggbug/6298.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/Jeff-Chen/" target="_blank">Jeff-Chen</a> 2006-04-26 11:21 <a href="http://www.cppblog.com/Jeff-Chen/archive/2006/04/26/6298.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>