﻿<?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-I am Thinking !-文章分类-OpenGIS</title><link>http://www.blogjava.net/Juizes361/category/42185.html</link><description>路漫漫兮其修远兮,吾将上下而求索!</description><language>zh-cn</language><lastBuildDate>Sat, 05 Dec 2009 03:12:45 GMT</lastBuildDate><pubDate>Sat, 05 Dec 2009 03:12:45 GMT</pubDate><ttl>60</ttl><item><title>WMS简介(转)</title><link>http://www.blogjava.net/Juizes361/articles/300651.html</link><dc:creator>残叶舞风</dc:creator><author>残叶舞风</author><pubDate>Mon, 02 Nov 2009 02:31:00 GMT</pubDate><guid>http://www.blogjava.net/Juizes361/articles/300651.html</guid><wfw:comment>http://www.blogjava.net/Juizes361/comments/300651.html</wfw:comment><comments>http://www.blogjava.net/Juizes361/articles/300651.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Juizes361/comments/commentRss/300651.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Juizes361/services/trackbacks/300651.html</trackback:ping><description><![CDATA[<span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">
<p><strong><br />
</strong></p>
<p><strong>1 简要介绍</strong><br />
WMS是OGC标准中比较简单也是比较重要的标准之一。它全称是&#8220;Web Map
Service&#8221;（网络地图服务）。此标准主要定义了用于创建和显示地图图像的三大操作：GetCapabilities（获取服务能力）,
GetMap（获取地图）和GetFeatureInfo（获取对象信息）。其中GetMap为核心操作，此操作得到一幅地图图像。</p>
<p><strong><br />
</strong></p>
<p><strong>2 GetMap请求</strong><br />
GetMap请求类似于在Web上请求一幅图像，但它的请求参数更加复杂。下面是一个样例请求：</p>
<p><span style="color: #0817ff;">http://webmapping.mgis.psu.edu/geoserver/wms?version=1.1.1&amp;request=getmap&amp;layers=topp:states&amp;styles=population&amp;SRS=EPSG:4326&amp;bbox=-125,24,-67,50&amp;width=400&amp;height=200&amp;format=image/png</span></p>
<p>返回的图像如下图所示：</p>
<p><img title="WMS" style="width: 164px; height: 82px;" src="http://www.blogjava.net/images/blogjava_net/juizes361/wms_1.jpg" alt="" align="left" border="0" height="82" width="164" /></p>
<p>&nbsp;</p>
<p><br />
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>其中：</p>
<p>http:// —— 使用的网络协议</p>
<p>webmapping.mgis.psu.edu/ —— 主机域名</p>
<p>geoserver/wms —— 页面或web程序位置</p>
<p>参数 ——</p>
<p>version=1.1.1 —— WMS版本号</p>
<p>request=getmap —— 操作动词，可以为GetCapabilities, GetMap和GetFeatureInfo等</p>
<p>layers=topp:states —— 请求地图所包含的图层名，可以为多层</p>
<p>styles=population —— 指定图层绘制的样式名</p>
<p>SRS=EPSG:4326 —— 指定地图的坐标投影系统代码</p>
<p>bbox=-125,24,-67,50 —— 请求地图的范围（The Bounding Box）</p>
<p>width=400 —— 地图的像素宽度</p>
<p>height=200 —— 地图的像素高度，宽度和高度的不同设置可能会引起返回图像的变形</p>
<p><img title="WMS" src="http://www.blogjava.net/images/blogjava_net/juizes361/wms_2.jpg" alt="" align="left" border="0" height="54" width="164" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>format=image/png —— 返回地图图像的格式，可以为Image/gif, image/jpg, image/svg+xml等等</p>
<p>如果参数设置错误，将返回一个XML文件来描述错误信息。如下所示：</p>
</span></span>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ServiceExceptionReport&nbsp;</span><span style="color: #ff0000;">version</span><span style="color: #0000ff;">=&#8221;1.1.1&#8220;&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff0000;">&lt;ServiceException&nbsp;code</span><span style="color: #0000ff;">=&#8221;"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #ff0000;">WIDTH&nbsp;and&nbsp;HEIGHT&nbsp;incorrectly&nbsp;specified<br />
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/ServiceException</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ServiceExceptionReport</span><span style="color: #0000ff;">&gt;</span></div>
<span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">
<p>&nbsp;</p>
<p><strong>3 GetCapabilities请求</strong><br />
GetCapabilities请求用于查询WMS服务的能力信息，包括支持的服务、支持的格式、空间坐标、地图列表、地图样式等。它主要的目的是使客户端在使用GetMap请求前可以对WMS服务有一个基本的了解，从而可以设置正确的参数。</p>
<p>GetCapabilities请求的样例如下所示：</p>
<p><span style="color: #0817ff;">http://webmapping.mgis.psu.edu/geoserver/wms?version=1.1.1&amp;request=getcapabilities</span></p>
<p>返回是一个XML文件，包括Service、Capability等部分，详细信息可以查看返回XML文件。</p>
<p><br />
</p>
<p><strong>4 GetFeatureInfo请求</strong><br />
GetFeatureInfo用于查询屏幕某点的对象信息，它的样例请求如下所示：</p>
<p><span style="color: #0817ff;">http://webmapping.mgis.psu.edu/geoserver/wms?version=1.1.1&amp;request=getfeatureinfo&amp;layers=topp:states&amp;styles=population&amp;SRS=EPSG:4326&amp;bbox=-125,24,-67,50&amp;<br />
width=400&amp;height=200&amp;format=text/html&amp;X=100&amp;y=100&amp;query_layers=topp:states</span></p>
<p>此请求返回一个HTML文档来描述对象，如下所示：</p>
</span></span>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;"><span style="color: #2708ff;"><span style="font-size: 8pt;"><span style="font-size: 10pt;">Results&nbsp;for&nbsp;FeatureType&nbsp;&#8217;states&#8217;:<br />
——————————————&#8211;<br />
the_geom&nbsp;=&nbsp;[GEOMETRY&nbsp;(MultiPolygon)&nbsp;with&nbsp;153&nbsp;points]<br />
STATE_NAME&nbsp;=&nbsp;Arizona<br />
STATE_FIPS&nbsp;=&nbsp;04<br />
SUB_REGION&nbsp;=&nbsp;Mtn<br />
STATE_ABBR&nbsp;=&nbsp;AZ<br />
LAND_KM&nbsp;=&nbsp;294333.462<br />
WATER_KM&nbsp;=&nbsp;942.772<br />
PERSONS&nbsp;=&nbsp;3665228.0<br />
FAMILIES&nbsp;=&nbsp;940106.0<br />
HOUSHOLD&nbsp;=&nbsp;1368843.0<br />
MALE&nbsp;=&nbsp;1810691.0<br />
FEMALE&nbsp;=&nbsp;1854537.0<br />
WORKERS&nbsp;=&nbsp;1358263.0<br />
DRVALONE&nbsp;=&nbsp;1178320.0<br />
CARPOOL&nbsp;=&nbsp;239083.0<br />
PUBTRANS&nbsp;=&nbsp;32856.0<br />
EMPLOYED&nbsp;=&nbsp;1603896.0<br />
UNEMPLOY&nbsp;=&nbsp;123902.0<br />
SERVICE&nbsp;=&nbsp;455896.0<br />
MANUAL&nbsp;=&nbsp;185109.0<br />
P_MALE&nbsp;=&nbsp;0.494<br />
P_FEMALE&nbsp;=&nbsp;0.506<br />
SAMP_POP&nbsp;=&nbsp;468178.0</span></span></span></span></div>
<span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">
<p><span style="font-size: 8pt;">
<p><br />
</p>
<p>&nbsp;</p>
</span></p>
<p><br />
</p>
</span></span>
<img src ="http://www.blogjava.net/Juizes361/aggbug/300651.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Juizes361/" target="_blank">残叶舞风</a> 2009-11-02 10:31 <a href="http://www.blogjava.net/Juizes361/articles/300651.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>安装postgis,使用postgis导入shapefile的步骤总结(转)</title><link>http://www.blogjava.net/Juizes361/articles/300302.html</link><dc:creator>残叶舞风</dc:creator><author>残叶舞风</author><pubDate>Fri, 30 Oct 2009 01:36:00 GMT</pubDate><guid>http://www.blogjava.net/Juizes361/articles/300302.html</guid><wfw:comment>http://www.blogjava.net/Juizes361/comments/300302.html</wfw:comment><comments>http://www.blogjava.net/Juizes361/articles/300302.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Juizes361/comments/commentRss/300302.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Juizes361/services/trackbacks/300302.html</trackback:ping><description><![CDATA[<span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">
<p><br />
</p>
<p><strong><span style="font-size: 12pt;">一. 安装postgis</span></strong></p>
<p>&nbsp;&nbsp;&nbsp; (1) 首先到postgresql的官方网站(<cite>www.<strong>postgresql</strong>.org</cite>)上下载最新版的开源数据库postgresql,我当前下载的最新安装包是postgresql-8.3.6-1-windows.exe </p>
<p>&nbsp;&nbsp;&nbsp; (2) 运行该exe,按照向导安装之,在安装过程中最好关闭防火墙,以及监控;另外最好将安装目录设置为NTFS分区的盘上.</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>(3) 安装完成后提示你是否在退出时配置application stack builder,这里购选上它,然后点finish</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>(4) 进入application stack builder向导后,选择postgresql 8.3 on port 5432,点next.</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>(5) 在application list中沟选中你要安装的application,这里必须沟选postgis-pg83-setup-1.3.5-1.exe</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>(6) 下一步,选择下载服务器,下载完成后开始安装相应的application.</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>(7) 在安装时要注意,有两处都要设置密码,不要设置密码为空.</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>(8) 这样根据向导就可以成功安装postgis了</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>安装postgis过程中可能会出现:</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>"Error opening file for writing: c:\program files\PostgreSQL\8.3\bin\libiconv-2.dll"的提示,这里我们可以忽略之.</p>
<p><br />
</p>
<p><strong><span style="font-size: 12pt;">二. 向postgis导入shapefile数据</span></strong></p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>(1)安装后运行pgadmin III,右击postgresql 8.3(localhost)服务器,连接之,这里的密码是你安装时设置的密码,务必牢记.</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>(2)连接后,我们发现postgis安装后自动给我们生成了一个数据库template_postgis,我们将要导入的数据就需要放到这个数据库中.</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>(3)运行命名提示符cmd.exe,将其转向C:\Program Files\PostgreSQL\8.3\bin(或者将cmd.exe复制到该目录下)如下:</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>C:\Program Files\PostgreSQL\8.3\bin&gt;</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>(4)首先将shp生成对应的sql脚本,键入以下字符</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>C:\Program Files\PostgreSQL\8.3\bin&gt;shp2pgsql -W "GBK" D:\CampusGISProject\new_pku_vector\viwpt.shp viwpt &gt; D:\CampusGISProject\new_pku_vector\viwpt.sql</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>这里的-W
"GBK"代表字符编码的转换,D:\CampusGISProject\new_pku_vector\viwpt.shp则是要生成sql脚本的
shp文件.viwpt是创建数据表的表名,&gt;不能少,D:\CampusGISProject\new_pku_vector
\viwpt.sql则是要生成SQL文件的绝对目录</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 生成成功后命令提示符会显示如下: </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; Shapefile type: Point<br />
&nbsp;&nbsp;&nbsp;&nbsp; Postgis type: POINT[2]</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>(5)然后我们执行sql语句,执行该SQL语句文件,导入数据到数据库template_postgis中</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>C:\Program Files\PostgreSQL\8.3\bin&gt;psql -d template_postgis -f D:\CampusGISProject\new_pku_vector\viwpt.sql postgres</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>其中 template_postgis是数据库名,postgres是该数据库的用户.</p>
<p><br />
</p>
<p><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; </span></span>执行成功后,刷新该数据库,就可以看到新生成的数据表viwpt<span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">, </span></span>这样viwpt.shp数据就成功导入到了postgis中了.<br />
</p>
</span></span><span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;"><br />
<br />
<br />
</span></span>
<img src ="http://www.blogjava.net/Juizes361/aggbug/300302.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Juizes361/" target="_blank">残叶舞风</a> 2009-10-30 09:36 <a href="http://www.blogjava.net/Juizes361/articles/300302.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用OpenLayers开发WebGIS客户端(转)</title><link>http://www.blogjava.net/Juizes361/articles/299170.html</link><dc:creator>残叶舞风</dc:creator><author>残叶舞风</author><pubDate>Wed, 21 Oct 2009 03:18:00 GMT</pubDate><guid>http://www.blogjava.net/Juizes361/articles/299170.html</guid><wfw:comment>http://www.blogjava.net/Juizes361/comments/299170.html</wfw:comment><comments>http://www.blogjava.net/Juizes361/articles/299170.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Juizes361/comments/commentRss/299170.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Juizes361/services/trackbacks/299170.html</trackback:ping><description><![CDATA[<span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">
<p>OpenLayers是一个开源的js框架，用于在您的浏览器中实现地图浏览的效果和基本的zoom，pan等功能。OpenLayers支持的地
图来源包括了WMS，GoogleMap，KaMap，MSVirtualEarth等等，您也可以用简单的图片作为源，在这一方面OPenLayers
提供了非常多的选择。</p>
<p>要使用OpenLayers，您可以到它的官方网站http://www.openlayers.org下载他的压缩包，解压后可以看到其中的一些
目录和文件。拷贝dist目录下的OpenLayer.js、根目录下的lib目录、根目录下的img目录到你网站的scrīpts目录下（当然，这个只
是例子，您网站的目录结构您自己说得算，只要保证OpenLayers.js，/lib，/img在同一目录中即可）。</p>
<p>接下来创建一个index.html作为查看地图的页面。导入OpenLayers.js和你将要创建的js。内容需要一个div，我们给它的id起名叫做area。你有必要在写一些CSS限定#area的宽度和高度，如果乐意，加上一个border也是很不错的选择。</p>
<p>废话不多说，我们首先要创建一个OpenLayer.Map对象的实例:<br />
var map = new OpenLayers.Map("area");<br />
其中的参数可以传id，也可以传ElementObject，当然id更加方便一些。</p>
<p>接下来就是向地图中添加图层，通常情况下使用OpenLayers.Layer的子类来完成图层的初始化。<br />
OpenLayers提供了一下Layers的扩展：
</p>
<ul>
    <li>OpenLayers.Layer.Image</li>
    <li>OpenLayers.Layer.HTTPRequest</li>
    <li>OpenLayers.Layer.Grid</li>
    <li>OpenLayers.Layer.WMS</li>
    <li>OpenLayers.Layer.KaMap</li>
    <li>OpenLayers.Layer.EventPane</li>
    <li>OpenLayers.Layer.Google</li>
    <li>OpenLayers.Layer.VirtualEarth</li>
    <li>OpenLayers.Layer.Markers</li>
    <li>OpenLayers.Layer.Text</li>
    <li>OpenLayers.Layer.GeoRSS</li>
    <li>OpenLayers.Layer.Boxes</li>
    <li>OpenLayers.Layer.TMS</li>
