﻿<?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>BlogJava-Flyingis-随笔分类-架构与设计</title><link>http://www.blogjava.net/flyingis/category/5878.html</link><description>Talking and thinking freely !&lt;br&gt;
Flying in the world of GIS !</description><language>zh-cn</language><lastBuildDate>Sun, 17 Jun 2007 07:19:29 GMT</lastBuildDate><pubDate>Sun, 17 Jun 2007 07:19:29 GMT</pubDate><ttl>60</ttl><item><title>[Design Pattern] The Factory Pattern</title><link>http://www.blogjava.net/flyingis/archive/2007/06/17/124542.html</link><dc:creator>Flyingis</dc:creator><author>Flyingis</author><pubDate>Sun, 17 Jun 2007 07:01:00 GMT</pubDate><guid>http://www.blogjava.net/flyingis/archive/2007/06/17/124542.html</guid><wfw:comment>http://www.blogjava.net/flyingis/comments/124542.html</wfw:comment><comments>http://www.blogjava.net/flyingis/archive/2007/06/17/124542.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/flyingis/comments/commentRss/124542.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyingis/services/trackbacks/124542.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 对工厂模式的重复罗嗦，用Factory生产Thinkpad。&nbsp;&nbsp;<a href='http://www.blogjava.net/flyingis/archive/2007/06/17/124542.html'>阅读全文</a><img src ="http://www.blogjava.net/flyingis/aggbug/124542.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyingis/" target="_blank">Flyingis</a> 2007-06-17 15:01 <a href="http://www.blogjava.net/flyingis/archive/2007/06/17/124542.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Design Pattern] The Decorator Pattern</title><link>http://www.blogjava.net/flyingis/archive/2006/11/07/79547.html</link><dc:creator>Flyingis</dc:creator><author>Flyingis</author><pubDate>Tue, 07 Nov 2006 03:04:00 GMT</pubDate><guid>http://www.blogjava.net/flyingis/archive/2006/11/07/79547.html</guid><wfw:comment>http://www.blogjava.net/flyingis/comments/79547.html</wfw:comment><comments>http://www.blogjava.net/flyingis/archive/2006/11/07/79547.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/flyingis/comments/commentRss/79547.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyingis/services/trackbacks/79547.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Decorator Pattern，看看魔兽中的山丘是怎么应用这种模式的(个人设想)。&nbsp;&nbsp;<a href='http://www.blogjava.net/flyingis/archive/2006/11/07/79547.html'>阅读全文</a><img src ="http://www.blogjava.net/flyingis/aggbug/79547.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyingis/" target="_blank">Flyingis</a> 2006-11-07 11:04 <a href="http://www.blogjava.net/flyingis/archive/2006/11/07/79547.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Design Pattern] The Observer Pattern</title><link>http://www.blogjava.net/flyingis/archive/2006/09/30/73073.html</link><dc:creator>Flyingis</dc:creator><author>Flyingis</author><pubDate>Sat, 30 Sep 2006 08:40:00 GMT</pubDate><guid>http://www.blogjava.net/flyingis/archive/2006/09/30/73073.html</guid><wfw:comment>http://www.blogjava.net/flyingis/comments/73073.html</wfw:comment><comments>http://www.blogjava.net/flyingis/archive/2006/09/30/73073.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/flyingis/comments/commentRss/73073.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyingis/services/trackbacks/73073.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在讨论设计模式时，我喜欢用英文名来称呼各种模式，觉得这样会更为准确一些。设计模式在Java开发领域已经是炙手可热的山芋，披上了这件战袍，似乎就可以在程序设计中立于不败之地，不仅可以规范自己的武功招式，还能够看清其他高手的武功套路。在接下来[Design Pattern]一系列的随笔中，我将系统的研究各种常用的设计模式，主要的参考资料是《Head First Design Patterns》，主要的思路是，介绍基本概念（虽然做Java开发的熟手已经对此熟悉的不得了），将思维转换为代码设计，谈谈在实际中开发的应用，也许还会有各种模式的弊端。&nbsp;&nbsp;<a href='http://www.blogjava.net/flyingis/archive/2006/09/30/73073.html'>阅读全文</a><img src ="http://www.blogjava.net/flyingis/aggbug/73073.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyingis/" target="_blank">Flyingis</a> 2006-09-30 16:40 <a href="http://www.blogjava.net/flyingis/archive/2006/09/30/73073.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ArcIMS 体系结构</title><link>http://www.blogjava.net/flyingis/archive/2006/07/09/57328.html</link><dc:creator>Flyingis</dc:creator><author>Flyingis</author><pubDate>Sun, 09 Jul 2006 03:50:00 GMT</pubDate><guid>http://www.blogjava.net/flyingis/archive/2006/07/09/57328.html</guid><wfw:comment>http://www.blogjava.net/flyingis/comments/57328.html</wfw:comment><comments>http://www.blogjava.net/flyingis/archive/2006/07/09/57328.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/flyingis/comments/commentRss/57328.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyingis/services/trackbacks/57328.html</trackback:ping><description><![CDATA[
		<font face="Verdana">
				<font size="2">    作者：Flyingis<br /><br />    ArcIMS可以运行在一个分布式环境中，包含客户端和服务器组件。一个完整服务的运行过程可以简单的描述为：一个客户端向服务器发送请求信息，服务器处理请求并返回信息到客户端，客户端将所获取的信息展现给终端用户。</font>
		</font>
		<p align="center">
				<font face="Verdana">
						<img alt="architecture.gif" src="http://www.blogjava.net/images/blogjava_net/flyingis/architecture.gif" border="0" height="394" width="513" />
				</font>
		</p>
		<font size="2">
				<font face="Verdana">
						<strong>    ArcIMS空间服务器（ArcIMS Spatial Server）</strong>
						<br />
						<br />    ArcIMS空间服务器是ArcIMS 的中心枢纽，承载着高负荷的计算任务，对地图数据的请求和相关信息进行处理。当接收到一个服务请求， ArcIMS空间服务器主要可以完成以下功能：<br /><br />    Image—从在ArcIMS Author或ArcMap中创建的地图数据中创建影像文件<br />    Feature—缓冲地图特征数据<br />    Query—查找和搜索条件相匹配的特征数据<br />    Geocode—执行地址匹配操作<br />    Extract—从选择的地图特征数据中创建shapefile<br />    Metadata—打印出metadata 数据<br />    Route—在一系列的点之间计算路径距离<br /></font>
		</font>
		<p align="center">
				<font face="Verdana">
						<img alt="spatialserver.gif" src="http://www.blogjava.net/images/blogjava_net/flyingis/spatialserver.gif" border="0" height="131" width="219" />
				</font>
		</p>
		<font face="Verdana" size="2">    两个后台的进程支持着ArcIMS空间服务器的运行： ArcIMS Monitor和ArcIMS Tasker ，在Windows中它们作为后台服务运行，在Unix和Linux中作为daemon进程。<br /><br />    ArcIMS Monitor跟踪ArcIMS空间服务器的状态。当系统重启时，ArcIMS Monitor将自动恢复ArcIMS服务。<br /><br />    ArcIMS Tasker清除output目录中的文件。这些由空间服务器创建，以支持ArcIMS服务的文件，将在用户定义的时间间隔后被清除。当前服务为地图服务时，用户发送请求得到的数据均是由ArcIMS空间服务器对请求产生响应，返回的数据是图片，保存在output目录中， ArcIMS Tasker会在一定时间后清除这些图片数据。<br /><br /></font>
		<font size="2">
				<font face="Verdana">
						<strong>ArcIMS应用服务器（ArcIMS Application Server）<br /></strong>
						<br />    ArcIMS应用服务器控制着传入请求，跟踪当前哪些服务运行在哪些ArcIMS空间服务器中。ArcIMS应用服务器将请求传输到适合的空间服务器。应用服务器是一个Java应用程序，在Windows操作系统中作为一个Windows服务，在Unix和Linux中作为一个daemon进程。<br /><br /><strong>ArcIMS应用服务连接器（ArcIMS application server connectors）</strong><br /><br />    ArcIMS应用服务连接器将Web服务器和ArcIMS应用服务器连接在一起。ArcIMS Servlet Connector是ArcIMS的默认连接器。它使用ArcXML在Web服务器和ArcIMS应用服务器之间传递信息。<br /><br />    相对于ArcIMS Servlet Connector，还有几种其他的连接器可供选择：<br /><br />    ColdFusion Connector<br />    ActiveX Connector<br />    ArcIMS Java Connector<br />    ArcIMS .NET Link<br /><br />    ColdFusion和ActiveX连接器配合自定义的客户端工作，并且将自己的语言转换成ArcXML。ArcIMS Java Connector通过 JSP客户端或独立的Java应用程序和ArcIMS应用服务器保持通信。.NET Link提供TCP/IP或HTTP连接到应用服务器。<br /><br />    关于连接器的相关资料，在 ArcIMS Help 中搜索主题：<br /><br />    More about the ArcIMS Servlet Connector<br />    Connectors and ArcMap Server<br />    The ArcIMS documentation set<br />    ArcIMS Viewers<br /><br />    当使用ArcIMS Designer创建了一个为用户提供地图内容的网站时，可以选择三种ArcIMS Viewers：HTML、 Java Standard、或Java Custom。通过定制这些Viewers或定制客户端可以达到基本相同的效果。另外，还可以使用比较成熟的客户端，如ArcMap、ArcExplorer和Metadata Explorer。<br /><br />    从本质上说，viewer或客户端就是Internet GIS 应用或网络应用的网站，提供用户需要的地图服务。当用户访问这些网站的时候，他们可以在viewer中看到嵌入在网站中的定制地图。整个viewer决定了网站的外观和功能。<br /><br />    相关viewer的相关资料，在ArcIMS Help中搜索主题：<br /><br />    Choosing a viewer for your Web site<br />    Designing a Web site<br />    Overview of using the ArcIMS Viewers<br /><br />    关于连接器、客户端的选择，可以参考</font>
				<a href="/zkjbeyond/archive/2006/02/10/30156.html" target="_blank">
						<font color="#000080" face="Verdana">这篇文章</font>
				</a>
				<font face="Verdana">。<br /><br />    ---- 参考资料：ArcIMS Help</font>
		</font>
		<font face="Verdana">
		</font>