</ul>
Image类封装一个实际图象作为图曾内容<br />
HTTPRequest类可以接收一个动态生成的图片，你可以通过HTTPRequest类的参数向服务器发送参数<br />
Grid类是HTTPRequest类的子类，提供更加详细的方法<br />
WMS类用于连接WMS服务器以获得图象<br />
KaMap类用于连接MapServer<br />
EventPane类作为用于接收用户操作的图层<br />
Google类用于从Google获得图象，它仍然需要你从Google获得API KEY，并且include<br />
VirtualEarth类用于操作VirtualEarth的图层<br />
Markers类用于生成接收和显示用户本地标记的图层<br />
Text类用于接收CSV文件<br />
GeoRSS类是Marker类的子类，用于封装接收GeoRSS并在图层中作出marker<br />
Boxes同样也是Marker类的子类，可以用div来做marker，而非image<br />
TMS用于接收TMS服务器的地图
<p>创建完图层后，可以用Map的addLayer(layer)方法插入，并执行Map的zoomToMaxExtent()方法让地图合适地显示。</p>
<p>OpenLayers还提供了丰富的Control类为地图浏览添加一些工具，继承自OpenLayers.Control类
</p>
<ul>
    <li>OpenLayers.Control.LayerSwitcher</li>
    <li>OpenLayers.Control.MouseDefaults</li>
    <li>OpenLayers.Control.MousePosition</li>
    <li>OpenLayers.Control.MouseToolbar</li>
    <li>OpenLayers.Control.OverviewMap</li>
    <li>OpenLayers.Control.PanZoom</li>
    <li>OpenLayers.Control.PanZoomBar</li>
    <li>OpenLayers.Control.Permalink</li>
    <li>OpenLayers.Control.Scale</li>
</ul>
这些类的实例会在地图浏览的&#8220;窗口&#8221;上增加一些工具栏或是&#8220;按钮&#8221;，增加互动性和功能性。
<p>OpenLayers对常用的数据结构进行了封装
</p>
<ul>
    <li>OpenLayers.LonLat</li>
    <li>OpenLayers.Size</li>
    <li>OpenLayers.Pixel</li>
    <li>OpenLayers.Bounds</li>
</ul>
以便于操作。
<p>此外OpenLayers.Util类可以对图片载入错误时图片框的颜色和图片框中默认的图片进行自定义，这一点是非常方便的。OpenLayers的Ajax类对创建XHR对象的过程进行了封装，可以使用它进行简单的Ajax操作。</p>
<p><br />
</p>
<p><br />
</p>
</span></span>
<img src ="http://www.blogjava.net/Juizes361/aggbug/299170.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Juizes361/" target="_blank">残叶舞风</a> 2009-10-21 11:18 <a href="http://www.blogjava.net/Juizes361/articles/299170.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GIS研究方向(转)</title><link>http://www.blogjava.net/Juizes361/articles/299075.html</link><dc:creator>残叶舞风</dc:creator><author>残叶舞风</author><pubDate>Tue, 20 Oct 2009 09:25:00 GMT</pubDate><guid>http://www.blogjava.net/Juizes361/articles/299075.html</guid><wfw:comment>http://www.blogjava.net/Juizes361/comments/299075.html</wfw:comment><comments>http://www.blogjava.net/Juizes361/articles/299075.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Juizes361/comments/commentRss/299075.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Juizes361/services/trackbacks/299075.html</trackback:ping><description><![CDATA[<span style="font-size: 10pt;"><span style="font-family: Comic Sans MS;">
<p style="margin: 0cm 0cm 0pt 21pt; text-indent: 21pt;" class="MsoNormal">GIS
已经深入到各行业的应用中，从最早面向制图的系统发展到桌面GIS，随着互联网的发展，出现了WEBGIS，并得到了迅速发展，近年来，智能手机的普及，
嵌入式GIS正成为一种新的客户终端，将被广泛应用到各行业中，硬件性能的提升，三维GIS也逐步被重视起来；同时，随着数据库系统的广泛应用，GIS数
据管理，也从文件系统发展到空间数据库系统；从基础理论研究的角度来讲，时态GIS、空间数据挖掘、自动制图综合等一直是GIS中最难解决的核心课题，吸
引很多科研人员不断在这一领域辛勤耕耘。下面重点谈几个研究方向。</p>
<p><strong>一、&nbsp;空间数据库</strong></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一提到&#8220;空间数据库&#8221;，大家就会想到oracle spatial、arcsde、SuperMap SDX+ 等，实现了GIS图形数据的数据库存储和管理，但仅仅有这些，还不能称其为&#8220;空间数据库&#8221;，下面列举几点，说明&#8220;空间数据库&#8221;还需要研究的方向：</p>
<p>1，
空间数据的完整性。这个问题没有得到很好的解决。所谓&#8220;完整性&#8221;，就是数据的正确性和一致性，在关系型数据库中，有&#8220;实体完整性&#8221;、&#8220;参照完整性&#8221;、&#8220;用
户自定义完整性&#8221;；在空间数据库中，语义层面的空间数据的正确性和一致性，就很难界定，它要比关系型属性数据复杂得多。打个比方，一条道路横跨一条河流，
必然经过一座桥，而如果不经过，就必然违背了空间数据的正确性，也就是说&#8220;不完整&#8221;。这只是一个很简单的例子，类似于这样的空间语义关系，是需要空间数据
库提供&#8220;用户自定义完整性约束&#8221;，以保证空间数据的完整性；但目前所谓的&#8220;空间数据库&#8221;还很难保证这一点，arcsde能从&#8220;图形&#8221;层面保证几何规则的完
整性，但还很难从语义层面保证空间语义的完整性。</p>
<p>2， 空间查询的执行效率。一个带有空间和属性的混合查询，是先进行空间查询，再进行属性查询，还是反过来，先进行属性查询，再进行空间查询，还是多个步骤交错进行，这是一个值得思考的问题，怎样作查询效率才更高？</p>
<p>3，
空间数据的物理存储。物理存储，关系到空间数据添加删除修改的性能，而目前，空间数据是以二进制对象或字符等形式，交给关系型数据库来管理的，屏蔽了物理
层的存储细节，粒度较大；同时，空间聚簇与数据更新存在矛盾，如果这些问题交给关系型数据库来处理，还很难得到较好的解决，需要单独针对空间数据实现物理
存储的管理。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以上三点表明，不是空间数据存储在数据库里，实现数据的共享，就是所谓的&#8220;空间数据库&#8221;，总体上来说，&#8220;空间数据库&#8221;还不成熟，这一领域还有许多值得探讨的地方。</p>
<p><strong>二、&nbsp; 时态GIS</strong></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
现在的GIS，属于&#8220;静态GIS&#8221;，只描述了地理空间在某一时间片上的状态，而地理空间状态是随着时间在不断改变的，为了描述这种动态变化的过程，&#8220;时态
GIS&#8221;应运而生，就是加入&#8220;时间维&#8221;来刻画这种动态性，地理空间状态State是时间Time的函数State=F(Time)，输入时间点
Time1，经过F函数的映射得到空间状态State1。有了这样一种本质的抽象，下面我们来探讨一下&#8220;时空模型&#8221;的建立。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
既然地理空间状态State是时间Time的函数State＝F(Time)，假设输入不同的时间点Time1、Time2，我们得到的状态
State1、State2，假设State1&#8800;State2，表明空间状态发生了改变，那么相对应的&#8220;空间索引&#8221;也发生了改变，即State1状态下的
空间索引SpatialIndex1&#8800;State2状态下的空间索引SpatailIndex2。由此，我们将问题转化为
&#8220;空间索引SpatialIndex是时间Time的函数SpatialIndex=G(Time)&#8221;,所以，对事件发生的时间片建立一维索引，并在每个
时间片上存储不同的空间索引，也就是所谓的&#8220;时空索引&#8221;，如果事件发生的时间间隔比较短，每个时间片上都建立完整的空间索引，会造成时间片之间的空间索引
的冗余，为此，可以设定一个的时间片跨度，在跨度之内的时间片上的空间索引采用增量方式，在跨度之上的时间片上，保存一次完整的空间索引。这样，两个时间
片跨度之间，空间索引的合并，工作量并不是很大，可以很好地控制空间索引的冗余。&#8220;时态GIS&#8221;是要保存所有时间片上状态的空间数据，采用以上模型，可以
很好地控制空间数据在不同时间片上存储相同空间数据所带来的冗余。下一步考虑空间数据的存储，存储策略决定着空间数据的存取性能，再下一步，就是&#8220;时空分
析&#8221;，有了时间维，就可以看出地理空间状态演化的过程，为探索空间演化的机理、预测未来发展的趋势打下了基础，时空序列分析，极大地丰富了空间数据挖掘的
内涵。 <br />
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&#8220;时态GIS&#8221;，比现在&#8220;静态GIS&#8221;前进了一大步，更符合现实世界，实用价值更大，但真正实现还有很多的困难，以上只是作者关于&#8220;时空模型和时空索引&#8221;
的一种观点，还有很多需要细化的地方，对于&#8220;时态GIS数据存储&#8221;、&#8220;时空分析&#8221;、&#8220;时间序列挖掘&#8221;还有很多方向有待进一步探讨。总之，&#8220;时态GIS&#8221;是
未来GIS发展重要的研究领域之一。</p>
<p><strong>三、空间数据挖掘</strong></p>
<p>&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;空间数据挖掘，就是从空间数据集中抽取出隐含的、有价值的信息的过程，它源于空间统计、空间分析、机器学习和数据库技术。空间数据不同于其他数
据，比如空间自相关性，即性质相似的对象在地理空间分布上聚集，找出这种某种性质与空间分布的关系，便于找出某种现象背后的本质规律。目前常用的空间数据
挖掘方法有空间聚类、空间分类、关联规则、奇异点挖掘等，实现也有很的理论和技术手段。空间数据挖掘是目前GIS领域最时髦的词，是从时空数据中获得信息
的更高级的手段，开辟了GIS更高的研究领域。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 此外，&#8220;自动制图综合&#8221;是地图学家梦寐以求的目标，目前在这一领域，已经实现了半自动化的程度，离全自动还有很长的路要走，随着人工智能等技术的不断进步，&#8220;自动制图综合&#8221;也会得到更进一步的发展，将带动整个GIS研究上一个更高的水平。</p>
<p><br />
</p>
<p><br />
</p>
<p><br />
</p>
</span></span>
<img src ="http://www.blogjava.net/Juizes361/aggbug/299075.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Juizes361/" target="_blank">残叶舞风</a> 2009-10-20 17:25 <a href="http://www.blogjava.net/Juizes361/articles/299075.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>坐标系统概念(转)</title><link>http://www.blogjava.net/Juizes361/articles/299074.html</link><dc:creator>残叶舞风</dc:creator><author>残叶舞风</author><pubDate>Tue, 20 Oct 2009 09:18:00 GMT</pubDate><guid>http://www.blogjava.net/Juizes361/articles/299074.html</guid><wfw:comment>http://www.blogjava.net/Juizes361/comments/299074.html</wfw:comment><comments>http://www.blogjava.net/Juizes361/articles/299074.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Juizes361/comments/commentRss/299074.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Juizes361/services/trackbacks/299074.html</trackback:ping><description><![CDATA[<span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">
<p><strong>一：需要用到的几个基本概念-------- 球面坐标系</strong></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.&nbsp;&nbsp;几个常涉及到的名词的中英文对照：地形面（Topography）；大地水准面（Geoid）；参考椭球面（Reference Ellipsoid）；基准（Datum）；</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.&nbsp; 基准：就是一组用于描述其他量的量，比如，描述空间位置的基准为位置基准；描述时间的基准为时间基准。具体的例子如：位置基准-----椭球有原点、尺度、定向；时间基准-----起点、尺度等。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.&nbsp;
坐标系转换：首先坐标参照系是由基准和坐标系两部分构成的，坐标系转换实质上是在基准相同的情况下，坐标系之间的相互转换。比如：在同一基准下（即地球椭
球的参数、定位、定向等不变），同一个点既可以用空间直角坐标表示，也可以用大地坐标表示；或者在站心坐标系中，同一个点级可以用站心地平坐标表示，也可
以用站心极坐标法表示。（从这我们也就很容易地明白了：基准转换实质上是基准发生了变化即椭球及其定位定向发生了改变）（无论基准和坐标系哪一个发生了变
化就会导致坐标参照系的改变）</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.&nbsp;
基准转换：实质上是将同一点从某一个基准或坐标参照系下的坐标转换到另一种坐标基准或者坐标参照系下去，即两种基准（椭球参数、定位、定向）之间的转换。
比如：旧BJ54坐标系下的坐标和CGCS2000大地坐标系之间的转换（因为前者是参心坐标系，后者是地心坐标系）</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5.&nbsp; 大地基准：是指用于定义地球参考椭球的一系列参数，主要包括：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 椭球的大小和形状-----只要有长半轴a(Semo--major Axis)和扁率 f (Flattening)即可（注意扁率和偏心率不是一个概念），其他参数均可由他们两个推导得出；</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 椭球短半轴(Semi--minor Axis)指向（Orientation）：通常与地球的自转轴平行；（另外它还和极移和章动有联系）</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 椭球中心的位置：根据需要确定，若为地心则称为地心椭球，否则称为参心椭球；（注意参考和参心的不同含义）</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本初子午线（Prime Meridian）：通过固定平极和经度原点的天文子午线，通常称为格林尼治子午线。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6.&nbsp;
大地坐标系：以大地基准为基础建立的坐标系称为大地坐标系，也称为椭球坐标系，用（B,L,H）来表示空间任一点的位置。其中，H是该点沿该点处法线至参
考椭球面的距离即是我们通常所说的大地高。一般在工程测量当中我们很少使用大地高，而是使用正高或者正常高：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 正高：是空间任一点沿该点处垂线至大地水准面的距离（与大地高的基准面不一样）。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 正常高：由于高程方向上的重力值很难精确表达出来，所以引入距离方向上的重力平均值来进行确定高程值，相应的基准面就是似大地水准面，因为它与大地水准面十分接近。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 大地水准面差距（N）：指的就是空间任一点大地高与正高的差值-------H（大地高）=H（正高）+N；</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 高程异常（sita）：&nbsp;&nbsp;&nbsp;&nbsp;指的就是空间任一点大地高与正常高的差值-------H（大地高）=H（正常高）+sita</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
问题：工程测量当中，平面位置与高程位置的控制分开的主要原因是-------我们虽然可以通过GPS精密单点定位或者差分方法得到精度相当高的
（X,Y,Z）或者（B,L,H），但是他们都是以椭球参考面为基准的，然而我们却无法精确确定大地水准面差距或者高程异常，因而高程方向的精度一般通过
GPS等方法获得的比较低，从而导致我们工程测量当中常常还是采用精密水准测量的方法进行高程控制。 <br />
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
7.&nbsp;
空间直角坐标系/笛卡尔坐标系：实质上点的空间直角坐标就是该点到坐标系原点形成的向径在三个坐标轴上的投影；一般坐标系原点选在参考椭球的中心（参考椭
球分为地心椭球和参心椭球），X轴指向本初子午线与赤道的交点，Z轴与地球自转轴平行并指向参考椭球的北极，最终与Y轴形成右手直角坐标系。一般用
（X,Y,Z）来表示任一点的空间位置。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8.&nbsp; 站心坐标系：分为站心地平坐标系（又称直角坐标系并且是左手系）和站心极坐标系：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 站心地平坐标系：它是以测站标石中心为坐标系原点；</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以该点出椭球法方向为U轴（uppering）；</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;以与U轴垂直并且指向Z轴的方向为N轴（northing）；</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 以东方向为E轴（easting）；</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从而形成左手系。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 站心地平极坐标系：以测站标石中心为原点；NU轴所在平面为起始平面；顺时针为正方向，空间任一点到原点为向径；从而形成的的坐标系。</p>
<p><strong>二：需要用到的几个基本概念-------- 平面坐标系/格网坐标</strong></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
前言：虽然空间任一点我们都可以在球面坐标系下描述其具体位置，但是在实际应用当中，我们还是习惯于在一个平面二维坐标系中来确定一个点的位置。由球面坐
标系转换到平面二维坐标系是通过所谓的&#8220;投影（Projection）&#8221;方法实现的，其投影函数的数学表达方式为：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x=f1(B,L)</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y=f2(B,L)</p>
<p>其中x，y为平面系下的坐标；B, L为任一点的大地坐标系的经纬度；f1，f2为单值、连续、有界的投影函数。在一些文献和软件中也称平面坐标为格网坐标。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.&nbsp;
横轴墨卡托投影：也称为高斯正形投影、高斯--克吕格投影或者高斯投影，我国统一采用高斯投影，一般在工程测量当中采用3度带或6度带投影法，为尽可能减
少由球面坐标系转换到平面坐标系时带来的变形影响，在精密程度要求较高的工程项目当中一般采用3度带法。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 6度带中央子午线经度L=6n-3；其中n是带数标号，起始编号为1，即第一带的中央子午线的经度为3度。我国的经度为69度至135度共跨12带。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3度带的中央子午线一般与6度带的重合，一般和6度带的边沿重合，其中央子午线经度的计算公式为：L=3n；</p>
<p>其中n=1，2，3，。。。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 按照目前我的测绘法规规定：在国内进行测量工作时，在需要进行球面坐标系到平面坐标系的转换时，统一采用高斯投影法。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.&nbsp; 通用横轴墨卡托投影（UTM）：有些西方国家为了控制投影带边沿的变形，采用之。它的显著特点是：投影后中央子午线的长度发生变化，与原来的比值为0.9996.它与高斯投影坐标之间的关系用公式表示如下：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x(U)=0.9996 x(G)</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y(U)=0.9996 y(G)</p>
<p><strong>三：常用的地球参照系和参考框架</strong></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.&nbsp; 地球参照系：是一种地固系，一种固定在地球上随地球一同旋转的坐标系。同样根据地球参照系原点选取的不同分为地心系和参心系。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.&nbsp; 协议地球参照系（CTRS）：是一种相对地球固定的地心系</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 目的：主要是为了解决全球坐标参照系不统一带来的各种问题和不便。&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;协议地球参照系：Conventional Terrestrial Reference System（英文名称）</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 原点：地球质心</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Z轴：指向协议地极CTP（Conventional Terrestrial Pole）,即是1900----1905年间地极的平均位置</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; X轴：指向协议赤道与格林威治子午圈的交点，最终与Y轴一起形成右手坐标系</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3.&nbsp;
协议地球框架(CTRF)：是一组-------具有指定协议的地球参照系下的-------具有精确坐标的点。这些点即协议地球框架是刚述及的协议地球
参考系的实现。CTRF（Conventional Terrestrial Reference ）</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4.&nbsp; GPS测量定位中的地球参照系和参考框架</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在卫星导航定位系统中，轨道数据通常是地心地固系（ECEF----Earth-Centered Earth-Fixed）下的数据,只有这样才能保证最终的定位结果和轨道数据同属于相同的坐标参照系，以方便进行相关计算。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 目前，较为常用的GPS卫星轨道数据主要有两种：基于WGS-84的广播星历和基于国际地球参考框架（ITRF）的IGS精密星历。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WGS-84地球参照系：若测量定位时采用的是广播星历，则结果属于WGS-84系。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WGS-84地球参照系是一个协议地球参照系，是一个地心地固右手正交坐标系。其定义的准则如下：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.&nbsp; 为地心系，原点位于包括海洋和大气在内的整个地球的质心</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.&nbsp; 尺度在局部地球框架下，遵守相对论原理</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.&nbsp; 初始定向由国际时间局（BIH）1984.0的定向给定</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d.&nbsp; 定向中的时变不会使地壳产生残余的全球性旋转</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 根据上述准则，WGS-84协议地球参照系的定义如下：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.&nbsp; 原点位于地球质心（Earth's Center of Mass）</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.&nbsp; Z轴与IERS(国际地球自转及参照系服务-----International Earth
Rotation and&nbsp;Reference System Service)参考极（IRP---IERS Reference
Pole）指向相同，该指向与1984.0历元的BIH协议地极（CTP-----Conventional Terrestrial Pole）一致</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.&nbsp; X轴指向IERS参考子午线（IRM）与过原点且垂直于Z轴平面的交点</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d.&nbsp; Y轴最终完成右手地心地固正交系</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 国际地球参照系（ITRS-----International Terrestrial Reference System）是由IERS所定义的一个协议地球参照系，其定义满足如下条件：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.&nbsp; 原点位于地球质心，地球质心为包括海洋和大气在内的整个地球的质心</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.&nbsp; 长度尺度为国际单位制米</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.&nbsp; 初始定向为国际时间局（BIH）所给出的1984.0定向</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d.&nbsp; 定向的时变通过一个关于全球水平运动构造运动的非净旋转条件</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 国际地球参考框架：是ITRS的实现，是由一组具有ITRS下坐标和速度估值的IERS观测站组成，并由IERS中心局的地球参考框架部负责建立和维护。下面仅以ITRF2000的基准定义为例说明：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.&nbsp; 尺度：通过将ITRF2000与VLBI 和所有可靠SLR解的加权平均值之间的尺度和尺度扁率设为0来实现</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.&nbsp; 原点：（略）</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.&nbsp; 定向：（略）</p>
<p>&nbsp;&nbsp;&nbsp; 5.&nbsp; 我国常用坐标参照系</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A.&nbsp; 旧1954北京坐标系（参心坐标系）</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1954北京坐标系是我国目前广泛采用的大地测量坐标系。该坐标系源自于前苏联1942年普尔科夫坐标系。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;椭球：克拉索夫斯基椭球</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;长半轴a：6378245m</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 扁率f：1/298.3</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 高程：以1956年青岛验潮站的黄海平均海水面为基准</p>
<p><br />
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 缺点：（包括3个方面，后续）</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B.&nbsp; 1980西安大地坐标系（参心坐标系）</p>
<p>&nbsp;原因：a.&nbsp; 1954坐标系椭球参数长半轴有108m的差距与现在的精确值</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.&nbsp; 参考椭球面与我国大地水准面之间存在自西向东的系统性倾斜，东部差距达68m</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.&nbsp; 几何大地测量和物理大地测量应用的参考面不统一。重力数据处理时采用的是赫尔默特正常重力公式，与其相应的椭球为赫尔默特椭球，这与克拉索夫斯基椭球不一致。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d.&nbsp; 定向不明确：克拉索夫斯基椭球短半轴既不指向CIO也不指向我国地极原点JYD1968.0；同时其起始子午面也不是国际时间局所定义的格林尼治平均天文台子午面。这给坐标换算带来了很多麻烦。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.&nbsp; 1954坐标系还是按局部平差逐步提供大地点成果的，因此不可避免地会出现一些矛盾和不够合理的地方。</p>
<p>原则：a.&nbsp; 全国天文大地网整体平差要在新的坐标系的参考椭球面上进行。为此首先需要建立一个新的大地坐标系，并名之为1980国家大地坐标系；</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.&nbsp; 1980国家大地坐标系的大地原点定在我国中部。具体选在陕西泾阳县永乐镇</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.&nbsp;
采用国际大地测量和地球物理联合会1975年推荐的四个地球椭球参数（a,J2,GM,omega），并根据这四个参数求解椭球扁率和其它参
数。（a=6378140m；GM=3.986005*pow（10，14）；J2=1.08263*pow（10，-8）；omega=7.292115*pow（10，-5））</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d.&nbsp; 1980年国家大地坐标系的椭圆短半轴平行于地球质心指向我国地极原点JYD1968.0方向；大地起始子午面平行于格林尼治天文台的平均子午面</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.&nbsp; 高程方向的约束条件：椭球定位参数以我国范围内----高程异常值平方和------最小。</p>
<p>优点：a.&nbsp; 参心坐标系是在1954北京坐标系的基础上建立起来的（参见《大地测量学》162页（20-8）式）&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.&nbsp; 椭球面同似大地水准面在我国境内最为密合，并且是多点定位</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.&nbsp; 定向明确</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d.&nbsp; 大地原点位置居中，比较适当</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.&nbsp; 大地高程基准采用1956黄海高程系&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>C.&nbsp;&nbsp;新1954北京坐标系</p>
<p>原因：由于1954旧坐标系存在时间较长，而它又与GDZ80两者之间的差距较大，所以给成果的使用带来了很大的不便。促使人们建立一个介于两者之间的新1954坐标系。</p>
<p>特点：a.&nbsp; 新BJ54是-------在GDZ80的基础上，改变GDZ80的IUGG1975椭球几何参数为克拉索夫斯基椭球参数；并将GDZ80坐标原点进行平移-------从而建立起来的。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.&nbsp; 综合GDZ80和旧BJ54建立起来的</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.&nbsp; 采用多点定位，但椭球面与大地水准面在我国境内不是最佳拟合</p>
<p><br />
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d.&nbsp; 定向明确。与GDZ80平行</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.&nbsp; 大地原点与GDZ80相同，但是大地起算数据不同（注意区分参考椭球中心或者坐标系原点与大地原点的区别）&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f.&nbsp; 与旧BJ54相比，所采用的椭球参数相同，定位相近，但是定向不同。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; g.&nbsp; 旧BJ54是局部平差，新BJ54是GDZ80整体平差结果的转换值，因此，新旧BJ54之间并无全国范围内统一的转换参数，只能进行局部转换。</p>
<p>D.&nbsp; 2000国家大地坐标系</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 原因：a.&nbsp;&nbsp;目前，我国实际使用的1954BJ坐标系和GDZ80坐标系，实质上都只是&#8220;参心&#8221;坐标系。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.&nbsp; 随着科学技术的进步，越来越多的实际应用要求建立和采用&#8220;地心&#8221;坐标系</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c.&nbsp; 空间定位技术的发展，使得建立高精度的&#8220;地心&#8221;坐标系称为可能</p>
<p>顺应时代的潮流和要求，我国提出并建立了2000国家大地坐标系CGCS2000（China Geodetic Coordinate System 2000）。</p>
<p>地心系CGCS2000的定义如下：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a.&nbsp; 原点：包括海洋和大气在内的整个地球的质心</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b.&nbsp; 长度单位：国际单位制m，与局部地心框架下的地心坐标时一致，通过适当的相对论模型获得</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.&nbsp; 定向：初始定向由1984.0时的BIH 定向给出</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d.&nbsp; 定向的时变：定向的时变不产生相对于地壳的残余全球旋转</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.&nbsp;
CGCS2000大地坐标系是右手地固直角坐标系（直角坐标系包括笛卡尔空间直角坐标系（X、Y、Z）和空间大地直角坐标系（B、L、H））。原点位于地
球质心；Z轴与IERS参考极（IRP）方向一致，X轴为IERS参考子午面（IRM）与垂直于Z轴的赤道面的交线，Y轴与Z轴、X轴垂直并最终形成右手
正交系。</p>
<p>参考椭球采用2000参考椭球，其相应参数为：</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a=6378137m</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GM=3.986004418*pow（10，14）</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; J2=0.001082629832258</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; omega=7.292115*pow（10，-5）</p>
<p><strong>四、.坐标转换</strong></p>
<p>易混淆的两点：&#8220;坐标参照系和基准&#8221;、&#8220;坐标参照系和坐标系&#8221;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a.&nbsp; &nbsp;首先，前面已经述及：坐标参照系包括基准和坐标系两部分。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; b.&nbsp; 任一特定的基准和任一特定的坐标系的组合都形成特定地一个坐标参照系。</p>
<p><span style="font-size: 15px; color: #333333; line-height: 150%;">
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.&nbsp; 坐标系包括空间直角(X,Y,Z)、大地坐标系(B,L,H)、站心直角(N,E,U)和站心极坐标系（R,A,EL）等,但是我们这里说的坐标系没有指定其原点位置和坐标轴指向即它只是&#8220;无根的浮萍&#8221;。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d.&nbsp; 基准的作用就是给特定的坐标系进行特定的定位和定向。因此，一个坐标参照系必须同时包括基准和坐标系两个部分才完整。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 原因：主要是由于不同坐标系、不同基准和不同坐标系的存在，导致常常需要在他们之间进行相互转换。转换分为两个基本类型：1.&nbsp; 坐标系转换&nbsp;&nbsp; 2.&nbsp; 基准转换</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 一：坐标系转换</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
定义：指的是同一点的坐标------在相同基准--------由一种坐标系下的坐标转换为另一种坐标系下的坐标。比如，同一坐标参照系下空间直角坐标
与大地坐标之间的转换；站心地平到站心极坐标之间的转换-----共同的特点是：1.&nbsp;
坐标系转换不涉及基准转换（即不涉及椭球参数及其定位和定向的转换，也即它们不变）&nbsp; 2.&nbsp;
坐标系转换中的两种坐标实际上是同一点不同坐标表达方式间的变换，具有一一对应的关系。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 二、基准转换</p>
<p>定义：就是两种坐标系由于采用的椭球参数、定位、定向或者由于尺度设置不同等原因导致两种基准之间的变换。基准变换和坐标系变换是本质上的区别。基准变换常见的是地心系与参心系之间的变换。</p>
<p>基准变换常见的使用方法有：布尔沙-沃尔夫模型和莫洛金斯基模型</p>
<p>1.&nbsp; 布尔沙-沃尔夫模型</p>
<p>在我国常被简称为布尔沙模型或者七参数模型或者七参数赫尔默特变换------三个平移参数Tx,Ty,Tz,------3个旋转参数OMEGAx,OMEGAy,OMEGAz（也称3个欧拉角）--------1个尺度参数m</p>
<p><br />
</p>
<p><br />
</p>
</span></p>
<p><br />
</p>
</span></span>
<img src ="http://www.blogjava.net/Juizes361/aggbug/299074.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Juizes361/" target="_blank">残叶舞风</a> 2009-10-20 17:18 <a href="http://www.blogjava.net/Juizes361/articles/299074.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GIS：在正确的时间出现的正确技术</title><link>http://www.blogjava.net/Juizes361/articles/299069.html</link><dc:creator>残叶舞风</dc:creator><author>残叶舞风</author><pubDate>Tue, 20 Oct 2009 08:59:00 GMT</pubDate><guid>http://www.blogjava.net/Juizes361/articles/299069.html</guid><wfw:comment>http://www.blogjava.net/Juizes361/comments/299069.html</wfw:comment><comments>http://www.blogjava.net/Juizes361/articles/299069.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Juizes361/comments/commentRss/299069.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Juizes361/services/trackbacks/299069.html</trackback:ping><description><![CDATA[<span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; 罗杰&#8226;汤姆林森博士，《探索GIS：用地理信息系统进行规划》（《Thinking About GIS: Geographic
Information System Planning for
Managers》）一书的作者。他于1963年创建了一个由地理专业学者组成的咨询公司——汤姆林森联合有限公司。他向包括世界银行、美国和加拿大的森
林服务部门在内的诸多客户提供咨询建议。他获得了两个学士学位；从加拿大蒙特利尔的麦基尔大学获得了硕士学位；从英国伦敦大学学院获得了博士学位。他还在
世界各地成功举办了各种GIS规划方面的研讨会。
<p align="center"><img alt="" src="http://www.blogjava.net/images/blogjava_net/juizes361/RogerTomlinson.jpg" height="261" width="198" /><br />
</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 作为最早提出&#8220;地理信息系统&#8221;这个名词的人，汤姆林森最近向ESRI的吉姆&#8226;波曼讲述了他在GIS领域的开创性工作，以及他对GIS未来的看法。</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 波曼：您通常被称作是&#8220;GIS之父&#8221;。您能谈谈GIS发展的历史进程吗？</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
汤姆林森：作为一种标准的地理分析技术，地图叠加的概念已经存在很长时间了。比如，在第二次世界大战后不久，英国的皇家规划研究所提供了一本关于地图叠加
技术的手册。其中一项技术叫做筛选叠图（sieve
mapping），在战后常被土地利用规划师用来评价一个地区是否适宜建造某项工程或者进行某项活动。这种评价首先从研究区的基础地图开始，将透明的印有
格网的薄片叠放到地图上。每一个透明的薄片代表了特定的准则。如果某块区域不适合某项活动，格网上代表该区域的方格子会被涂黑。就这样，不同的准则用不同
的透明薄片来代表，并依据相同的方法涂黑。当所有薄片一层层叠加到基础地图上后，最终可见的区域就是最适合某项工程的区域了。</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 波曼：什么原因促使你对地图叠加的概念进行了改进？</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
汤姆林森：1959年我到斯巴达航空服务公司工作，这是一家加拿大航空测量公司，我在那里做影像解译。这个总部设在渥太华的公司派我参与肯尼亚的一个项
目。作为国际援助项目的一部分，加拿大政府准备为肯尼亚建造一个造纸厂。我所在公司的任务是对肯尼亚进行航空摄影和森林普查，选择最适合建造纸厂的地点。
当地的树木不适合造纸浆，所以我们开始收集信息以决定哪个地方最适合种植用于纸浆生产的树木。我们用土壤图来确定用于纸浆生产的树木在哪里生长的会最好。
我们生成了坡度图来辅助分析，因为在非常陡的坡上伐树是不现实的。我们需要知道土著部落住在哪里，一些部落比其它部落更喜欢迁移，定居的部落则可以提供更
稳定的劳动力。我们还记录了大象的迁移路径，因为大象会毁坏新的林场。我们还记录猴子的栖息地，因为猴子会以幼树为食物。另外，收集不同地区的降雨量也是
非常必要的。降雨量少就会导致干旱，而太多的降雨又会导致昆虫数目增多，寄生植物增多，这对林场是致命的。标绘有道路、河流、桥梁的地图也很重要。肯尼亚
曾是英国殖民地，英国的科学家制作了非常棒的肯尼亚地图。所以，我们需要的一些数据已经有了。</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
我到办公室开始分析我们收集的所有地图，方法就是前面已经描述过的将不同的地图图层进行叠加来评价不同的地块。这种依靠手动、目视的分析是非常费时费力
的。事实证明，分析的花费远比最初对整个国家进行航拍和收集数据的花费要多。我的预算是有限制的，我的老板要我找到减少支出的方法。</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 波曼：你怎样用计算机来实现地图叠加的概念？</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
汤姆林森：我所在的公司有小型IBM计算机和地图绘图板。因为可以接触到当时最先进的技术，我就开始思考如何对不同的地图图层赋值，然后输入到计算机中，
让计算机去做比较并绘制出结果。我们将包含一系列图层数据的地图在绘图板上进行了定向和数字化。这一工作大概用了我们一星期晚上的时间。最后，我们得到了
一张数字化地图。我认为这是加拿大的第一张由硬拷贝地图数字化得到的地图。我非常激动，这使得我开始有了这样一个想法：公司可以和其所在地的一些电脑公司
合作，发展这套方法来进行自动制图。不幸的是，从这些公司得到的回复几乎都是相同的：谢谢你，但是我们不认为这种产品有市场。</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这是相当令人失望的，
但是1962年一个很偶然的机会，我在飞机上正好坐在李&#8226;普拉特旁边。他刚刚被联邦政府任命为加拿大土地调查局的负责人。加拿大农民当时都比较贫穷，全国
有六十万农民，他们需要帮助。加拿大可耕种、可用于生产的土地大约有一百万平方英里。所以第一问题是，我们对这些土地了解多少？我们还需要知道，这些土地
可以被用于其它用途吗，比如娱乐或植树？人口统计调查得到的这些农民的收入是多少？他们的教育程度如何？我们能否通过教育解决农民存在的问题？我们在哪建
立学校？这对于政府来说是很重要的一个步骤，因为政府从没有做过这么深入的土地规划。李说他准备把这些信息在透明的薄片上表示，并叠加进行分析。我告诉
他，我可以用电脑来完成这项工作。我们做了一些估算，如果用手工方法要有563个地图制图专业人员花费三年的时间来完成这项工作，花费大约八百万加元。除
了花费，一个很大的问题是政府只有50到60个合格的地图制图专业人员。我分析了所有技术和经济的可行性报告，得出的结论是我们可以开发一个系统来完成这
项工作。这样不需要几年，而只需要几周时间就能完成该项工作，同时花费少于二百万加元。 我们开发了加拿大地理信息系统（Canada
Geographic Information
System），这是世界上第一个使用计算机的GIS。&#8220;地理信息系统&#8221;这一我在项目中所提出的名词，一直沿用下来了。</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 波曼：在过去的10年间哪些方面的进步对当前的GIS产生了重要影响？</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
汤姆林森：一个显著的进步是计算的代价降低了。在我最近的书中（《探索GIS：用地理信息系统进行规划（第三版）》）,我对充满神话色彩的罗马城进行了建
模。罗马已经建立了GIS，我们的一个练习是计算GIS投入。计算投入是基于当前的人员和硬件的价格。我们最初都是用相同的硬件配置，这样就能比较在每个
连续三年的工程周期里投入的不同。我们发现现在的硬件价格是五年前的十分之一。可见，一个对GIS非常重要的影响是硬件、软件的实际价格（产品在扣除货币
贬值影响后的价格）在持续下降。另外，软硬件功能也比原来强大多了。一般的内核或CPU性能比去年同等的电脑有40%的提升。</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 另一个明显的进步是数字形式的数据更容易得到了，获取的速度也更快。比如，四年前印度尼西亚发生地震和并发海啸，受灾地区的Landsat数据在灾后几天就获得了。</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 此外，政府的高级官员对GIS和它的能力有了更清楚地认识。在过去的10年中，高层的决策者们越来越认识到GIS是一个提高政府和经贸活动效率和效益的工具。</p>
<p><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 波曼：你对未来10年GIS的发展有什么预期？</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
汤姆林森：许多现在的趋势还会继续下去。硬件会更加便宜，功能更加强大。软件会变得更容易使用，鲁棒性更好。我希望大学继续扩展他们的GIS相关课程，满
足社会对GIS专业人才不断增长的需求。高级管理人员能够更强烈地意识到在他们的组织中利用GIS的益处。我们将会看到更多的国家通过国家政策时，GIS
将成为内阁讨论的一个重要部分。我希望经过训练的地理专业学者能够参与国家决策制定。另外，我认为高级军事人才也应当对GIS的能力和潜力有较好的了解。</p>
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
我对GIS的未来是充满信心的。它是一项在正确的时间出现的正确的技术。当前我们的世界面临的一些主要问题包括：人口过多、食物短缺、农产品产量下降、不
利的气候变化、贫困，
这些都是典型的地理问题。这些问题都涉及人地关系，是GIS可以做出最大贡献的领域。GIS作为当今时代的技术，特别适合帮助我们解决当前面临的问题。<br />
<br />
<br />
<br />
</span></span>
<img src ="http://www.blogjava.net/Juizes361/aggbug/299069.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Juizes361/" target="_blank">残叶舞风</a> 2009-10-20 16:59 <a href="http://www.blogjava.net/Juizes361/articles/299069.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GeoTools, JTS , GeoAPI关系</title><link>http://www.blogjava.net/Juizes361/articles/298808.html</link><dc:creator>残叶舞风</dc:creator><author>残叶舞风</author><pubDate>Mon, 19 Oct 2009 02:02:00 GMT</pubDate><guid>http://www.blogjava.net/Juizes361/articles/298808.html</guid><wfw:comment>http://www.blogjava.net/Juizes361/comments/298808.html</wfw:comment><comments>http://www.blogjava.net/Juizes361/articles/298808.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Juizes361/comments/commentRss/298808.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Juizes361/services/trackbacks/298808.html</trackback:ping><description><![CDATA[<span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;"><br />
<strong>JTS</strong><br />
<br />
&nbsp;JTS是加拿大的 Vivid Solutions 做的一套开放源码的 Java API。它提供了一套空间数据操作的核心算法,为在兼容OGC标准的空间对象模型中进行基础的几何操作提供2D空间谓词API。<br />
<br />
<strong>GeoAPI</strong><br />
<br />
GeoAPI为OpenGIS规范提供一组Java接口.<br />
<br />
<strong>Geotools</strong><br />
<br />
Geotools是一个开源的Java GIS工具包,可利用它来开发符合标准的地理信息系统。Geotools提供了OGC(Open Geospatial Consortium)规范的一个实现来作为他们的开发。<br />
<br />
<br />
<strong>它们的关系简单而言:</strong><br />
<br />
GeoTools的目标是致力于开发一个符合规范的GIS工具包，既然是工具包，那么就要有很多工具用来对付构建一个完整的地理信息系统时会碰到的问题，常见的问题比如:投影的转换，基准面的设定，空间数据对象的渲染和样式，各种数据源的支持，各种GIS文件格式支持，空间数据过滤与搜索 ... 等等的问题。<br />
<br />
在开发这些工具的时候，恰好在处理空间数据图形关系的时候，有一个非常好的解决方案，那就是JTS,JTS解决了对象与对象之间拓扑关系的判定和计算，并提供很多有用的算法来解决对象的面积，长 ... 等等的问题。这样而言，JTS就相当于GeoTools中的一个子模块。但因为这个模块本身不是GeoTools工程的，所以在javadoc中找不到JTS的API,需要到JTS官网上面另外下载。<br />
<br />
至于GeoAPI则是GeoTools符合标准的模板。它制定了地理信息系统中所有的数据类型应该是什么，投影转换的方式有哪几种诸如此类的规范。这样兼容GeoAPI接口的GeoTools才是一个符合规范的地理信息系统工具包。<span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">
<p style="margin: 0cm 0cm 0pt;"><br />
</p>
<p style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="color: red; font-family: 宋体;"><br />
</span></span></p>
</span></span>
</span></span>
<img src ="http://www.blogjava.net/Juizes361/aggbug/298808.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Juizes361/" target="_blank">残叶舞风</a> 2009-10-19 10:02 <a href="http://www.blogjava.net/Juizes361/articles/298808.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GIS基本功能(转)</title><link>http://www.blogjava.net/Juizes361/articles/298516.html</link><dc:creator>残叶舞风</dc:creator><author>残叶舞风</author><pubDate>Fri, 16 Oct 2009 02:43:00 GMT</pubDate><guid>http://www.blogjava.net/Juizes361/articles/298516.html</guid><wfw:comment>http://www.blogjava.net/Juizes361/comments/298516.html</wfw:comment><comments>http://www.blogjava.net/Juizes361/articles/298516.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Juizes361/comments/commentRss/298516.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Juizes361/services/trackbacks/298516.html</trackback:ping><description><![CDATA[<span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;"><font size="2">记录属性的数据库，GIS可以作为数据库集成和更新的重要<a id="hl_3" class="qs_highlight1" style="font-size: 1em;" href="javascript:void(0)" onmouseover="window.clearTimeout(_ht[3]);qs_show_frame(event,this,3);" onmouseout="_on_div[3]=false;_ht[3]=window.setTimeout('qs_is_on_div(3)',1000);">工具</a>之一。进行数据库的组织主要取决于数据输入的形式，以及利用数据库进行查询、分析和结果输出等方式，它包括数据库定义、数据库建立与维护、数据库操作、通讯等<a id="hl_1" class="qs_highlight1" style="font-size: 1em;" href="javascript:void(0)" onmouseover="window.clearTimeout(_ht[1]);qs_show_frame(event,this,1);" onmouseout="_on_div[1]=false;_ht[1]=window.setTimeout('qs_is_on_div(1)',1000);">功能</a>。 </font>
<p style="line-height: 150%;"><strong><a name="5．4 空间查询与空间分析功能"><font color="#000000" size="2">空间查询与空间分析功能</font></a><font color="#000000" size="2">&nbsp; </font></strong> <font color="#ffffff">字串8</font> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">GIS的面向用户的应用
功能不仅仅表现在它能提供一些静态的查询、检索数据，更有意义的在于用户可以根据需要建立一个应用分析的模式，通过动态的分析，从而为评价、管理和决策服
务。这种分析功能可以在系统操作运算功能的支持下或建立专门的分析软件来实现，如空间信息量测与分析、统计分析、地形分析、<a id="hl_2" class="qs_highlight1" style="font-size: 1em;" href="javascript:void(0)" onmouseover="window.clearTimeout(_ht[2]);qs_show_frame(event,this,2);" onmouseout="_on_div[2]=false;_ht[2]=window.setTimeout('qs_is_on_div(2)',1000);">网络</a>分析、叠置分析、缓冲分析、决策支持等。系统本身是否具有建立各种应用模型的功能是判别它好坏的重要标志之一，因为这种功能在很大程度上决定了该系统在实际应用中的灵活性和经济效益。<br />
空间查询和空间分析是从GIS目标之间的空间关系中获取派生的信息和新的知识，用以回答有关空间关系的查询和应用分析。 </font> <font color="#ffffff">字串5</font> </p>
<p style="line-height: 150%;"><font color="#000000"><font size="2"><strong>&nbsp;拓扑空间查询</strong> </font></font> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">在此操作中，用户将地图
当作查询工具，而不仅仅是数据载体。空间目标之间的拓扑关系可以有两类：一种是几何元素的结点、弧段和面块之间的关联关系，用以描述和表达几何元素间的拓
扑关系；另一种是GIS中地物之间的空间拓扑关系，可以通过关联关系和位置关系隐含表达，用户需通过特殊的方法查询。</font> 字串9 </p>
<p style="line-height: 150%;"><font color="#000000" size="2">这些空间关系主要有以下
几项：面与面的关系，如检索与某个面状地物相邻的所有多边形及属性；线与线的关系，如检索与某一主干河相关联的所有支流；点与点的关系，如检索到某点一定
距离内的所有点状地物；线与面的关系，如检索某公路所经过的所有县市或某县市内的所有公路；点与线的关系，如某河流上的所有桥梁；点与面的关系，如检索某
市所有银行分布点。 </font> </p>
<p style="line-height: 150%;"><font color="#000000"><font size="2"><strong>&nbsp;缓冲区分析</strong> </font></font> <font color="#ffffff">字串1</font> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">缓冲区用以确定围绕某地要素绘出的定宽地区，以满足一定的分析条件。点的缓冲区是个圆饼，线的缓冲区是个条带状，多边形的缓冲区则是个更大的相似多边形。缓冲区分析是GIS中<a id="hl_0" class="qs_highlight1" style="font-size: 1em;" href="javascript:void(0)" onmouseover="window.clearTimeout(_ht[0]);qs_show_frame(event,this,0);" onmouseout="_on_div[0]=false;_ht[0]=window.setTimeout('qs_is_on_div(0)',1000);">基本</a>的空间分析功能之一，尤其对于建立影响地带是必不可少的。如道路规划中建立缓冲区以确定道路两边若干距离内的土地利用性质。 </font> </p>
<p style="line-height: 150%;"><font color="#000000"><font size="2"><strong>叠加分析</strong> </font></font> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">叠加分析提供根据两幅或
两幅以上图层在空间上比较地图要素和属性的能力，通常有合成叠加和统计叠加之分，前者是根据两组多边形边界的交点建立具有多重属性的多边形，后者则进行多
边形范围的属性特征统计分析（如图1-3所示）。合成叠加得到一张新的叠加图，产生了许多新多边形，每个多边形都具有两种以上的属性。统计叠加的目的是统
计一种要素在另一种要素中的分布特征。 </font> </p>
<p style="line-height: 150%;"><font color="#000000"><font size="2"><strong>距离分析及相邻相接分析</strong></font></font></p>
<p style="line-height: 150%;"><font color="#000000" size="2">距离分析提供了在地图上
距离的功能，相邻分析确定哪些地图要素与其它要素相接触或相邻，而相接分析则结合距离和相邻分析两者的针对性，提供确定地图要素间邻近或邻接的功能。相邻
和相接分析广泛应用于环境规划和影响评价的公共部门。大多数GIS软件目前不能直接进行相邻相接分析，而是通过先建立一定要求的缓冲区，再与其它图形要素
进行叠置分析的间接方法解决。<br />
<br />
<strong><a name="5．5 地形分析功能">地形分析功能</a>&nbsp;&nbsp; </strong></font> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">通过数字地形模型DTM，以离散分布的平面点来模拟连续分布的地形，再从中内插提取各种地形分析数据，地形分析包括以下内容：</font> 字串4 </p>
<p style="line-height: 150%;"><strong><font color="#000000" size="2">等高线分析</font></strong> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">等高线图是人们传统上观测地形的主要手段，可以从等高线上精确地获得地形的起伏程度，区域内各部分的高程等。</font> </p>
<p style="line-height: 150%;"><strong><font color="#000000" size="2">透视图分析</font></strong> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">等高线虽然精确，但不够直观，用户往往需要从直观上观察地形的概貌，所以GIS通常具有绘制透视图的功能，有些系统还能在三维空间格网上着色，使图形更为逼真。</font> <font color="#ffffff">字串1</font> </p>
<p style="line-height: 150%;"><strong><font color="#000000" size="2">坡度坡向分析</font></strong></p>
<p style="line-height: 150%;"><font color="#000000" size="2">在DTM中计算坡度和坡向，派生出坡度坡向图供地形分析（如日照分析、土地适宜性分析等）。</font> </p>
<p style="line-height: 150%;"><strong><font color="#000000" size="2">5．5．4 断面图分析</font></strong> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">用户可以在断面图上考察该剖面地形的起伏并计算剖面面积，以便用于工程设计和工程量算。</font> </p>
<p style="line-height: 150%;"><strong><font color="#000000" size="2">&nbsp;地形表面面积和填挖方体积计算&nbsp; </font></strong> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">利用DTM数据，可以比较容易地求出所需要地区的地形表面面积以及施工区域内填挖方的体积（土石方量）。 </font> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">制图功能、地理数据库、空间查询与空间分析能力是GIS最具有独特吸引力所在。而系统是否具有良好的用户接口和各种应用分析程序的支持也是至关重要的，但是应由GIS开发人员和用户来共同完成的。</font> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">地理信息系统技术广泛应用于农业、林业、国土资源、地矿、军事、交通、测绘、水利、广播电视、通讯、电力、公安、社区管理、教育、能源等几乎所有的行业，并正在走进人们日常的工作、学习和生活中。</font> <font color="#ffffff">字串2</font> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">地理信息系统的主要任务是对与地理空间位置或区域有关的社会经济、人文景观、自然资源及环境等多种信息进行综合管理和分析，主要任务有以下三个方面</font> </p>
</span></span>
<img src ="http://www.blogjava.net/Juizes361/aggbug/298516.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Juizes361/" target="_blank">残叶舞风</a> 2009-10-16 10:43 <a href="http://www.blogjava.net/Juizes361/articles/298516.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>GIS的组成(转)</title><link>http://www.blogjava.net/Juizes361/articles/298513.html</link><dc:creator>残叶舞风</dc:creator><author>残叶舞风</author><pubDate>Fri, 16 Oct 2009 02:34:00 GMT</pubDate><guid>http://www.blogjava.net/Juizes361/articles/298513.html</guid><wfw:comment>http://www.blogjava.net/Juizes361/comments/298513.html</wfw:comment><comments>http://www.blogjava.net/Juizes361/articles/298513.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Juizes361/comments/commentRss/298513.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Juizes361/services/trackbacks/298513.html</trackback:ping><description><![CDATA[<span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">
<font size="2"><strong><br />
系统的硬件环境<font color="#000000">&nbsp; </font></strong></font>
<p style="line-height: 150%;"><font color="#000000" size="2">地理信息系统的硬件环境主要由计算机及一些外围设备联接形成的，主要包括以下几个部分：<br />
（1） 计算机系统。它是系统操作、管理、加工和分析数据的主要设备，包括优良的CPU、键盘、屏幕终端、鼠标等。可以单机，也可以组成计算机网络（包括局域网和广域网）系统来应用。<br />
（2） 数据输入设备。它用于将各种需要的数据输入计算机，并将摸拟数据转换成数字数据。其他一些专用设备，如数字化仪、扫描仪、解析测图仪、数字摄影测量仪器、数码相机、遥感图象处理系统、机助制图系统、GPS等，均可以通过数字接口与计算机相联接。<br />
（3） 数据存贮设备。主要指存贮数据的磁盘、磁带及光盘驱动器等。<br />
（4） 数据输出设备。它包括图形终端显示设备、绘图机、打印机、磁介质硬拷贝机、可擦写光盘，以及多媒体输出装置等。它们将以图形、图象、文件、报表等不同形式显示数据的分析处理的结果。<br />
（5） 数据通讯传输设备。如果GIS是处于高速信息公路的网络系统中，或处于某些局域网络系统中，还需要架设网络连线、网卡及其它网络专用设施。</font></p>
<p style="line-height: 150%;"><font color="#000000" size="2">由于计算机技术的迅猛发展，硬件的有效生命期较短，设备的淘汰率较高，而且价格昂格，因此对GIS硬件环境的选择，必须根据系统的需求、系统所担负的任务与投资情况，进行系统总体设计，要考虑软、硬件环境整体配套、协调一致。<br />
</font>
</p>
<p style="line-height: 150%;"><strong><a name="4．2 系统的软件环境"><font color="#000000" size="2">系统的软件环境</font></a></strong> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">为了实现复杂的空间数据管理功能，GIS需要有与硬件环境相配套的多种软件功能模块。在软件层次上需要有系统软件、基础软件、基本功能软件、应用软件等多层次体系。根据GIS的功能可划分为以下几个子系统：</font> <font color="#ffffff">字串6</font> </p>
<p style="line-height: 150%;"><strong><font color="#000000" size="2">计算机系统软件和基础软件</font></strong> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">由计算机厂家提供操作系统及各种维护使用手册、说明书等，以及某些基础软件（如C，C++等）。系统软件和基础软件是系统开发的一切软件基础，是GIS日常工作所必备的。</font> <font color="#ffffff">字<font color="#000000"><font size="2"><strong><br />
</strong></font></font></font></p>
<p style="line-height: 150%;"><strong><font color="#000000" size="2">数据输入子系统</font></strong> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">它通过各种数字化设备（如数字化仪、扫描仪等）将各种已存在的地图数字化，或者通过通讯设备或磁盘、磁带的方式录入遥感数据和其他系统已存在的数据，也包括用其它方式录入的各种统计数据，野外数据和仪器记录的数据。<br />
输入的数据应进行校验，即通过观察、统计分析和逻辑分析，检查数据中存在的错误，并通过适当的编辑方式加以修正。<br />
输入的数据应进行存贮和管理，它包括空间景物的位置，相互间联系以及它们的地理意义（属性）的结构和组合，以及数据格式的选择和转换、数据压缩编码、数据的联接、查询、提取等。对应不同的数据输入、存贮和管理方式，系统都应配备有相应的支持软件。</font> </p>
<p style="line-height: 150%;"><strong><font color="#000000" size="2">数据编辑子系统</font></strong> <font color="#ffffff">字串5</font> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">GIS应具有较强的图形编辑功能，以便对原始数据输入错误进行编辑和修改。同时还需要进行图形修饰，为图形设计线型、颜色、符号、注记等，并建立拓扑关系，组合复杂地物，输入属性数据等。一般说来，GIS软件应具有以下编辑功能：<br />
（1）图形变换：开窗、放大、缩小、屏幕滚动、拖动等。<br />
（2）图形编辑：删除、增加、剪切、移动、拷贝等。<br />
（3）图形修饰：线型、颜色、符号、注记等。<br />
（4）拓扑关系：结点附合、多边形建立、拓扑检验等。<br />
（5）属性输入：属性联接、数据库实时输入、数据编辑修改等。</font></p>
<p style="line-height: 150%;"><strong><font color="#000000" size="2">空间数据库管理系统&nbsp;</font></strong> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">在GIS中既有空间定位数据，又有说明地理的属性数据。对这两类数据的组织与管理并建立二者联系是至关重要的。为保证GIS有效的工作，保持空间数据的一致性和完整性，需要设计良好的数据库结构和数据组织方法，一般采用数据库技术来完成该项工作。</font> </p>
<p style="line-height: 150%;"><strong><font color="#000000" size="2">空间查询与空间分析系统</font></strong> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">这是GIS面向应用的一个核心部分，也是GIS区别其它系统（如MIS）的一个重要方面，它应具有以下三方面的功能：<br />
（1）检索查询：包括空间位置查询、属性查询等。<br />
（2）空间分析：能进行地形分析、网络分析、叠置分析、缓冲区分析等。<br />
（3）数学逻辑运算：包括函数运算、自定义函数运算、以及驱动应用模型运算。</font> </p>
<p style="line-height: 150%;"><font color="#000000" size="2">GIS通过对空间数据及属性的检索查询、空间分析、数学逻辑运算，可以产生满足应用条件的新数据，从而为统计分析、预测、评价、规划和决策等应用服务。</font> <font color="#ffffff">字串5</font></p>
<p style="line-height: 150%;"><font color="#ffffff"></font><strong><font color="#000000" size="2">数据输出子系统</font></strong></p>
<p style="line-height: 150%;"><font color="#000000"><font size="2">功能是将检索和分析处理的结果按用户要求输出，其形式可以是地图、表格、图表、文字、图象等表达，也可在屏幕、绘图仪、打印机或磁介质上输出。</font></font> <font color="#ffffff">字串2</font> </p>
<p style="line-height: 150%;"><font color="#000000"><font size="2">以上六个子
系统是GIS软件系统必备的功能模块。一个优秀的GIS软件系统还应备有较强功能的用户接口模块和适宜的应用分析程序的支持。用户接口模块是保证GIS成
为接收用户指令和程序，实现人－－机交互的窗口，使GIS成为开放式系统。有良好的应用程序的支持，将使GIS的功能得到扩充与延伸，使更具有实用性，这
是用户最为关心的真正用于空间分析的部分</font></font></p>
<p style="line-height: 150%;"></p>
<p style="line-height: 150%;"><font color="#000000"><font size="2"><br />
</font></font> </p>
</span></span>
<img src ="http://www.blogjava.net/Juizes361/aggbug/298513.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Juizes361/" target="_blank">残叶舞风</a> 2009-10-16 10:34 <a href="http://www.blogjava.net/Juizes361/articles/298513.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开源GIS系统现状分析(转)</title><link>http://www.blogjava.net/Juizes361/articles/298509.html</link><dc:creator>残叶舞风</dc:creator><author>残叶舞风</author><pubDate>Fri, 16 Oct 2009 02:23:00 GMT</pubDate><guid>http://www.blogjava.net/Juizes361/articles/298509.html</guid><wfw:comment>http://www.blogjava.net/Juizes361/comments/298509.html</wfw:comment><comments>http://www.blogjava.net/Juizes361/articles/298509.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Juizes361/comments/commentRss/298509.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Juizes361/services/trackbacks/298509.html</trackback:ping><description><![CDATA[<span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;"><strong>平台的对峙<br />
<br />
</strong>　　开发者都希望自己的软件能够运行在尽可能多的计算机上。然而事与愿违，摆在GIS开发
者面前的仍然是对峙的平台。J2EE随着Java5。0的发布，已经正式更名为JavaEE，
而微软也正式发布了。NET2。0以及集成开发环境利器Visual Studio 2005。到底是。NET还是Java?
面对旗鼓相当的Java和。NET阵营，其实GIS平台开发商的答案早已揭晓，那就是都要！由于。NET和Java比较起来并无明显的优劣之分，只是随应
用的需要和习惯的差别而略有不同，因此提供Java和。NET的双份开发接口来满足不同的需求也就不难理解了。可实际中，若要同时支持Java和。NET
谈何容易！要知道GIS的出现是上个世纪60年代的事，在当代众多IT缩写词出现之前，GIS就已经在城市规划、土地<a id="hl_1" class="qs_highlight1" style="font-size: 1em;" href="javascript:void(0)" onmouseover="window.clearTimeout(_ht[1]);qs_show_frame(event,this,1);" onmouseout="_on_div[1]=false;_ht[1]=window.setTimeout('qs_is_on_div(1)',1000);">管理</a>、军事等行业得到了应用。几十年的积累，很多代码已经成为了固化的资产。GIS平台开发商经历过二次开发语言的繁荣和凋敝，组件时代的兴起和衰落，而今又要面对平台对峙的挑战。也经历许我们应该考虑一些更好的、更彻底的解决办法，能够让我们在这个多变的时代找到相对<a id="hl_2" class="qs_highlight1" style="font-size: 1em;" href="javascript:void(0)" onmouseover="window.clearTimeout(_ht[2]);qs_show_frame(event,this,2);" onmouseout="_on_div[2]=false;_ht[2]=window.setTimeout('qs_is_on_div(2)',1000);">稳定</a>的
支点。事实上，这个问题已经有了比较好的答案，办法其实也很简单，那就是重回C/C++的荣耀之都，实现GIS内核和外壳分离，以适应不断变化的外部世
界。其实这个办法也不是GIS一家的专利，使用C/C++编写程序，实现一次编写，到处编译。这也是很多软件采取的跨平台策略。相比之下，无论是在
Java组件和COM之间架桥还是在Linux和Windows之间修路，总显得有些不够优雅。不出意外，平台的对峙在未来的几年还会持续下去，在这对峙
的平台下开发，也许最能彰显我们开发者智慧。<br />
<br />
<div>
<p><strong>全球的数据  <br />
<br />
</strong>　　数据是GIS的重要基石，无论何种行业应用，离开了数据都是无源之水，无本之木。空间数据不同于其他信息系统中的业务数据，能够在系统运行<a id="hl_0" class="qs_highlight1" style="font-size: 1em;" href="javascript:void(0)" onmouseover="window.clearTimeout(_ht[0]);qs_show_frame(event,this,0);" onmouseout="_on_div[0]=false;_ht[0]=window.setTimeout('qs_is_on_div(0)',1000);">过程</a>中
自然产生，它需要专门的人员采集、编辑、更新，空间数据生产本身就是一个不断壮大的行业。遥感技术的飞速发展，使我们能够获得的GIS数据不断膨胀，单是
这些数据的存储管理就是一个很大的问题。GIS需要管理管理的数据是全球范围的，面对如此庞大的数据，使用数据库是自然的选择。我们很难将地理信息技术和
数据库分割开来，从来都没有人对使用数据库有过怀疑，问题的焦点是如何使用。应用是多样的，工程、摄影测量和其他技术或行业都有其利用空间数据的特定方
式，如果我们试图把多样的需求统一到一种空间数据库的解决方案中，这种努力很可能是无益的。也许我们需要的是一种开放、灵活和可扩展的结构，能够动态适应
变化。<br />
<br />
海量影像数据的建库和发布技术在2005年形成了一轮高潮。GIS、遥感等领域的多家厂商都推出了各具特色的产品。现在我们可
以在各种设备、各种环境下轻松浏览高分辨率的遥感影像。影像库的规模也非常庞大，几十G的数据有时候都不好意思和人家说，建TB级影像库的大有人在。然而
各种影像发布技术在Google
Earth所表现出的震撼人心的效果面前都显得黯然失色，一家从事搜索的企业做出来的产品一下子让在GIS行业浸淫多年的正规军们觉得很没面子。其
实，GIS企业和Google这样的网络公司有着不同的盈利模式，GIS企业可能都具备显示三维地球的技术实力，但是它们不可能仅仅是为了好看好玩来开发
产品，必须要根据市场的需要，为那些真正买单的人开发产品。如果开发一个全球三维浏览的产品只是用来<a id="hl_5" class="qs_highlight1" style="font-size: 1em;" href="javascript:void(0)" onmouseover="window.clearTimeout(_ht[5]);qs_show_frame(event,this,5);" onmouseout="_on_div[5]=false;_ht[5]=window.setTimeout('qs_is_on_div(5)',1000);">广告</a>的话，那这笔广告费未免也过于昂贵了。所幸的是有Google这样的新贵，非常大手笔地做足了遥感和GIS的科普工作，也提升了大家对地理信息系统的三维表现技术的热情。 <font color="#ffffff">字串1</font> <br />
<br />
<strong>大众地理信息服务</strong><br />
<br />
GIS业界人士一直都期望融入IT主流，让GIS走进千家万户，让GIS成为人们日常生活的一部分，就像我们每天都会收发E-mail，每天都要使用字
处理软件那样。大家有这个想法不是偶然的。毕竟我们无论旅游、约会、购物，只要和出行相关，都免不了求助于地图。手机通话中使用频率最高的语句除了&#8220;喂，
你好&#8221;之外，恐怕就是&#8220;你在哪里&#8221;了。大众地理信息服务就是希望为人们的日常生活提供位置信息，解决大家最常问的&#8220;在哪里&#8221;，&#8220;怎么去&#8221;的问题，这方面典
型的业务就是以Google，百度，新浪本地搜索为代表的公众地图服务。在GIS开发者的眼里，也许公众地图服务技术并不复杂，有经验的开发者也许都考虑
过这个颇有诱惑力的市场。事实上，公众地图服务除了要做的简单易用功能强大之外，还有数据的获取和更新途径，以及最重要的问题：如何从公众地图服务中赚
钱？赢利模式是GIS企业在公众地图服务的门槛外看了又看，却始终裹足不前的根本原因。无法清楚地看到利润的增长点，而前期的高投入和大量的公关协调工作
使得这项有巨大潜力的业务理所当然地被Google这样有雄厚财力和丰富IT赢利经验的大公司所占领。<br />
<br />
应当注意的是，大众地理信息服务的范围远非提供一个本地搜索业务，我们日常中的各种软件都可能和GIS沾点关系。比如可以在即时通信<a id="hl_6" class="qs_highlight1" style="font-size: 1em;" href="javascript:void(0)" onmouseover="window.clearTimeout(_ht[6]);qs_show_frame(event,this,6);" onmouseout="_on_div[6]=false;_ht[6]=window.setTimeout('qs_is_on_div(6)',1000);">工具</a>如MSN
Messenger，
QQ中增加地图聊天功能，方便网友会面；再比如在手机等移动设备上提供和位置信息相关的商业广告。这些由于都是和位置信息相关的增值业务，所以它们就有一
个共同的名字——基于位置的服务(LBS)。LBS看上去市场很大，机会很多，但实际运行起来却很不容易。除了需要运营商的大力支持外，赢利模式仍然是最
重要的因素。<br />
<br />
<strong>移动的地图</strong><br />
<br />
移动开发由于其庞大的终端数量形成了一个潜在的巨大市场，并已形成了一条比较清晰的产业链。最上端是集成电路、通信器件等手机电子器件生产商，下游是应用软件开发商，而连接应用软件开发和硬件制造商的是操作系统供应商。<br />
<br />
和网络<a id="hl_4" class="qs_highlight1" style="font-size: 1em;" href="javascript:void(0)" onmouseover="window.clearTimeout(_ht[4]);qs_show_frame(event,this,4);" onmouseout="_on_div[4]=false;_ht[4]=window.setTimeout('qs_is_on_div(4)',1000);">游戏</a>类
似，手机上的地图服务业务也主要掌握在运营商手中。如果中移动或联通有意提供这种业务，那我们对着电话大喊&#8220;喂，你在哪里&#8221;的这种&#8220;定位基本靠吼&#8221;的日子
就可以一去不复返了。目前，中国移动增值业务有SMS，彩信/彩E，WAP，Java/BREW和IVR五块。移动运营商提供的服务主要集中在<a id="hl_3" class="qs_highlight1" style="font-size: 1em;" href="javascript:void(0)" onmouseover="window.clearTimeout(_ht[3]);qs_show_frame(event,this,3);" onmouseout="_on_div[3]=false;_ht[3]=window.setTimeout('qs_is_on_div(3)',1000);">短信</a>、WAP和KJAVA这三块。移动应用市场尽管在全球范围内已达到了几十亿美金，但商机周围也密布着风险，因此手机上的地图服务能否成为现实还是个未知数。<br />
<br />
GIS移动开发领域还包括很多其他的重要方向。比较典型和成熟的业务是野外数据采集，车载导航等和定位系统的集成应用。事实上，谈到移动GIS开发，我
们就不能不说到无线定位技术。大家所熟知的GPS是一种定位手段，其实还有很多其他的定位方法。比如利用无线局域网定位，移动通信基站定位，有线电视台网
也能提供位置信息。这些定位方法可以弥补GPS在室内环境中无法应用的不足，从而为移动地理信息服务业务提供了更广阔的空间。<br />
<br />
<strong>开源的追求</strong><br />
<br />
和充满金钱气息的商业GIS开发领域相比，开源GIS的世界则显得朴素沉静，是技术爱好者的乐园。打开Source
Forge网站，在下载排行榜Top10上，我们会赫然发现一个GIS门类的软件——World
Wind。这个由NASA策划，用C#编写，调用微软SQL Server影像库Terrain
Server来进行全球地形三维显示的软件和Google
Earth非常相似。由于三维地球仿真具有强大的视觉冲击力，令人百看不厌，爱不释手，所以使得World
Wind这个相当专业的软件能够跻身充斥着电驴、电骡等BT下载客户端软件的Source Forge Top10排行榜。<br />
<br />
不同于商
业GIS软件，开源GIS软件不用背负数据兼容、易用性等问题的包袱，开发者能够集中精力于功能的开发，因此开源GIS软件普遍功能很强，技术也非常先
进，其背后是来自技术狂热者和学院研究生的大力支持。开源GIS软件目前已经形成了一个比较齐全的产品线。打开www.freegis.org网站，我们
会发现众多各具特色的GIS软件。老牌的综合GIS软件GRASS，数据转换库OGR、GDAL，地图投影算法库Proj4、Geotrans，也有比较
简单易用的桌面软件Quantum GIS，Java平台上有Map Tools，Map Server则是优秀的开源Web
GIS软件。各种空间分析，模型计算尤其是开源GIS领域的强项。动态语言如Python在开源世界中颇受宠爱，开源GIS软件也不例外，很多GIS工具
都提供了Python接口，以便于系统集成。Python优雅的语法和超强的粘合能力实在是一种挡不住的诱惑。 </p>
<br />
开源GIS世界虽然繁荣，但其影响还是很小，其身份在外人眼里看来是高深莫测的专业工具，现有的Linux发行版中也没有哪个集成了开源GIS工具。开
源GIS技术虽然先进，但是缺乏良好的能够满足商用的发行版本，因此涉足开源GIS领域的多是技术爱好者和科学家，而少有商业人士问津。如果能够提供一个
比较系统的、达到商用要求的开源GIS解决方案，并能获得稳定的发行版，如同Linux-Apache-MySQL-PHP那样，开源GIS前途将是不可
限量。<br />
<br />
<strong>开放、集成、标准和互操作</strong><br />
<br />
我们可以把GIS看作是一个和众多高新技术
相关的综合性，交叉性的技术群。它涉及面广，牵扯的东西多，技术发展的趋势也是见仁见智。那么，这纷纭复杂现象背后的密义是什么呢？其实不难发现，GIS
的要旨是开放。包括体系结构的开放，数据模型的开放，以及我们开发者思想观念的开放。只有开放，才能最大限度地提供扩展能力和灵活性，只有开放才能和应用
领域充分融合，也只有开放才能让我们有更多的创新机会。和开放相应的，是GIS在应用中表现出来的重要特点——集成。GIS自从走出实验室，成为一项服务
于信息化建设的技术工具，就没离开过各种集成。GIS可以集成到业务数据中，可以集成到数据表现中，可以集成到办公软件中&#8230;&#8230;
集成能力是GIS的活力所在，如果失去了和各种业务系统的集成能力，GIS就只能孤芳自赏，失去生命力了。那么，如何保证GIS的开放和集成能力呢？关键
是标准。标准以及它的派生物互操作，是GIS行业中一个非常重要的问题。对于任何地理信息技术或市场，一致和有效的标准的使用，能够创造机会，激发创新，
增加价值，缩短投资周期，并降低风险。不仅如此，标准还是控制市场的制高点，是GIS厂商的必争之地，因此我们就不难理解大家为何如此热衷于制定标准了。<br />
<br />
GIS发展的另一个重要趋势是从软件向服务的转变。尤其是
2001年以来网格计算概念的爆发，在学术界和信息技术领域掀起了一股网格的热潮。针对网格在GIS中的应用，有很多深入的研究和讨论。我们姑且不管伴随
网格计算的那一长串难懂的IT缩写词，先看看网格之父Ian
Foster对网格概念的三点说明：协同非集中管理的资源，使用标准的协议，提供高质量的服务。GIS作为一个与生俱来的分布式系统，在标准和互操作方面
一直没有停止过努力。在网格热浪来临的时候，GIS业界人士也许更多地是会心一笑，因为我们心里很明了Foster所说的三个要点，其实一直都是GIS开
发者追求的目标。&nbsp;
<li>空间数据库，采用PostgreSQL/PostGIS。在windows平台采用PostgreSQL的8.0 win32版，可从<a href="http://www.postgresql.org/">www.postgresql.org</a>上获取。该版本已经包含PostGIS。安装过程中postgis一项要选中。PostGIS实现了OpenGIS简单特征规范，并且提供了空间索引。PostGIS的官方站点：<a href="http://postgis.refractions.net/">http://postgis.refractions.net/</a>。 </li>
<li>GIS中间件，采用GeoTools，GeoTools是比较成熟的开源GIS中间件，有近10年的历史了，并且还有一定的OpenGIS官方背景。可从<a href="http://www.geotools.org/"><font color="#3f3d3d">www.geotools.org</font></a>获取。geotools采用java实现，架构非常优秀，容易扩展。geotools中采用了另一个著名的开源软件JTS（java拓扑套件）。JTS封装了常用的geo算法，并且实现了OpenGIS的简单特征规范，也提供了基于内存的空间索引。 </li>
<li>Web Map Server，采用GeoServer。可从<a href="http://geoserver.sourceforge.net/"><font color="#3f3d3d">http://geoserver.sourceforge.net</font></a> 下载。GeoServer实现了OpenGIS WMS规范和WFS规范。安装GeoServer需要安装Apache或者Tomcat。 </li>
<li>GIS Editor，采用另一个著名的GIS开源软件JUMP。可从<a href="http://www.jump-project.org/"><font color="#3f3d3d">http://www.jump-project.org/</font></a>下载。JUMP基于Java，采用插件机制，容易扩展。另一个网站<a href="http://jump-pilot.sourceforge.net/"><font color="#3f3d3d">http://jump-pilot.sourceforge.net/</font></a>提供有JUMP的插件。 </li>
<li>GRASS </li>
<li>MapTools </li>
<li>浏览器端 Client，可以采用javascript实现，也可以用flash实现，也可以用java applet实现。我选择javascript方式，网上有很多开源实现，我在其中一个最简单的基础上改进了一下。 </li>
</div>
<br />
<br />
<br />
</span></span>
<img src ="http://www.blogjava.net/Juizes361/aggbug/298509.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Juizes361/" target="_blank">残叶舞风</a> 2009-10-16 10:23 <a href="http://www.blogjava.net/Juizes361/articles/298509.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>OpenGIS相关概念和开源软件(转)</title><link>http://www.blogjava.net/Juizes361/articles/298439.html</link><dc:creator>残叶舞风</dc:creator><author>残叶舞风</author><pubDate>Thu, 15 Oct 2009 11:16:00 GMT</pubDate><guid>http://www.blogjava.net/Juizes361/articles/298439.html</guid><wfw:comment>http://www.blogjava.net/Juizes361/comments/298439.html</wfw:comment><comments>http://www.blogjava.net/Juizes361/articles/298439.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Juizes361/comments/commentRss/298439.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Juizes361/services/trackbacks/298439.html</trackback:ping><description><![CDATA[<span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;"><strong>一、Open<span href="http://www.97sky.com/bbs/tag.php?name=GIS" onclick="tagshow(event)" class="t_tag">GIS</span>和WebGIS相关概念　<br />
<br />
</strong>
<strong>GPL</strong>：GNU全局公共许可证（General Public License）简称为GPL，是GNU的开源软件许可证的一种，大多数的 GNU <span href="http://www.97sky.com/bbs/tag.php?name=%B3%CC%D0%F2" onclick="tagshow(event)" class="t_tag">程序</span>和
超过半数的自由软件使用它。同时，它也是开源软件领域对许可人权力限制最严的许可证。GPL首先是承认软件的版权——软件有原始的版权所有者，然后纳入自
由软件的版权许可约束。在承认版权的前提下，通过软件的版权许可来实现自由权利的要求。GPL许可证最重要的特点在于它要求根据GPL许可证发布的软件
（如：最有影响力的Linux）修改、翻译的演绎作品，甚至只要其任何一部分代码是以GPL发布的，那么全部程序也必须受GPL许可证的约束，即继续遵守
GPL许可证的规定，有些人将其称之为GPL的&#8220;病毒效应&#8221;。GeoTools、GeoServer都使用GPL授权协议。<br />
<br />
<strong>AJAX</strong>：Asynchronous Javascript and
XML（异步Javascript和XML），AJAX是Web2.0时代的主要技术之一，它通过JS与服务器通信，中间传输数据使用XML（当然采用
XML不是必须的，如本系统为JSON），实现网页内容无刷新更新。网上地图的请求与显示通常采用此技术，最典型的如：Google
Map。本文中的OpenLayers也使用了此技术。<br />
<br />
<strong>JSON</strong>：<span href="http://www.97sky.com/bbs/tag.php?name=JavaScript" onclick="tagshow(event)" class="t_tag">JavaScript</span>
Object
Notation（JavaScript对象符号），JSON是一种用简单文本描述JavaScript对象的开放格式标准，它易于构建和解析。换句话
说，可以将发往浏览器的数据编码格式从XML改为JSON对象，而JSON对象能够很容易地转成JavaScript对象。<br />
<br />
<strong>MVC设计模式</strong>：模型-视图-控制(Model、View、Controller)的缩写。模型（Model）是应用
程序的主体；视图（View）负责生成用户界面部分；控制器可以根据用户的输入，控制用户界面数据显示及更新Model对象状态。MVC设计模式要求在应
用程序开发中将模型逻辑，界面显示，数据层相分离。MVC设计模式由事件驱动。OpenLayers就实现了这种设计模式。　　<strong>OGC</strong>：OpenGIS联盟。<br />
WMS：Web Map Server 网上地图服务，最简单的功能就是：通过HTTP请求，获得相应的地图，地图为图片格式，如：JPG/GIF/PNG。<br />
<br />
<strong>WFS</strong>：Web Feature Server 网上要素服务，最简单的功能就是：通过HTTP请求，获得相关的地理要素信息。<br />
<br />
<strong>WCS</strong>：Web Coverage
Server，简单地说就是对栅格数据的服务，它允许用户得到连续的栅格图像，这些图像可能包含多个波段，因此你可以将一幅完整的多波段遥感影像放到你的
WCS服务器上用WCS进行Internet共享，而用户利用浏览器或者其它胖客户端工具通过HTTP请求就可以得到这个影像数据。当然可以对请求参数进
行限定，取得其中的一部分（空间的一部分或波段的一部分）数据。<br />
<br />
<strong>SLD</strong>：风格化图层描述器（Styled Layer Descriptor）的简称，用于定义地图显示样式，GeoServer支持SLD，通过自定义SLD，可以在地图中显示文本和图片符号，还可以设置过滤器，自定义图例。<br />
<strong>GML</strong>：地理标记语言，是WFS规范指定的地理要素的XML编码声明和数据格式。<br />
<br />
<strong>WKB/WKT</strong>：OpenGIS规范定义了两种表达空间数据的标准方法：Well-Known Text (WKT) 和Well-Known Binary (WKB)<br />
<br />
<strong>二、相关软件介绍：<br />
<br />
</strong><strong>2.1 GeoTools</strong>：一个基于JAVA的开源的GIS工具包，提供了实现OGC规范的一系列函数。是一个松散的工具包，用户可以调用其中的相应的包进行开发。Geoserver、uDig就是基于Geotools的。<br />
<br />
<strong>2.2 GeoServer</strong>：GeoServer基于JAVA的开源软件，通过调用GeoTools，提供遵循OGC标准的WFS-T和WMS服务。其WMS结果的显示演示采用了OpenLayers。<br />
<br />
<strong>2.3 OpenLayers</strong>：一个基于AJAX技术的网上地图显示客户端，支持WMS地图显示、WMS时间序列地图动态显示、GML/Feature数据显示等。<br />
<br />
<strong>2.4 PostgreSQL/PostGIS</strong>：最先进的开源数据库，PostGIS是其在空间数据上的扩展。<br />
<br />
<strong>三、OpenGIS规范<br />
<br />
</strong><strong>3.1、WFS/WMS：<br />
<br />
3.1.1、版本与流通</strong>：<br />
<br />
版本号为三段数字表示，现在(2006-5-17)WFS的最新版本是1.1.0，旧版本有0.9.1、1.0.0；WMS的版本有：1.0、1.1、1.1.1、1.3.0。Geoserver支持WFS1.0、WMS1.1.1，其返回的GML版本是2.1.2。<br />
版本号必须出现在两个地方，一是客户端请求参数中、再是服务器GetCapabilities 操作返回的Capabilities XML文档中。<br />
需要注意的是，客户端请求的版本号应该与服务器支持的版本号匹配，否则按最近匹配原则：<br />
1、&nbsp; &nbsp; 如果客户端请求的版本号高于服务器支持的，服务器按其支持的最高的版本号执行，相反，则按最低版本号执行。<br />
2、&nbsp; &nbsp; 如果服务器响应的版本号高于客户端支持的，客户端会重新发送一个较低版本号的请求，相反，发送一个较高的版本。下面以WFS为例<br />
版本匹配示意图<br />
<br />
<strong>3.1.2、请求规则：有两种请求方式：Get、Post。<br />
<br />
</strong>WFS的Post请求是提交一个符合WFS规范的XML文本，服务器来对这个XML文本进行解析后执行，下面是<strong>两个Get请求：<br />
请求一：</strong><br />
http://127.0.0.1/geoserver/wfs?request=GetCapabilities&amp;service=WFS&amp;version=1.0.0<br />
解释说明：<br />
操作：GetCapabilities<br />
服务：WFS<br />
版本：1.0.0<br />
<strong>请求二：</strong><br />
http://127.0.0.1/geoserver/wms?VERSION=1.1.1&amp;REQUEST=GetMap&amp;SERVICE=WMS&amp;SRS=EPSG:4326&amp;BBOX=146.9632808102,-42.2041379916633,147.0813008202,-42.1368665859633&amp;WIDTH=500&amp;HEIGHT=285&amp;LAYERS=topp:tasmania_roads&amp;FORMAT=image/png&amp;STYLES=&amp;TRANSPARENT=TRUE&amp;TIME=<br />
解释说明：<br />
version=1.1.1 版本号为1.1.1<br />
request=GetMap 执行GetMap操作<br />
服务：WMS<br />
坐标参考系统为EPSG:4326<br />
地图范围：<br />
地图大小：500*285<br />
图层：topp:Tasmania_roads<br />
地图格式：png<br />
地图样式：默认样式<br />
透明显示：是<br />
<br />
<strong>3.1.3、响应规则</strong>：如果请求正常，服务器将返回一个对象，并伴随这个对象的MIME(多用途因特网邮件扩展，常用的文件格式都伴随着一个MIME类型，如邮件附件，GIF图片image/gif)类型和描述(如对象大小、编码类型等等)。否则，应该返回一个服务器异常。<br />
<br />
<strong>3.1.4、WFS请求编码</strong>：规范定义了两种WFS请求编码方法，一是使用XML，二是使用KVP(键值对)<br />
<strong>WFS操作与请求编码：</strong><br />
<br />
<table cellspacing="0">
    <tbody>
        <tr>
            <td width="284">
            <p align="center"><strong>操作</strong></p>
            </td>
            <td width="284">
            <p align="center"><strong>请求编码</strong></p>
            </td>
        </tr>
        <tr>
            <td width="284">
            <p align="center">GetCapabilities</p>
            </td>
            <td width="284">
            <p align="center">XML &amp; KVP</p>
            </td>
        </tr>
        <tr>
            <td width="284">
            <p align="center">DescribeFeatureType</p>
            </td>
            <td width="284">
            <p align="center">XML &amp; KVP</p>
            </td>
        </tr>
        <tr>
            <td width="284">
            <p align="center">GetFeature / GetFeatureWithLock</p>
            </td>
            <td width="284">
            <p align="center">XML &amp; KVP</p>
            </td>
        </tr>
        <tr>
            <td width="284">
            <p align="center">LockFeature</p>
            </td>
            <td width="284">
            <p align="center">XML &amp; KVP</p>
            </td>
        </tr>
        <tr>
            <td width="284">
            <p align="center">Transaction</p>
            </td>
            <td width="284">
            <p align="center">XML &amp; limited KVP</p>
            </td>
        </tr>
    </tbody>