<img src ="http://www.blogjava.net/flyingis/aggbug/57328.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyingis/" target="_blank">Flyingis</a> 2006-07-09 11:50 <a href="http://www.blogjava.net/flyingis/archive/2006/07/09/57328.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>剖析MVC中的各种Object</title><link>http://www.blogjava.net/flyingis/archive/2006/03/17/35752.html</link><dc:creator>Flyingis</dc:creator><author>Flyingis</author><pubDate>Thu, 16 Mar 2006 16:28:00 GMT</pubDate><guid>http://www.blogjava.net/flyingis/archive/2006/03/17/35752.html</guid><wfw:comment>http://www.blogjava.net/flyingis/comments/35752.html</wfw:comment><comments>http://www.blogjava.net/flyingis/archive/2006/03/17/35752.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/flyingis/comments/commentRss/35752.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyingis/services/trackbacks/35752.html</trackback:ping><description><![CDATA[
		<p>
				<font face="Verdana" size="2">    作者：</font>
				<a href="/flyingis/" target="_blank">
						<font face="Verdana" color="#000080" size="2">Flyingis</font>
				</a>
				<br />
				<br />
				<font face="Verdana" size="2">    在Web应用和J2EE框架中经常可以碰到各种Object相关的名词，在网上搜索了一下，讨论各种Object术语的帖子一大筐，大的讨论整个框架，小的描述各个层次之间的细微差别，甚至有钻牛角尖之嫌。</font>
				<a href="/" target="_blank">
						<font face="Verdana" color="#000080" size="2">BlogJava</font>
				</a>
				<font face="Verdana" size="2">上也有讨论VO和PO的贴子，例如</font>
				<a href="/Tower/" target="_blank">
						<font face="Verdana" color="#000080" size="2">非飞</font>
				</a>
				<font face="Verdana" size="2">的</font>
				<a href="/Tower/archive/2005/03/01/1584.html" target="_blank">
						<font face="Verdana" color="#000080" size="2">《各层共享使用PO的代价》</font>
				</a>
				<font face="Verdana" size="2">等。其实无论怎么讨论，这些术语、分层结构、应用框架无非都是为我们的应用而服务的，因此，我们需要的是理解这些术语提出的意义，是理解我们的项目需求，是理解我们采用的框架结构能否最大限度的满足项目的需要。<br /><br />    在刚刚学习MVC/Model2之前，我是不了解VO/TO/PO/DTO/BO等等这些术语的含义的，至少理解上只是停留在浅层面，现在多看了一些，做了一点项目，多了些想法，但肯定还是存在理解上的偏差或误解，欢迎大家讨论指出！<br /><br />    VO: 通常指ValueObject或ViewObject。ViewObject指的是UI需要的对象，Struts的FormBean就是其中的一种，它是Value Object和Transfer Object的总称。<br /><br />    TO: Transfer Object，它和Value Object的区别可以参考Patterns of Enterprise Application Architecture。<br /><br />    PO: Persistent Object，即可以被持久化的实体对象。<br /><br />    </font>
				<a href="http://www.martinfowler.com/bliki/POJO.html" target="_blank">
						<font face="Verdana" color="#000080" size="2">POJO</font>
				</a>
				<font face="Verdana" size="2">: Plain Ordinary Java Object。<br /><br />    DTO: Data Transfer Object，J2EE 中常用的一种设计模式，现在一般可以将使用Value Object的模式称为DTO模式，在</font>
				<a href="http://www.jdon.com/" target="_blank">
						<font face="Verdana" color="#000080" size="2">Jdon</font>
				</a>
				<font face="Verdana" size="2">上一篇<a href="http://www.jdon.com/jive/article.jsp?forum=91&amp;thread=23672" target="_blank"><font color="#000080">《ValueObject和DTO模式的一些疑问》</font></a></font>
				<font face="Verdana" size="2">阐述了两者的关系。<br /><br />    BO: Business Object，可以分为三种情况，只包含业务对象的属性，或只包含业务方法，或两者都包含。对于BO的详细讨论，可以</font>
				<a href="http://www.jdon.com/jive/article.jsp?forum=91&amp;thread=21571" target="_blank">
						<font face="Verdana" color="#000080" size="2">参见这里</font>
				</a>
				<font face="Verdana" size="2">。<br /><br />    这些概念经常交错在一起提出，给初学者造成了一些理解上的困难，其实只需要理顺下面几点，基本上就能弄清楚层次之前的前后关系和如何合理使用这些对象。<br /><br />    1. VO能否和PO相同。首先回答是肯定的，VO是概念模型的一种抽象反映，当一个业务实体可以用一个物理实体表示的时候，VO和PO属性相同，那么它们是相等的。例如学生成绩管理系统中，成绩表单业务实体中包含学生信息、课程信息、成绩等，此时它已经不能用一个物理实体所能描述，而其中的学生信息，其VO和PO在属性上是一样的，此时的VO和PO相同。<br /><br />    2. PO能否代替VO。仅仅从功能实现上来说，当VO和PO相同的时候，PO可以代替VO，这样可以减少一些代码量，但需要注意的是，这样会带来一些问题：当一个业务实体需要多个物理实体来表达的时候，在客户端显示一个业务实体就会多次访问数据库，即进行多次单表访问，非视图；当一个业务实体属性远少于一个物理实体的时候，可能会因装载过多不必要的数据而影响网络传输；对物理实体进行改动的时候会直接影响到表现层。简单的说，这样做增加了代码的耦合性，也增加了代码维护的难度，项目的可扩展性也大大降低，如果仅仅是为了减少代码量而付出这些代将显然是不值的，当然极为简单的应用可以考虑，一切从项目实际出发。<br /><br />    3. VO包含的属性可以多于PO、少于PO、或等于PO中的属性。<br /><br />    4. 一个基于Struts应用的简单数据提交流程(VO和PO单独存在)：HTML 页面中包含了基本的信息，例如文本框、下拉框、单选等，构建一个ActionForm Bean与之一一对应，它是Web层数据的表示，当Web页面的操作流程发生改变的时候，需要对它进行修改，但不能将修改传递到业务层和持久层。然后Action读取ActionForm Bean的属性，构造PO对象，调用BO ，当BO收到这个PO之后，调用DAO接口方法，对PO进行持久化操作，完成数据的提交。这里，PO在业务层和持久层之间，没有被传递到Web层的View中去。<br /><br />    5. 一个基于Struts应用的简单数据查询流程(VO和PO单独存在)：Action读取ActionForm Bean中的查询属性信息，然后调用BO，BO获取ActionForm Bean之后调用DAO接口进行查询，返回所要查询的PO对象，交给Action，Action通过该PO构建 ActionForm Bean，通过request.setAttribute()或session.setAttribute()，重定向到查询结果页面输出需要的信息。<br /><br />    6. 表现层中的字段一般定义为String或boolean类型，因此VO中的属性在传到Action并构建PO对象时需要进行数据类型的转换，或由ActionForm的helper方法来进行转换。<br /><br />    参考文章和贴子：<br />    </font>
				<a href="http://www.jdon.com/jive/article.jsp?forum=91&amp;thread=23672" target="_blank">
						<font face="Verdana" color="#000080" size="2">http://www.jdon.com/jive/article.jsp?forum=91&amp;thread=23672</font>
				</a>
				<br />
				<font size="2">
						<font face="Verdana">    </font>
				</font>
				<a href="http://www.jdon.com/jive/article.jsp?forum=91&amp;thread=21571" target="_blank">
						<font face="Verdana" color="#000080" size="2">http://www.jdon.com/jive/article.jsp?forum=91&amp;thread=21571</font>
				</a>
				<br />
				<font face="Verdana" size="2">    </font>
				<a href="http://www.hibernate.org.cn/viewtopic.php?t=627&amp;postdays=0&amp;postorder=asc&amp;start=0" target="_blank">
						<font face="Verdana" color="#000080" size="2">http://www.hibernate.org.cn/viewtopic.php?t=627&amp;postdays=0&amp;postorder=asc&amp;start=0</font>
				</a>
				<font face="Verdana" size="2">
						<br />    </font>
				<a href="http://bbs.hidotnet.com/704/ShowPost.aspx" target="_blank">
						<font face="Verdana" color="#000080" size="2">http://bbs.hidotnet.com/704/ShowPost.aspx</font>
				</a>
				<br />
				<font face="Verdana" size="2">    </font>
				<a href="http://lifework.cnblogs.com/archive/2005/09/03/229596.html" target="_blank">
						<font face="Verdana" color="#000080" size="2">http://lifework.cnblogs.com/archive/2005/09/03/229596.html</font>
				</a>
				<br />
				<font face="Verdana" size="2">    </font>
				<a href="http://www.microsoft.com/china/MSDN/library/architecture/patterns/esp/DesDTO.mspx" target="_blank">
						<font face="Verdana" color="#000080" size="2">http://www.microsoft.com/china/MSDN/library/architecture/patterns/esp/DesDTO.mspx</font>
				</a>
				<font face="Verdana" size="2">  </font>
		</p>
<img src ="http://www.blogjava.net/flyingis/aggbug/35752.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyingis/" target="_blank">Flyingis</a> 2006-03-17 00:28 <a href="http://www.blogjava.net/flyingis/archive/2006/03/17/35752.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SOA介绍--什么是SOA?[转载]</title><link>http://www.blogjava.net/flyingis/archive/2005/12/28/25686.html</link><dc:creator>Flyingis</dc:creator><author>Flyingis</author><pubDate>Wed, 28 Dec 2005 03:17:00 GMT</pubDate><guid>http://www.blogjava.net/flyingis/archive/2005/12/28/25686.html</guid><wfw:comment>http://www.blogjava.net/flyingis/comments/25686.html</wfw:comment><comments>http://www.blogjava.net/flyingis/archive/2005/12/28/25686.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/flyingis/comments/commentRss/25686.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyingis/services/trackbacks/25686.html</trackback:ping><description><![CDATA[<P><FONT size=2><SPAN style="COLOR: red">版权声明：本文可以自由转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明</SPAN><BR>作者:Raghu R. Kodali&nbsp; 翻译:</FONT><A href="http://www.matrix.org.cn/user.shtml?username=tetsu" target=_new><FONT size=2>tetsu</FONT></A><FONT size=2>(译者的Blog:</FONT><A href="http://blog.matrix.org.cn/page/tetsu" target=_new><FONT size=2>http://blog.matrix.org.cn/page/tetsu</FONT></A><FONT size=2>)<BR>原文:</FONT><A href="http://www.javaworld.com/javaworld/jw-06-2005/jw-0613-soa.html" target=_new><FONT size=2>http://www.javaworld.com/javaworld/jw-06-2005/jw-0613-soa.html</FONT></A><BR><FONT size=2>中文:</FONT><A href="http://www.matrix.org.cn/resource/article/44/44070_SOA.html" target=_new><FONT size=2>http://www.matrix.org.cn/resource/article/44/44070_SOA.html</FONT></A><BR><FONT size=2>关键字:SOA<BR><BR><B><SPAN style="FONT-SIZE: 16px">摘要</SPAN></B><BR>在最近的软件发展中，面向服务架构（SOA, service-oriented architecture）成为了时下的热门话题。这篇文章将向大家介绍SOA， 讨论企业为什么需要SOA，什么是SOA， 从核心，平台，服务品质3个层面来解释SOA的基础构成。<BR>By Raghu R. Kodali <BR><BR><BR><BR>对于面向同步和异步应用的，基于请求/响应模式的分布式计算来说，SOA是一场革命。一个应用程序的业务逻辑（business logic）或某些单独的功能被模块化并作为服务呈现给消费者或客户端。这些服务的关键是他们的松耦合特性。例如，服务的接口和实现相独立。应用开发人员或者系统集成者可以通过组合一个或多个服务来构建应用，而无须理解服务的底层实现。举例来说，一个服务可以用.NET或J2EE来实现，而使用该服务的应用程序可以在不同的平台之上，使用的语言也可以不同。<BR><BR>SOA有以下特性<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SOA服务具有平台独立的自我描述XML文档。Web服务描述语言（WSDL, Web Services Description Language）是用于描述服务的标准语言。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SOA 服务用消息进行通信，该消息通常使用XML Schema来定义（也叫做XSD, XML Schema Definition）。消费者和提供者或消费者和服务之间的通信多见于不知道提供者的环境中。服务间的通讯也可以看作企业内部处理的关键商业文档。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在一个企业内部，SOA服务通过一个扮演目录列表（directory listing）角色的登记处(Registry)来进行维护。应用程序在登记处（Registry）寻找并调用某项服务。统一描述，定义和集成 (UDDI, Universal Description, Definition, and Integration)是服务登记的标准。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 每项SOA服务都有一个与之相关的服务品质（QoS, quality of service）。QoS的一些关键元素有安全需求（例如认证和授权），可靠通信（译注：可靠消息是指，确保消息“仅且仅仅”发送一次，从而过滤重复信息。），以及谁能调用服务的策略。<BR><BR><B><SPAN style="FONT-SIZE: 16px">为什么选择SOA？</SPAN></B><BR><BR>不同种类的操作系统，应用软件，系统软件和应用基础结构（application infrastructure）相互交织，这便是IT企业的现状。一些现存的应用程序被用来处理当前的业务流程（business processes），因此从头建立一个新的基础环境是不可能的。企业应该能对业务的变化做出快速的反应，利用对现有的应用程序和应用基础结构（application infrastructure）的投资来解决新的业务需求，为客户，商业伙伴以及供应商提供新的互动渠道，并呈现一个可以支持有机业务（organic business）的构架。SOA凭借其松耦合的特性，使得企业可以按照模块化的方式来添加新服务或更新现有服务，以解决新的业务需要，提供选择从而可以通过不同的渠道提供服务，并可以把企业现有的或已有的应用作为服务， 从而保护了现有的IT基础建设投资。<BR><BR>如图1的例子所示，一个使用SOA的企业，可以使用一组现有的应用来创建一个供应链复合应用（supply chain composite application），这些现有的应用通过标准接口来提供功能。<BR><BR><IMG onmouseover=javascript:imgShowTip(this); style="DISPLAY: inline" onclick=javascript:imgClick(this); alt=image src="http://www.matrix.org.cn/resource/upload/forum/2005_12_26_013605_JkeHCgsFiO.gif" onload=javascript:imgLoad(this); border=0><BR>Figure 1. Supply chain application. Click on thumbnail to view full-sized image. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><BR><BR><B><SPAN style="FONT-SIZE: 16px">服务架构</SPAN></B><BR><BR>为了实现SOA，企业需要一个服务架构，图2显示了一个例子：<BR><BR><IMG onmouseover=javascript:imgShowTip(this); style="DISPLAY: inline" onclick=javascript:imgClick(this); alt=image src="http://www.matrix.org.cn/resource/upload/forum/2005_12_26_013611_yqrBhZilNV.gif" onload=javascript:imgLoad(this); border=0><BR>Figure 2. A sample service architecture. Click on thumbnail to view full-sized image.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><BR>在图2中， 服务消费者（service consumer）可以通过发送消息来调用服务。这些消息由一个服务总线（service bus）转换后发送给适当的服务实现。这种服务架构可以提供一个业务规则引擎（business rules engine），该引擎容许业务规则被合并在一个服务里或多个服务里。这种架构也提供了一个服务管理基础（service management infrastructure），用来管理服务，类似审核，列表（billing），日志等功能。此外，该架构给企业提供了灵活的业务流程，更好地处理控制请求（regulatory requirement），例如Sarbanes Oxley（SOX），并且可以在不影响其他服务的情况下更改某项服务。<BR><BR><B><SPAN style="FONT-SIZE: 16px">SOA基础结构</SPAN></B><BR><BR>要运行，管理SOA应用程序，企业需要SOA基础，这是SOA平台的一个部分。SOA基础必须支持所有的相关标准，和需要的运行时容器。图3所示的是一个典型的SOA基础结构。接下来的章节将逐一讨论该结构的每个部分。<BR><BR><IMG onmouseover=javascript:imgShowTip(this); style="DISPLAY: inline" onclick=javascript:imgClick(this); alt=image src="http://www.matrix.org.cn/resource/upload/forum/2005_12_26_013615_etaJVHxcqM.gif" onload=javascript:imgLoad(this); border=0><BR>Figure 3. A typical SOA infrastructure. Click on thumbnail to view full-sized image. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR><BR><B>SOAP, WSDL, UDDI</B><BR>WSDL， UDDI和SOAP是SOA基础的基础部件。WSDL用来描述服务；UDDI用来注册和查找服务；而SOAP，作为传输层，用来在消费者和服务提供者之间传送消息。SOAP是Web服务的默认机制，其他的技术为可以服务实现其他类型的绑定。一个消费者可以在UDDI注册表（registry）查找服务，取得服务的WSDL描述，然后通过SOAP来调用服务。<BR><BR><B>WS-I Basic Profile</B><BR>WS-I Basic Profile，由Web服务互用性组织（Web Services Interoperability Organization）提供，是SOA服务测试与互用性所需要的核心构件。服务提供者可以使用Basic Profile测试程序来测试服务在不同平台和技术上的互用性。<BR><BR><B>J2EE 和 .Net</B><BR>尽管J2EE和.NET平台是开发SOA应用程序常用的平台，但SOA不仅限于此。像J2EE这类平台，不仅为开发者自然而然地参与到SOA中来提供了一个平台，还通过他们内在的特性，将可扩展性，可靠性，可用性以及性能引入了SOA世界。新的规范，例如 JAXB（Java API for XML Binding），用于将XML文档定位到Java类；JAXR（Java API for XML Registry）用来规范对UDDI注册表（registry）的操作；XML-RPC（Java API for XML-based Remote Procedure Call）在J2EE1.4中用来调用远程服务，这使得开发和部署可移植于标准J2EE容器的Web服务变得容易，与此同时，实现了跨平台（如.NET）的服务互用。<BR><BR><B>服务品质</B><BR>在企业中，关键任务系统（mission-critical system，译注：关键任务系统是指如果一个系统的可靠性对于一个组织是至关重要的，那么该系统就是该企业的关键任务系统。比如，电话系统对于一个电话促销企业来说就是关键任务系统，而文字处理系统就不那么关键了。）用来解决高级需求，例如安全性，可靠性，事物。当一个企业开始采用服务架构作为工具来进行开发和部署应用的时候，基本的Web服务规范，像WSDL，SOAP，以及UDDI就不能满足这些高级需求。正如前面所提到的，这些需求也称作服务品质（QoS，quality of services）。与QoS相关的众多规范已经由一些标准化组织（standards bodies）提出，像W3C（World Wide Web Consortium）和OASIS（the Organization for the Advancement of Structured Information Standards）。下面的部分将会讨论一些QoS服务和相关标准。<BR><BR><B>安全</B><BR>Web服务安全规范用来保证消息的安全性。该规范主要包括认证交换， 消息完整性和消息保密。该规范吸引人的地方在于它借助现有的安全标准，例如，SAML（as Security Assertion Markup Language）来实现web服务消息的安全。OASIS正致力于Web服务安全规范的制定。<BR><BR><B>可靠</B><BR>在典型的SOA 环境中，服务消费者和服务提供者之间会有几种不同的文档在进行交换。具有诸如“仅且仅仅传送一次”（ once-and-only-once delivery），“最多传送一次”（ at-most-once delivery），“重复消息过滤”（duplicate message elimination），“保证消息传送”（guaranteed message delivery）等特性消息的发送和确认，在关键任务系统（mission-critical systems）中变得十分重要。WS-Reliability 和 WS-ReliableMessaging是两个用来解决此类问题的标准。这些标准现在都由OASIS负责。<BR><BR><B>策略</B><BR>服务提供者有时候会要求服务消费者与某种策略通信。比如，服务提供商可能会要求消费者提供Kerberos安全标示，才能取得某项服务。这些要求被定义为策略断言（policy assertions）。一项策略可能会包含多个断言。WS-Policy用来标准化服务消费者和服务提供者之间的策略通信。<BR><BR><B>控制</B><BR>当企业着手于服务架构时，服务可以用来整合数据仓库（silos of data），应用程序，以及组件。整合应用意味着例如异步通信，并行处理，数据转换，以及校正等进程请求必须被标准化。在SOA中，进程是使用一组离散的服务创建的。BPEL4WS 或者 WSBPEL（Web Service Business Process Execution Language）是用来控制这些服务的语言。WSBPEL目前也由OASIS负责。<BR><BR><B>管理</B><BR>随着企业服务的增长，所使用的服务和业务进程的数量也随之增加，一个用来让系统管理员管理所有运行在多相环境下的服务的管理系统就显得尤为重要。WSDM（Web Services for Distributed Management）规定了任何根据WSDM实现的服务都可以由一个WSDM适应（WSDM-compliant）的管理方案来管理。<BR><BR>其它的qos特性，比如合作方之間的溝通和通訊，多個服務之間的事務處理，都在WS-Coordination 和 WS-Transaction 標準中描述， 這些都是OASIS 的工作.<BR><BR><B>SOA 不是Web服务</B><BR>在理解SOA和Web服务的关系上，经常发生混淆。根据2003年4月的Gartner报道，Yefim V. Natis就这个问题是这样解释的：“Web服务是技术规范，而SOA是设计原则。特别是Web服务中的WSDL，是一个SOA配套的接口定义标准：这是 Web服务和SOA的根本联系。”从本质上来说，SOA是一种架构模式，而Web服务是利用一组标准实现的服务。Web服务是实现SOA的方式之一。用 Web服务来实现SOA的好处是你可以实现一个中立平台，来获得服务，而且随着越来越多的软件商支持越来越多的Web服务规范，你会取得更好的通用性。<BR><BR><B><SPAN style="FONT-SIZE: 16px">SOA的优势</SPAN></B><BR><BR>SOA 的概念并非什么新东西，SOA不同于现有的分布式技术之处在于大多数软件商接受它并有可以实现SOA的平台或应用程序。SOA伴随着无处不在的标准，为企业的现有资产或投资带来了更好的重用性。SOA能够在最新的和现有的应用之上创建应用；SOA能够使客户或服务消费者免予服务实现的改变所带来的影响； SOA能够升级单个服务或服务消费者而无需重写整个应用，也无需保留已经不再适用于新需求的现有系统。总而言之，SOA以借助现有的应用来组合产生新服务的敏捷方式，提供给企业更好的灵活性来构建应用程序和业务流程。<BR><BR><B>About the author</B><BR>Raghu R. Kodali is consulting product manager and SOA evangelist for Oracle Application Server. Kodali leads next-generation SOA initiatives and J2EE feature sets for Oracle Application Server, with particular expertise in EJB, J2EE deployment, Web services, and BPEL. Prior to product management, Kodali held presales and technical marketing positions in Oracle Asia-Pacific, based in Singapore. Prior to Oracle, he worked as software developer with National Computer Systems, Singapore. He holds a master's degree in computer science and is a frequent speaker at technology conferences. Kodali maintains an active blog at Loosely Coupled Corner <BR><BR><B><SPAN style="FONT-SIZE: 16px">资源</SPAN></B><BR>·</FONT><FONT size=2>Java开发者社区</FONT><FONT size=2>:</FONT><A href="http://www.matrix.org.cn/" target=_new><FONT size=2>http://www.matrix.org.cn</FONT></A><BR><FONT size=2>·javaworld.com:</FONT><A href="http://javaworld.com/" target=_new><FONT size=2>javaworld.com</FONT></A><BR><FONT size=2>WS-I: http://www.ws-i.org <BR>JAXB: http://www.java.sun.com/xml/jaxb <BR>JAXR: http://java.sun.com/xml/jaxr <BR>OASIS: http://www.oasis-open.org/home/index.php <BR>SAML: http://www.oasis-open.org/specs/index.php#samlv1.0 <BR>SOAP: http://www.w3.org/TR/soap/ <BR>SOX: http://www.sarbanes-oxley.com/ <BR>UDDI: http://www.uddi.org/specification.html <BR>W3C: http://www.w3.org/2002/ws/ <BR>WSDL: http://www.w3.org/TR/wsdl <BR>WSBPEL: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsbpel <BR>WS-Reliability: http://www.oasis-open.org/specs/index.php#wsrv1.1 <BR>WS-ReliableMessaging: http://xml.coverpages.org/WS-ReliableMessaging200502.pdf <BR>Web Services Security: http://www.oasis-open.org/specs/index.php#wssv1.0 <BR>WS-I Basic Profile:http://www.ws-i.org/deliverables/workinggroup.aspx?wg=basicprofile <BR>WSDM: http://www.oasis-open.org/committees/tc_home.php <BR>XSD: http://www.w3.org/XML/Schema <BR>Gartner: http://www.gartner.com/Init <BR>To read about BEA's recent product offering in the SOA space, read "BEA's Patrick Discusses Project Free Flow," Paul Krill, InfoWorld (JavaWorld, June 2005): http://www.javaworld.com/javaworld/jw-06-2005/jw-0613-iw-bea.html <BR>For more on SOA, read "Event-Driven Services in SOA," Jeff Hanson (JavaWorld, January 2005): http://www.javaworld.com/javaworld/jw-01-2005/jw-0131-soa.html <BR>For more articles on Web services, browse the Java and Web Services section of JavaWorld's Topical Index: http://www.javaworld.com/channel_content/jw-webserv-index.shtml <BR>For more articles on enterprise development, browse the Enterprise Java section of JavaWorld's Topical Index: <BR>http://www.javaworld.com/channel_content/jw-enterprise-index.shtml</FONT><A href=""></A></P><img src ="http://www.blogjava.net/flyingis/aggbug/25686.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyingis/" target="_blank">Flyingis</a> 2005-12-28 11:17 <a href="http://www.blogjava.net/flyingis/archive/2005/12/28/25686.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GIS数据建库基本思想(下)</title><link>http://www.blogjava.net/flyingis/archive/2005/12/25/25370.html</link><dc:creator>Flyingis</dc:creator><author>Flyingis</author><pubDate>Sun, 25 Dec 2005 07:24:00 GMT</pubDate><guid>http://www.blogjava.net/flyingis/archive/2005/12/25/25370.html</guid><wfw:comment>http://www.blogjava.net/flyingis/comments/25370.html</wfw:comment><comments>http://www.blogjava.net/flyingis/archive/2005/12/25/25370.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/flyingis/comments/commentRss/25370.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyingis/services/trackbacks/25370.html</trackback:ping><description><![CDATA[
		<font size="2">
				<font color="#000080">
						<a href="/flyingis/archive/2005/12/22/25114.html">GIS数据建库基本思想(上)</a>
				</font>
				<br />
		</font>
		<br />
		<p class="MsoNormal" style="MARGIN: 6pt 0cm">
				<span lang="EN-US" style="FONT-SIZE: 10pt">3.<span>      </span></span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据规范</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<?xml:namespace prefix = o /?>
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">这里说的数据规范，指的是可以被系统所正确识别的数据。这依赖于上述数据库建库的第一个过程，即数据库标准的制定和数据规范。这里的主要矛盾在于，因为</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS </span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">平台的不一致，各个平台对空间数据描述的模型不同，而导致了在一个平台上生成的数据在另一个平台不能正确读出，从而导致转换前后矢量或属性数据的丢失，甚至无法转换的结果。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">例如，</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">AutoCAD</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">存在拟合曲线</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">Spline</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">对象，图形块</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">Block</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">对象，区域</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">Region </span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">对象，代理对象等许多特殊的图形对象，在</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">系统中没有相应的图形对象与之相对应。因此要想将这些数据入库，必须先将以上对象转化，使之变成</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">可以识别的图形对象。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">  AutoCAD </span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">的扩展数据由于为</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">AutoCAD </span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">所特有，因此也必须寻找解决办法</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">(</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">例如数据格式转换</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">)</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">，使之能被</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">所正确读取。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">此外还包括数据规范中规定的各个图层之间相互的空间拓扑关系及属性数据等，这些都要求有相应的检测和修正工具予以保证。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm">
				<span lang="EN-US" style="FONT-SIZE: 10pt">4.<span>      </span></span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据生产</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据生产过程主要包括准备阶段和数据输入阶段。以下为</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">AutoCAD</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">平台下数据的生产过程为例。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">准备阶段</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">此过程包括定义图层名称，配置图层的各种属性（颜色，线性，线宽，图形符号等）。这一过程是数据生产的准备阶段，工作逻辑上非常简单，在认真设置和检查后，产生错误的可能性会很小。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据生产阶段</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">包括栅格数据自动矢量化和人工输入两个比较大的方面，有时候全为人工输入。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">栅格数据自动矢量化是通过扫描仪器输入栅格数据，然后通过图像识别算法，进行矢量跟踪，从而确定实体的空间位置。在目前的技术发展中，程序的算法往往不能完全识别出所需要的对象并进行正确的矢量化，若栅格数据是经过底图扫描而非遥感影像，可能还会出现扫面不清晰，因此会产成各种各样的问题。常见的错误主要有以下几种：</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm 6pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(1)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">房屋等面状闭合物体留有缺口，即不封闭。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm 6pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(2)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">扫描后的线段存在很多重复点的现象。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm 6pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(3)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">扫描后的线段存在自相交的情况。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm 6pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(4)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">在图像边缘上的线段，扫描后出现畸变现象。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm 6pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(5)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">在图像的边缘存在数据丢失的现象。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm 6pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(6)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">由于图像定位不准，导致扫描后图像部分基准点偏移，从而导致相邻的地区存在图形重叠或交叉的现象。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">其中基准点偏差的影响尤为显著，严重影响数据建库。一般情况下，我们需要封闭检查，重复点检查，自相交检查，基准点检查和校正等检查工具去发现和排除这些错误。在这些错误中，错误</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">1</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">、</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">2</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">、</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">3</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">、</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">6 </span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">在逻辑上比较简单，相对比较好解决。错误</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">4</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">、</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">5 </span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">则比较难于检查和解决。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">人工输入是指数据录入人员按照要求用鼠标或绘图议等手工在图纸上进行绘图，并设置和添加各种属性的过程。这一过程十分繁重的，并且工作具有重复性和枯燥性等特点，因此容易造成各种错误，从而影响数据质量。产成的错误的原因主要有两个：</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">精度问题造成的错误，这种原因往往造成图形拓扑关系错误。例如，应该闭合的面状物体没有闭合，应该端点相连的直线没有连接，不应该重叠的线段存在重叠的部分，不应该交叉的图形存在交叉，面与面之间存在缝隙，面与面之间发生重叠，基准点和控制点定位不准确等等。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">人为疏忽造成的原因。例如，有属性的图形物体忘记给属性赋值，导致属性丢失；有属性的图形物体错误赋值，导致属性错误；图幅边框被删除或者移动位置；图幅边界上的图形没有很好的完成接边处理，造成相邻图形不匹配等等。这些错误都经常的会在数据生产过程中发生，如果不加以检测和修正，将直接影响建库的正确性和准确性，应予以注意。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm">
				<span lang="EN-US" style="FONT-SIZE: 10pt">5.<span>      </span></span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">小结</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>         </span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">从以上分析可以看出，数据建模、数据规范、数据生产都是</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据顺利、准确入库的关键，在整个过程中，数据校验起到了非常重要的作用，在实际操作中，需要系统理论知识和经验知识来作为建立</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据库的架构支撑。根据个人有限的系统工程方面的理论知识，只能对数据校验做出如下概述：</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm 6pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(1)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">首先，需要对准备入库的各种源数据进行研究和分析，从中发现数据中存在的明显的错误，并估计潜在的错误。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm 6pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(2)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">根据数据建库标准和数据规范，分析这些错误可能对建库造成的影响，按照严重程度、优先级别、逻辑关系等将错误分类，并制定处解决问题的方案。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm 6pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(3)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">按照制定的解决方案有计划、有步骤的纠正这些错误，使之符合建库的规范。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm 6pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(4)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">这样循环检查几次，尽量消除数据中的错误，一般情况下，总会有少量错误存在。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm 6pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(5)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">当已经很难找出错误时，可以开始进行抽样检测，并小规模进行试验性入库。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm 6pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(6)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">在试验性入库成功后，进行大批量的实际入库。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm 6pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(7)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">入库完毕，对入库成果进行抽样检查，查找不正确的地方，并进行修正。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 6pt 0cm 6pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(8)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据入库正式完成，交付使用。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">经过上述过程，整个建库工作就已经完成。上文所述，只是个人在</span>
		<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'">GIS</span>
		<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据建库方面的一点个人经验和系统知识，在今后的实际工作中仍需不断完善、深入。<br /><br /></span>
		<font size="2">
				<font face="Verdana">原文链接：<font color="#000080"><a href="http://www.gissky.net/blog/blog.asp?name=bluewood">http://www.gissky.net/blog/blog.asp?name=bluewood</a></font></font>
		</font>
		<br />