</table>
<br />
<br />
<strong>3.1.5、WFS名称空间</strong>：有三个标准化的名称空间：<br />
(<a href="http://www.opengis.net/wfs" target="_blank">http://www.opengis.net/wfs</a>) - for the WFS interface vocabulary<br />
(<a href="http://www.opengis.net/gml" target="_blank">http://www.opengis.net/gml</a>) - for the GML vocabulary<br />
(<a href="http://www.opengis.net/ogc" target="_blank">http://www.opengis.net/ogc</a>) - for the OGC Filter vocabulary<br />
<br />
<strong>3.1.6、坐标参考系统</strong>：<br />
使用EPSG 标准，其值通常是4326。<br />
<br />
<strong>3.1.7、WFS操作</strong>：<br />
DescribeFeatureType(要素类型特征描述)操作：此操作产生一个WFS服务器所提供的地理要素的大纲描述，这个描述定义了WFS地理要
素实例怎样被输入、编译和输出。对于一个DescribeFeatureType请求，应返回一个由XML Schema定义的GML3应用程序大纲。<br />
GetFeature(获取对象)
操作：因为地理要素的规范表示是使用GML，所以GetFeature操作涉及到GML规范中的地理要素模型。在GML中，一个地理要素表现为XML文档
中的一个元素，一个GML文档可包含多个地理要素。当GetFeature请求的输出格式设为text/gml;
subtype=gml/3.1.1时，一个GML实例将被返回给客户端。<br />
GetGMLObject(获取GML对象) 操作：允许通过ID号从服务器上获取地理要素和元素，该操作将返回一个XML片段。注意GetGMLObject操作不是可选的，不是服务器必需支持的。<br />
LockFeature (锁定要素)操作：网络连接本身是不稳定的，要实现事务操作的正确执行，解决并发冲突问题，需要锁定地理要素，这类似数据库中的相关操作(实际上也确实是一种空间数据库操作)。<br />
Transaction(事务操作)：事务操作描述了从网上获得的地理要素实例的数据事务操作。当事务操作完成时，WFS服务器将返回一个XML文档指示事务的完成状况。<br />
GetCapabilities(获取服务能力)操作：任何OGC的web服务器，包括WFS、WMS，必须提供GetCapabilities操作，用于描绘服务器性能容量。GetCapabilities请求将返回服务器元数据。<br />
<br />
<strong>3.1.8、WMS操作：</strong><br />
GetCapabilities(强制)操作：反映服务器性能信息，与WFS的GetCapabilities操作相似。<br />
GetMap(强制)操作：返回地图，这是最常用的操作，可参考前面请求规则的请求二例子。<br />
GetFeatureinfo(可选)：该操作是可选操作，能提供给客户端更多地理要素的信息，如在客户端选择地图上某一点，GetFeatureinfo操作可以返回该点的相关信息。<br />
<br />
<strong>3.2、空间数据格式WKB/WKT</strong><br />
OpenGIS规范定义了两种表达空间数据的标准方法：Well-Known Text (WKT) 和Well-Known Binary
(WKB)
形式。WKT和WKB都包括对象的类型和坐标系。OpenGIS规范还需要空间对象的internal存储格式包括空间参考系统标示符(SRID)，在空
间对象装入数据库时需要提供SRID。<br />
OGC的更多信息，请访问：<a href="http://www.opengeospatial.org/" target="_blank">http://www.opengeospatial.org</a>
</span></span>
<img src ="http://www.blogjava.net/Juizes361/aggbug/298439.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Juizes361/" target="_blank">残叶舞风</a> 2009-10-15 19:16 <a href="http://www.blogjava.net/Juizes361/articles/298439.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>OpenGIS介绍(转)</title><link>http://www.blogjava.net/Juizes361/articles/298438.html</link><dc:creator>残叶舞风</dc:creator><author>残叶舞风</author><pubDate>Thu, 15 Oct 2009 11:11:00 GMT</pubDate><guid>http://www.blogjava.net/Juizes361/articles/298438.html</guid><wfw:comment>http://www.blogjava.net/Juizes361/comments/298438.html</wfw:comment><comments>http://www.blogjava.net/Juizes361/articles/298438.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/Juizes361/comments/commentRss/298438.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/Juizes361/services/trackbacks/298438.html</trackback:ping><description><![CDATA[<span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">值此FOSS4G大会即将召开之日，最近我会在Blog上依次介绍一些OpenGIS标准、架构及用于实现的软件。一方面给初涉此行的朋友一个快速入门的概览，另一方面也是对我接触OpenGIS近一年来的总结。<br />
</span></span><img alt="" src="http://www.blogjava.net/images/blogjava_net/juizes361/opengis.jpg" height="500" width="500" /><br />
<br />
<span style="font-family: Comic Sans MS;"><span style="font-size: 10pt;">
<br />
<br />
OpenGIS
定义了一组基于数据的服务，而数据的基础是要素（Feature）。所谓要素简单地说就是一个独立的对象，在地图中可能表现为一个多边形建筑物，在数据库
中即一个独立的条目。要素具有两个必要的组成部分，几何信息和属性信息。OpenGIS将几何信息分为点、边缘、面和几何集合四种：其中我们熟悉的线
（Linestring）属于边缘的一个子类，而多边形（Polygon）是面的一个子类。也就是说OpenGIS定义的几何类型并不仅仅是我们常见的
点、线、多边形三种，它提供了更复杂更详细的定义，增强了未来的可扩展性。另外，几何类型的设计中采用了组合模式（Composite），将几何集合
（GeometryCollection）也定义为一种几何类型，类似地，要素集合（FeatureCollection）也是一种要素。属性信息没有做
太大的限制，可以在实际应用中结合具体的实现进行设置。<br />
<br />
相同的几何类型、属性类型的组合成为要素类型（FeatureType），要素类
型相同的要素可以被存放在一个数据源中。而一个数据源只能拥有一个要素类型。因此，可以用要素类型来描述一组属性相似的要素。在面向对象的模型中，完全可
以把要素类型理解为一个类，而要素则是类的实例。<br />
<br />
通过GIS中间件可以从数据源中取出数据，供WMS服务器和WFS服务器使用。<br />
WMS
服务器接收请求，根据请求内容的不同，可以返回不同格式的最终数据。例如，WMS可以返回常用图片格式的地图片段供最终用户阅读（类似Google
Maps），其中地图是根据一个样式文件（SLD）生成的，它描述了地图的线划粗细，色彩等；WMS也可以返回GeoRSS和KML用来和其它地图服务互
通。<br />
WFS服务器也可以接收请求，但WFS将返回GML格式的地理信息数据。GML是一种基于XML的数据格式，它可以完整的再现数据，也是
OpenGIS数据源的重要形式。也就是说，WFS返回的GML可以继续作为数据源。在WFS请求中，OpenGIS定义了一个Filter标准，用来实
现对数据的筛选，使WFS更加灵活。另一方面，WFS还支持通过WFS-t提交客户端对数据的修改。通俗地说，WMS是&#8220;只读&#8221;的，而WFS则是可以读写
的。<br />
<br />
草草说完，发现自己的理解也十分有限，如有谬误，还望读者不吝指正。另外还有WCS方面不曾涉及，要获得更进一步的了解，请下载OpenGIS的标准进行阅读。 <br />
<br />
<br />
<br />
今天来说OpenGIS架构的软件、类库实现情况。OpenGIS是一个开放标准，不过它已经不仅仅在开源世界发挥作用，许多商业软件也支持了OpenGIS的标准。当然，这里所提到的软件全部都是开源软件。<br />
<br />
<strong>几何基础类库</strong><br />
代表： JTS（Java）， GEOS（C++）， Shapely（Python）<br />
这
类几何基础类库主要实现的是OpenGIS的Simple Feature
Access标准，简单地说他们就是对几何类型（Geometry）进行了一定程度的封装。以JTS为例，它按照OpenGIS对于Geometry的描
述实现了基于Java的接口和继承关系，制作好了可以使用的类似Point、LineString这样的类。另外这些类库还普遍实现了OpenGIS的
DE-9IM空间位置关系判断和一些常用的计算几何方法（如缓冲（buffer））。<br />
此类软件是所有GIS类库的基础，正如几何是GIS的基础之一一样。<br />
<br />
<strong>数据源实现</strong><br />
代表：PostGIS（PostgreSQL），MySQL Spatial<br />
数据源的实现主要是开源数据库的空间扩展。数据库的空间扩展不仅仅在数据表中支持几何类型的存储，而且更提供了SQL级别的集合关系判断，例如，可以直接利用SQL查询在某个多边形内的点。<br />
<br />
<strong>中间件</strong><br />
代表：GeoTools（Java）<br />
中
间件在系统中扮演连接数据和服务的角色。GeoTools承担了从各种数据源（如PostGIS，GML，Shapefile，WFS）读取数据并将数据
标准化的工作。Feature接口就定义在GeoTools中，不同数据源的数据读出后被统一成包含一个Geometry成员（定义在JTS中）的
Feature接口的实现。这样，进一步的操作只需面向Feature即可，省去了高层软件对于不同数据源的解读过程。另外，GeoTools还是
OpenGIS标准的全面实现，其中包括Filter、坐标转换、GML。<br />
<br />
<strong>WMS/WFS服务器</strong><br />
代表： GeoServer（Java），MapServer（PHP）<br />
地
图服务器扮演向网络中的客户端提供地图服务的角色。这类地图服务器可以接收统一规范的WMS和WFS请求（request），返回多种格式的数据。这个过
程有WMS/WFS规范的严格规定，所以，对客户端来说其地图服务器的实现究竟是什么并不会造成太大影响。这样的规范，为公共的、联合的地图服务创造了可
能。<br />
<br />
<strong>客户端</strong><br />
代表：OpenLayers/MapBuilder（JavaScript），uDig（Java），QGIS（C++）<br />
客
户端分为浏览器和桌面客户端程序两种。以OpenLayers为代表的B/S系统客户端现在已经非常强大，它可以封装WMS请求，在浏览器上实现地图的切
片载入功能。另外拖动、缩放都功能也非常完善，可以实现跨浏览器操作。最近的OpenLayers版本还支持了矢量编辑功能，可以通过WFS-t提交。而
传统的桌面客户端程序功能则更加强大，支持多种包括WMS和WFS在内的数据源，另外编辑功能、操作性也要比浏览器中的强大。<br />
<br />
<br />
<strong>Shapefile<br />
</strong>ESRI
的Shapefile格式是GIS矢量文件格式的事实标准，通常由.shp, .shx, .prj,
.dbf等文件组成。OpenGIS的实现软件普遍支持Shapefile的读写。Shapefile在GeoServer中可以直接作为数据源，但是这
种方式并不被推荐，原因很简单，基于文件的数据源可能造成性能不佳和数据丢失。<br />
<br />
<strong>GML</strong><br />
GML是OpenGIS的标
准规范之一，它基于xml描述地理数据。于Shapefile相比，xml更容易读写，易于在网络中以各种形式传播。同时，xml还具有可读性，人可以理
解和辨识。GeoTools实现了GMLDataStore，因此在GeoServer中GML也可以直接作为数据源（需要下载GML扩展）。同
时，GML的数据源为数据源动态化提供了实现的思路和可能性。<br />
<br />
<strong>PostGIS</strong><br />
PostGIS是加拿大
Refractions公司支持的开源项目，它为开源数据库PostgreSQL提供了空间支持。PostGIS安装后，PostgreSQL中出现一个
模版数据库，新建空间数据库时只需以PostGIS为模版即可。PostGIS在SQL级别上实现了基本的空间运算功能。另外绝大多数开源GIS软件（即
使是不严格遵守OpenGIS标准的）都支持PostGIS数据表的直接载入，读写等功能。毋庸置疑，PostGIS是OpenGIS数据源最佳实现。<br />
<br />
<strong>MySQL Spatial</strong><br />
MySQL
是开源数据库的大鳄，从MySQL4.0开始加入了Spatial扩展功能，实现了OpenGIS规定的几何数据类型，在SQL中的简单空间运算。但是从
4.0之后到现在，MySQL的Spatial部分一直没有继续的更新和增强。加上早先MySQL在SQL上对空间运算支持的不完善（只支持基于最小外接
矩形的关系判断），所以MySQL是开源数据源中一个不太让人满意的选择。不过由于MySQL在小型项目上的广泛引用，在一些情况下也是可以以MySQL
为数据源的。<br />
<br />
<strong>db4o?： 对象数据库作为数据源的可能性</strong><br />
OpenGIS的系统架构完全是基于一个面向对象的模型
的，而传统的关系数据库、Shapefile文件是现在应用的主流。在地理描述的过程中，关系数据库的特性并没有被完全发挥，而为此还需要有中间件做
ORM的工作。试想直接将FeatureType和Features以对象形式存入对象数据库，整个系统至少在理论上可以减少一层。不过，以对象数据库作
为数据源，还需要对象数据库的性能进一步提升。而之后的和已有软件的对接应该不成问题，因为db4o可以直接存储Feature对象和Geometry对
象。<br />
但是因此产生的数据对实现的依赖性又是一个问题：数据和实现紧密耦合，数据中捆绑了代码，虽然db4o号称支持Java和.NET的的互操作，但是对于其它实现来说又成了问题。从这个角度来说，对象数据库作为数据源是一种倒退。<br />
<br />
<strong>为什么没有KML？</strong><br />
KML
作为一种新的标准（没有在意最后是否通过），它的作用主要是网络中地理信息的传输。KML是一种面向客户端设计的数据形式，这是它不能取代GML地位的原
因，同时也是它在GoogleEarth和很多地图应用上远强于GML的原因。对照一下KML和GML的形式就很容易理解，GML将属性数据存储为
Element，而KML则是以超文本的形式存储属性数据，前者便于数据读取，后者便于客户端表现。于KML很类似的就是GeoRSS，效果是相似的。
</span></span>
<img src ="http://www.blogjava.net/Juizes361/aggbug/298438.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/Juizes361/" target="_blank">残叶舞风</a> 2009-10-15 19:11 <a href="http://www.blogjava.net/Juizes361/articles/298438.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>