<img src ="http://www.blogjava.net/flyingis/aggbug/25370.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyingis/" target="_blank">Flyingis</a> 2005-12-25 15:24 <a href="http://www.blogjava.net/flyingis/archive/2005/12/25/25370.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GIS数据建库基本思想(上)</title><link>http://www.blogjava.net/flyingis/archive/2005/12/22/25114.html</link><dc:creator>Flyingis</dc:creator><author>Flyingis</author><pubDate>Thu, 22 Dec 2005 10:43:00 GMT</pubDate><guid>http://www.blogjava.net/flyingis/archive/2005/12/22/25114.html</guid><wfw:comment>http://www.blogjava.net/flyingis/comments/25114.html</wfw:comment><comments>http://www.blogjava.net/flyingis/archive/2005/12/22/25114.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/flyingis/comments/commentRss/25114.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/flyingis/services/trackbacks/25114.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">地理信息系统的建设中，数据库的建设极为重要，基础地形库的建设大概要占到整个系统的</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">60%</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">甚至更高。因此，若在建库的过程中碰到问题，将导致建库的困难，甚至无法完成建库的工作。要解决建库遇到的各种问题并顺利完成建库，就要对建库的整个过程进行分析，从中找出影响建库的最主要的因素，并认真的分析这些因素产生的根本原因，制定出解决这些问题的解决方案，完成重要的建库工作。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt"> <?xml:namespace prefix = o /?><o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据库建库主要有三个过程：</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 10pt">First</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 10pt">--</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据库建模。主要是根据具体行业的特点及对其的理解，制定出数据规范，在逻辑上建设数据库。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 10pt">Second</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 10pt">--</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据校验。主要是检测数据的正确性，保证数据质量。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 10pt">Third</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 10pt">--</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据入库。主要是将获取的各种数据，例如纸制数据，矢量数据，栅格数据，遥感影像数据等准确的导入到数据库中。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>         </span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">下面对数据库建库的整个过程进行详细分析。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm">
				<span lang="EN-US" style="FONT-SIZE: 10pt">1.<span>      </span></span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据建模</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据建模的目的是根据对应用行业的理解，在逻辑和概念上对数据库进行设计，其影响的是数据库建设完毕后的合理性、通用性和可扩展性。建模是否成功将直接影响到系统是否易用、易扩展，甚至是否成功。地理信息数据库建库过程中遇到的各种问题主要是数据问题，对系统成功进行了建模之后，若数据存在问题，将直接影响到数据的入库。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm">
				<span lang="EN-US" style="FONT-SIZE: 10pt">2.<span>      </span></span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据入库</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm; TEXT-INDENT: 21pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">在数据入库的过程中，其核心是如何依据所制定的数据规范将各种格式的数据，准确的、快速的导入到数据库中。在这个过程中遇到的问题，其根本就是如何解决不同平台之间数据集成的问题。在《</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">开发者》第八期电子杂志中，曾提出共相式地理信息系统，其目的之一也是为了解决数据源的集成问题。在目前，实现地理信息多源数据集成的方式大致有三种，即数据互操作模式，直接数据访问模式和数据格式转换模式。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt"> <br /><o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<?xml:namespace prefix = v /?>
						<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
								<v:stroke joinstyle="miter">
								</v:stroke>
								<v:formulas>
										<v:f eqn="if lineDrawn pixelLineWidth 0">
										</v:f>
										<v:f eqn="sum @0 1 0">
										</v:f>
										<v:f eqn="sum 0 0 @1">
										</v:f>
										<v:f eqn="prod @2 1 2">
										</v:f>
										<v:f eqn="prod @3 21600 pixelWidth">
										</v:f>
										<v:f eqn="prod @3 21600 pixelHeight">
										</v:f>
										<v:f eqn="sum @0 0 1">
										</v:f>
										<v:f eqn="prod @6 1 2">
										</v:f>
										<v:f eqn="prod @7 21600 pixelWidth">
										</v:f>
										<v:f eqn="sum @8 21600 0">
										</v:f>
										<v:f eqn="prod @7 21600 pixelHeight">
										</v:f>
										<v:f eqn="sum @10 21600 0">
										</v:f>
								</v:formulas>
								<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect">
								</v:path>
								<o:lock v:ext="edit" aspectratio="t">
								</o:lock>
						</v:shapetype>
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm; TEXT-ALIGN: center" align="center">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">
						<img height="420" alt="共相式GIS支持多种数据格式的技术框架示意图.gif" src="http://www.blogjava.net/images/blogjava_net/flyingis/%E5%85%B1%E7%9B%B8%E5%BC%8FGIS%E6%94%AF%E6%8C%81%E5%A4%9A%E7%A7%8D%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F%E7%9A%84%E6%8A%80%E6%9C%AF%E6%A1%86%E6%9E%B6%E7%A4%BA%E6%84%8F%E5%9B%BE.gif" width="617" border="0" />
						<br />
						<br />共相式</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">支持多种数据格式的技术框架示意图</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm; TEXT-ALIGN: center" align="center">
				<span lang="EN-US" style="FONT-SIZE: 10pt">(</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">注：该图引用自《</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">开发者》第八期电子杂志</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">)<o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm 7.8pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(1)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据互操作模式。数据互操作模式是</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">OpenGIS Consortium</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">（</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">OGC</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">）制定的规范。这种模式和数据入库的思路有所不同。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm 7.8pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(2)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">直接数据访问模式。直接数据访问模式是指在一个</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">软件中，实现对其他软件数据格式的直接访问，用户可以使用单个</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS </span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">软件存取多种数据格式。以</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">ArcGIS</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">为例，它可以打开多种</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS </span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">平台及其它相关软件的数据。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm 7.8pt 18pt; TEXT-INDENT: -18pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<span>(3)<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">     </span></span>
				</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据格式转换模式格式转换模式是传统的</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据集成方法，也是入库的基本思想。在这种模式下，其他数据格式经专门的数据转换程序进行格式转换后，就可以进行入库了。例如，在</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">ArcToolBox(</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">版本</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">9</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">以后被整合到</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">ArcMap</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">和</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">ArcCatalog</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">中</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">)</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">里，就有多种数据格式转换的工具。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm; TEXT-INDENT: 18pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据格式转换是目前</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">系统集成的主要办法。现在基本上每个主流</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">平台都提供了一些数据转换工具，以</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">ESRI</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">公司的</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">ArcGIS </span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">平台提供了</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">ArcToolBox</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">工具箱，功能相对完善，基本上支持所有市面上各种主流的</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">GIS</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据，例如</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">Autodesk</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">公司的</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">DWG</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">格式文件和</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">DXF</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">格式文件，</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">MapInfo </span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">公司的</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">MIF </span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">格式，</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">Intergraph</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">的</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">DGN</span>
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">格式，以及各种栅格图形数据等等，基本上满足了一般数据入库的要求。此外，还有其它许多专门的数据格式转换工具可以使用。由此可以看出，只要提供的源数据是正确的，符合规范的，那么利用上述工具就可以将数据导入到数据库中，从而顺利的完成建库的工作。因此，源数据的准确性和规范性就成为建库成功的十分关键的因素。由此看来，数据校验就成为建库能否顺利进行的关键所在。</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 7.8pt 0cm; TEXT-INDENT: 18pt">
				<span style="FONT-SIZE: 10pt; FONT-FAMILY: 宋体">数据校验需要完成哪些工作，怎样进行校验与把关才能在建库之初就能预测各种潜在的问题，因此，需要仔细分析导致数据不准确、不规范的原因。一般<font color="#000000">情况下，需要从数据规范和数据生产过程中考</font>虑。<br /><br /><font face="Times New Roman" color="#000080"><a href="/flyingis/archive/2005/12/25/25370.html">GIS数据建库基本思想(下)</a></font></span>
		</p>
		<br />
		<font size="2">
				<font face="Verdana">原文链接：<font color="#000080"><a href="http://www.gissky.net/blog/blog.asp?name=bluewood">http://www.gissky.net/blog/blog.asp?name=bluewood</a></font><br /><br />文章进行了简单增改，对于本文的争议请看文后的评论。<br /></font>
		</font>
<img src ="http://www.blogjava.net/flyingis/aggbug/25114.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/flyingis/" target="_blank">Flyingis</a> 2005-12-22 18:43 <a href="http://www.blogjava.net/flyingis/archive/2005/12/22/25114.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>