﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-socketref-随笔分类-MapGis</title><link>http://www.cppblog.com/socketref/category/6602.html</link><description>opensource in my life!
Technical Engineer</description><language>zh-cn</language><lastBuildDate>Thu, 03 Jul 2008 18:50:11 GMT</lastBuildDate><pubDate>Thu, 03 Jul 2008 18:50:11 GMT</pubDate><ttl>60</ttl><item><title>QGis读解。。。</title><link>http://www.cppblog.com/socketref/archive/2008/07/03/55269.html</link><dc:creator>放屁啊狗</dc:creator><author>放屁啊狗</author><pubDate>Thu, 03 Jul 2008 15:48:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2008/07/03/55269.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/55269.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2008/07/03/55269.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/55269.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/55269.html</trackback:ping><description><![CDATA[<p class="MsoNormal"><span lang="EN-US">1.Qgsrenderer </span><span style="font-family: 宋体;">图层绘制器抽象基类</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;</span></span><span style="font-family: 宋体;">每个</span><span lang="EN-US">renderer</span><span style="font-family: 宋体;">只能绘制某一种适量图形对象，</span> <span lang="EN-US">Qgsrenderer ::mVectorType
</span><span style="font-family: 宋体;">定义了适量图层类型</span><span lang="EN-US">(QGis::VectorType)
,Qgsrenderer</span><span style="font-family: 宋体;">定义了作为一个绘图器的基本功能接口</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">QgsRasterLayer </span><span style="font-family: 宋体;">通过</span><span lang="EN-US">QgsSingleSymbolRenderer</span><span style="font-family: 宋体;">实现矢量对象的绘制</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">2</span><span style="font-family: 宋体;">．</span>
<span lang="EN-US">QgsMapLayer </span><span style="font-family: 宋体;">地图图层</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;</span></span><span style="font-family: 宋体;">图层类型</span><span lang="EN-US">: VECTOR,RASTER</span></p>
<p class="MsoNormal"><span lang="EN-US">2.1 QgsVectorLayer</span><span style="font-family: 宋体;">矢量图层</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">与</span><span lang="EN-US">QgsVectorLayer</span><span style="font-family: 宋体;">对应的就是</span><span lang="EN-US">QgsRasterLayer , QgsMapLayer</span><span style="font-family: 宋体;">的子类图层对象仅仅这两种。</span></p>
<p class="MsoNormal"><span lang="EN-US">2.2 QgsMapCanvasLayer </span><span style="font-family: 宋体;">画板图层</span></p>
<p class="MsoNormal"><span lang="EN-US">2.3 QgsMapLayerRegistry</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">存储当前所有地图层对象</span><span lang="EN-US">,</span><span style="font-family: 宋体;">提供</span><span lang="EN-US">Layer id</span><span style="font-family: 宋体;">查询</span><span lang="EN-US">MapLayer</span><span style="font-family: 宋体;">对象的功能</span><span lang="EN-US">mapLayer(layid)</span></p>
<p class="MsoNormal"><span lang="EN-US">2.4 QgsMapCanvasLayer</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>QgsMapCanvasLayer</span><span style="font-family: 宋体;">是</span><span lang="EN-US">qgis</span><span style="font-family: 宋体;">应用层的图层对象，用于村促跟用户交互的信息，它并不是</span><span lang="EN-US">Map</span><span style="font-family: 宋体;">核心数据对象</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">3.QgsFeature</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">图层特征对象。</span><span lang="EN-US">QgsFeature</span><span style="font-family: 宋体;">包含若干</span><span lang="EN-US">Attribute</span><span style="font-family: 宋体;">，一个</span><span lang="EN-US">QgsGeometry</span><span style="font-family: 宋体;">对象</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">QgsLine</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;</span>QgsLine</span><span style="font-family: 宋体;">由</span><span lang="EN-US">2</span><span style="font-family: 宋体;">个</span><span lang="EN-US">QgsPoint</span><span style="font-family: 宋体;">构成的线段</span></p>
<p class="MsoNormal"><span lang="EN-US">4. QgsMapRender </span></p>
<p class="MsoNormal"><span lang="EN-US">QgsMapCanvasMap</span><span style="font-family: 宋体;">利用此对象实现绘制，无子类实现。当</span><span lang="EN-US">canvas</span><span style="font-family: 宋体;">产生事件，诸如大小调整、移动、缩放等等请求时，</span><span lang="EN-US">QgsMapCanvas</span><span style="font-family: 宋体;">请求</span><span lang="EN-US">QgsMapCanvasMap</span><span style="font-family: 宋体;">进行刷新绘制，后者调用</span><span lang="EN-US">QgsMapRender::render()</span><span style="font-family: 宋体;">进行绘制图层。</span></p>
<p class="MsoNormal"><span lang="EN-US">Render(){</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>QgsMapRender</span><span style="font-family: 宋体;">内部保留图层名称数组，根据图层</span><span lang="EN-US">id</span><span style="font-family: 宋体;">到</span><span lang="EN-US">QgsMapLayerRegistry</span><span style="font-family: 宋体;">中获取图层对象，绘制图层从最底部开始。</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></p>
<p class="MsoNormal"><span lang="EN-US">}</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">5.OgsMapCanvas</span><span style="font-family: 宋体;">图层绘制板</span></p>
<p class="MsoNormal"><span lang="EN-US">N</span><span style="font-family: 宋体;">个图层是绘制在</span><span lang="EN-US">QgsMapCanvasMap</span><span style="font-family: 宋体;">这个对象之上的，这个对象是</span><span lang="EN-US">Qt</span><span style="font-family: 宋体;">的绘制对象</span></p>
<p class="MsoNormal"><span lang="EN-US">QgsMapCanvasMap</span><span style="font-family: 宋体;">其实就是提供</span><span lang="EN-US">OgsMapRender</span><span style="font-family: 宋体;">的绘制缓冲，最终还是请求</span><span lang="EN-US">QgsMapRender</span><span style="font-family: 宋体;">进行图层绘制。</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">6. QgsProviderRegistry</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>Qgis</span><span style="font-family: 宋体;">的数据源作为一个</span><span lang="EN-US">provider</span><span style="font-family: 宋体;">将被登记在</span><span lang="EN-US">QgsProviderRegistry</span><span style="font-family: 宋体;">对象中</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">创建一个新的矢量图层</span> </p>
<p class="MsoNormal"><span lang="EN-US">QgsProviderRegistry</span><span style="font-family: 宋体;">中查找</span><span lang="EN-US">ogr</span><span style="font-family: 宋体;">的</span><span lang="EN-US">provider</span><span style="font-family: 宋体;">，创建一个</span><span lang="EN-US">ogr</span><span style="font-family: 宋体;">的矢量数据空间</span><span style="color: blue;" lang="EN-US">createEmptyDataSource<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color: blue;" lang="EN-US">QgsOgrProvider</span><span style="font-family: 宋体; color: blue;">作为</span><span style="color: blue;" lang="EN-US">QgsVectorDataProvider</span><span style="font-family: 宋体; color: blue;">的子类，</span><span style="color: blue;" lang="EN-US">QgsVectorDataProvider</span><span style="font-family: 宋体; color: blue;">作为接口被其他模块访问</span><span style="color: blue;" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">new QgsVectorLayer(ogr){</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>new
QgsSingleSymbolRenderer()</span></p>
<p class="MsoNormal"><span lang="EN-US">}</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">QgsMapToPixel </span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-family: 宋体;">地图单位到屏幕像素位置的转换，这个操作非常简单，根据设定的每像素地图大小单位来计算地图单位</span><span lang="EN-US">(world)</span><span style="font-family: 宋体;">到屏幕像素的转换，反之亦然</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">QgsProject </span><span style="font-family: 宋体;">、</span><span lang="EN-US">QgsProjectFileTransform</span><span style="font-family: 宋体;">、</span><span lang="EN-US">Qgsversion</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">这些类用于</span><span lang="EN-US">qgis</span><span style="font-family: 宋体;">项目信息管理之用，项目文件类型名</span><span lang="EN-US">.qgs,</span><span style="font-family: 宋体;">格式是</span><span lang="EN-US">xml</span><span style="font-family: 宋体;">。</span><span lang="EN-US">QgsProjectFileTransform</span><span style="font-family: 宋体;">用于不同版本的</span><span lang="EN-US">qgis</span><span style="font-family: 宋体;">的功能文件的转换</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">QgsSymbol</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">这个类一方面是实现绘制图层类型的</span><span lang="EN-US">Icon</span><span style="font-family: 宋体;">，</span><span lang="EN-US">Qgis</span><span style="font-family: 宋体;">中如果创建新的</span><span lang="EN-US">line</span><span style="font-family: 宋体;">矢量层，则这个层的图标显示在层显示树的节点的</span><span lang="EN-US">Icon</span><span style="font-family: 宋体;">就是用</span><span lang="EN-US">QgsSymbol</span><span style="font-family: 宋体;">绘制产生</span></p>
<p class="MsoNormal" style="text-align: center;" align="center"><span lang="EN-US"><!--[if gte vml 1]><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:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style="'width:65.25pt;
height:54.75pt'">
<v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image001.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><img  src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image002.jpg" v:shapes="_x0000_i1025" height="73" width="87"><!--[endif]--></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">另一方面</span><span lang="EN-US">,</span><span style="font-family: 宋体;">在编辑矢量图层时，添加的线段都有两端的节点点，</span><span lang="EN-US">QgsSymbol</span><span style="font-family: 宋体;">就是绘制这个节点</span> </p>
<p class="MsoNormal"><span lang="EN-US"><!--[if gte vml 1]><v:shape id="_x0000_i1026"
type="#_x0000_t75" style="'width:264.75pt;height:168pt'">
<v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image003.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><img  src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image004.jpg" v:shapes="_x0000_i1026" height="224" width="353"><!--[endif]--></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">矢量图层类型</span><span lang="EN-US">:</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;
</span>Point,</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;
</span>Line,</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;
</span>Polygon,</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">QgsMapTip</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span style="font-family: 宋体;">图层地标提示。当鼠标在</span><span lang="EN-US">MapCanvas</span><span style="font-family: 宋体;">上移动时</span><span lang="EN-US">,MapTip</span><span style="font-family: 宋体;">被一个定时器驱动，这时</span><span lang="EN-US">MapTip</span><span style="font-family: 宋体;">将当前地图坐标作为中心点，围绕这个点产生一个选择区域</span><span lang="EN-US">(<span>&nbsp; </span>double searchRadius =
mpMapCanvas-&gt;extent().width() * (QGis::DEFAULT_IDENTIFY_RADIUS / 100.0 );)</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span style="font-family: 宋体;">这个区域作为搜寻区域提交给</span><span lang="EN-US">ogr-provider</span><span style="font-family: 宋体;">查找地图的</span><span lang="EN-US">Feature</span><span style="font-family: 宋体;">对象</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><span style="font-family: 宋体;">再找</span><span lang="EN-US">Featrue</span><span style="font-family: 宋体;">的可显示的字段，然后用</span><span lang="EN-US">QToolTip</span><span style="font-family: 宋体;">进行显示。</span><span style="color: blue;"> <span lang="EN-US">QToolTip</span></span><span style="font-family: 宋体; color: blue;">最终是要被替换掉的</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<h3><span lang="EN-US">QgsFieldMap</span></h3>
<p class="MsoNormal"><span lang="EN-US">typedef QMap&lt;int, QgsField&gt;
QgsFieldMap;</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">矢量图层的对象具有多个属性，可以在添加编辑对象时设置这些属性</span></p>
<p class="MsoNormal"><span lang="EN-US"><!--[if gte vml 1]><v:shape id="_x0000_i1027"
type="#_x0000_t75" style="'width:141.75pt;height:161.25pt'">
<v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image005.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><img  src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image006.jpg" v:shapes="_x0000_i1027" height="215" width="189"><!--[endif]--></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">attributeFields[CmtAttr] = QgsField(attr[CmtAttr],
QVariant::String, "text");</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">以上代码就可以添加一种属性类型</span><span lang="EN-US"> </span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<h3><span style="font-family: 宋体;">地图距离单位</span><span lang="EN-US">:</span></h3>
<p class="MsoNormal"><span lang="EN-US">METERS,</span></p>
<p class="MsoNormal"><span lang="EN-US">FEET,</span></p>
<p class="MsoNormal"><span lang="EN-US">DEGREES,</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Mbr : </span><span style="font-family: 宋体;">可能全称</span><span lang="EN-US"> Max boundary Rectangle</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<h3><span style="font-family: 宋体;">坐标转换</span><span lang="EN-US">: </span></h3>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;</span><span>&nbsp;&nbsp;&nbsp;&nbsp; </span>1.</span><span style="font-family: 宋体;">空间坐标转换</span><span lang="EN-US">: long/lat</span><span style="font-family: 宋体;">坐标投影到世界地图坐标</span> <span style="font-family: 宋体;">【</span><span lang="EN-US">QgsCoordinateTransform</span><span style="font-family: 宋体;">实现】</span></p>
<p class="MsoNormal"><span lang="EN-US"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>2.</span><span style="font-family: 宋体;">世界坐标转换到屏幕坐标【</span><span lang="EN-US">QgsMapToPixel</span><span style="font-family: 宋体;">实现】</span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 7.5pt; font-family: 宋体; color: #009900;" lang="EN-US">//</span><span style="font-size: 7.5pt; font-family: 宋体; color: #009900;">数学宏</span><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">#define PI 3.1415926<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 7.5pt; font-family: 宋体; color: #009900;" lang="EN-US">//</span><span style="font-size: 7.5pt; font-family: 宋体; color: #009900;">角度转弧度</span><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">#define DEG_TO_RAD(ang) ((ang)*PI/180.0)<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 7.5pt; font-family: 宋体; color: #009900;" lang="EN-US">//</span><span style="font-size: 7.5pt; font-family: 宋体; color: #009900;">弧度转角度</span><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">#define RAD_TO_DEG(rad) ((rad)*180.0/PI)<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 7.5pt; font-family: 宋体; color: #009900;" lang="EN-US">//</span><span style="font-size: 7.5pt; font-family: 宋体; color: #009900;">取得<span lang="EN-US">x~y</span>之间任意一个值</span><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: left;" align="left"><span style="font-size: 12pt; font-family: 宋体;" lang="EN-US">#define RAND_RANGE(x,y) ((x) + rand() % ((y) - (x) + 1)))<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<h2><span lang="EN-US">GPX</span></h2>
<p class="MsoNormal"><span lang="EN-US"><a  href="http://www.gpsbabel.org/">www.gpsbabel.org</a>
</span><span style="font-family: 宋体;">是不同</span><span lang="EN-US">gps</span><span style="font-family: 宋体;">日志数据的通用解析和转换工具</span></p>
<p class="MsoNormal"><span lang="EN-US">gps log</span><span style="font-family: 宋体;">数据分类</span><span lang="EN-US">: </span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><!--[if !supportLists]--><span style="font-family: wingdings;" lang="EN-US"><span>l<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><!--[endif]--><span lang="EN-US">Waypoints: </span><span style="font-family: 宋体;">我的行径上要路过的点。比如我去北京，顺便到徐州拜访朋友，所以途经的徐州是我要停留的</span><span lang="EN-US">waypoint</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><!--[if !supportLists]--><span style="font-family: wingdings;" lang="EN-US"><span>l<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><!--[endif]--><span lang="EN-US">Routes</span><span style="font-family: 宋体;">：</span> <span style="font-family: 宋体;">是指所有</span><span lang="EN-US">WayPoint</span><span style="font-family: 宋体;">的集合构成的线路</span></p>
<p class="MsoNormal" style="margin-left: 21pt; text-indent: -21pt;"><!--[if !supportLists]--><span style="font-family: wingdings;" lang="EN-US"><span>l<span style="font-family: &quot;Times New Roman&quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><!--[endif]--><span lang="EN-US">Tracks</span><span style="font-family: 宋体;">：</span> <span style="font-family: 宋体;">我途经的路上所有走过的轨迹点</span><span lang="EN-US">(</span><span style="font-family: 宋体;">因该是最多的数据量</span><span lang="EN-US">)</span></p>
<p class="MsoNormal"><span lang="EN-US">WayPoint</span><span style="font-family: 宋体;">和</span><span lang="EN-US">route</span><span style="font-family: 宋体;">我理解为是面向应用的，而</span><span lang="EN-US">Track</span><span style="font-family: 宋体;">就是基础数据，是物理的记录</span></p>
<p class="MsoNormal"><span style="font-family: 宋体;">看看老外的注释</span></p>
<pre><span lang="EN-US">&gt;<em> a) waypoint</em></span></pre>
<pre><span lang="EN-US"><o:p>&nbsp;</o:p></span></pre>
<pre><span lang="EN-US">A geopoint with some special tags like name, comment and the like. </span></pre>
<pre><span lang="EN-US">Usually used to mark special locations as your home, a hotel or a </span></pre>
<pre><span lang="EN-US">geocache. Huge collections of gas stations, post boxes, shops and the </span></pre>
<pre><span lang="EN-US">like are called "points of interest" (aka POIs).</span></pre>
<pre><span lang="EN-US"><o:p>&nbsp;</o:p></span></pre>
<pre><span lang="EN-US">&gt;<em> b) track</em></span></pre>
<pre><span lang="EN-US"><o:p>&nbsp;</o:p></span></pre>
<pre><span lang="EN-US">A collection of geopoints recorded by your GPS device while traveling. A </span></pre>
<pre><span lang="EN-US">trackpoint doesn't have a name or comment, but it usually has a </span></pre>
<pre><span lang="EN-US">timestamp. This distibguishes a trackpoint from a waypoint.</span></pre>
<pre><span lang="EN-US"><o:p>&nbsp;</o:p></span></pre>
<pre><span lang="EN-US">&gt;<em> c) route</em></span></pre>
<pre><span lang="EN-US"><o:p>&nbsp;</o:p></span></pre>
<pre><span lang="EN-US">A collection of waypoints defining the route you want to pass while </span></pre>
<pre><span lang="EN-US">traveling. </span></pre>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p><img src ="http://www.cppblog.com/socketref/aggbug/55269.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁啊狗</a> 2008-07-03 23:48 <a href="http://www.cppblog.com/socketref/archive/2008/07/03/55269.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【Mapserver】 配置WMS 服务器</title><link>http://www.cppblog.com/socketref/archive/2008/07/02/55094.html</link><dc:creator>放屁啊狗</dc:creator><author>放屁啊狗</author><pubDate>Tue, 01 Jul 2008 18:12:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2008/07/02/55094.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/55094.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2008/07/02/55094.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/55094.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/55094.html</trackback:ping><description><![CDATA[MapServer安装之后并不具有WMS服务功能<br>所有的配置围绕着Mapfile进行<br>【http://mapserver.gis.umn.edu/docs/howto/wms_server】<br>1.判别当前MapServer是否支持WMS<br>#&gt;mapserv.exe -v <br>
MapServer version 4.6.1 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP OUTPUT=PDF
OUTPUT=SWF OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=WMS_SERVER
SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER SUPPORTS=WFS_CLIENT SUPPORTS=WCS_SERVER
INPUT=JPEG INPUT=POSTGIS INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE DEBUG=MSDEBUG<br>看到以上内容就ok了<br>2.修改mapfile<br>对于mapserver 5.0 的样例数据 workshop-50.zip<br>添加: <span style="font-family: monospace;"><br></span>PROJECTION<span style="font-family: monospace;"><br></span> "init=epsg:4269"<span style="font-family: monospace;"><br></span>END   <br>
<pre class="literal-block">"wms_onlineresource"  "http://192.168.14.65:8080/cgi-bin/mymap.exe?"<br>httpd.conf 添加<br>SetEnvIf Request_URI "/cgi-bin/mymap.exe" MS_MAPFILE=c:/gis/ms4w/Apache/htdocs/workshop-50/itasca.map  <br>路径不能加""哦<br>复制mapserve.exe 为mymap.exe<br>3.重新启动 httpd.exe<br>4.测试：<br>  jump或者qgis测试，添加wms层 ，browser添加 http://192.168.14.65:8080/cgi-bin/mymap.exe? <br>选择一些layer就可以查看喽<br></pre>
<br><br> <img src ="http://www.cppblog.com/socketref/aggbug/55094.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁啊狗</a> 2008-07-02 02:12 <a href="http://www.cppblog.com/socketref/archive/2008/07/02/55094.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【Mapserver】初试体验</title><link>http://www.cppblog.com/socketref/archive/2008/07/01/55082.html</link><dc:creator>放屁啊狗</dc:creator><author>放屁啊狗</author><pubDate>Tue, 01 Jul 2008 15:31:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2008/07/01/55082.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/55082.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2008/07/01/55082.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/55082.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/55082.html</trackback:ping><description><![CDATA[Mapserver的安装介质可从 http://mapserver.gis.umn.edu下载<br>安装也非常简单，选择何时的服务http端口就可以了，这里我选择了8080<br>下载ms4w 5.0的App数据 workshop-5.0.zip<br>将其简单解压缩到 $apache/htdocs下即可；创建$(apache)/tmp目录<br>修改worksop-5.0/index.html文件，将其中 IMAGEPATH,IMAGEURL 修改为workship-5.0的路径即可<br><br>&nbsp;// EDIT THE NEXT 2 LINES TO MATCH YOUR SETUP<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var snippet = "IMAGEPATH 'C:/gis/ms4w/Apache/htdocs/tmp/'";<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; snippet += " IMAGEURL '/tmp/'";<br>&nbsp; &lt;!-- EDIT THESE HIDDEN VARIABLES --&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="map" value="C:\gis\ms4w\Apache\htdocs\workshop-5.0\itasca.map"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="program" value="/cgi-bin/mapserv.exe"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input type="hidden" name="root" value="/workshop-5.0"&gt;&nbsp;&nbsp;&nbsp; <br><br>来测试一下&nbsp; http://127.0.0.1/workshop-5.0,即可看到itasca.map了<br><br>好好研究一把mapserver,配置好wms/wfs server 看看用openlayers/Qgis的效果<br> <img src ="http://www.cppblog.com/socketref/aggbug/55082.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁啊狗</a> 2008-07-01 23:31 <a href="http://www.cppblog.com/socketref/archive/2008/07/01/55082.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【OpenLayers】Vector编辑使用flash技术</title><link>http://www.cppblog.com/socketref/archive/2008/07/01/55081.html</link><dc:creator>放屁啊狗</dc:creator><author>放屁啊狗</author><pubDate>Tue, 01 Jul 2008 15:23:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2008/07/01/55081.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/55081.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2008/07/01/55081.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/55081.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/55081.html</trackback:ping><description><![CDATA[如题，今天google是愁到这个问题<br>flash确实现在无处不在，所以不存在是否要求client browser安装已否，已经成了标配。<br>目前没有仔细研读过openlayers的实现代码，所以两者的结合会有哪些问题目前尚不能给出区分，不过openlayers图层的编辑Marker，确实是个头疼的问题，javascript再强，实现的难度还是人尽共知的，所以flash确实个是补充的好方法<br>花时间研究吧<br><br><img src ="http://www.cppblog.com/socketref/aggbug/55081.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁啊狗</a> 2008-07-01 23:23 <a href="http://www.cppblog.com/socketref/archive/2008/07/01/55081.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几个优秀的图形相关开源项目</title><link>http://www.cppblog.com/socketref/archive/2008/04/04/46232.html</link><dc:creator>放屁啊狗</dc:creator><author>放屁啊狗</author><pubDate>Thu, 03 Apr 2008 18:40:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2008/04/04/46232.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/46232.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2008/04/04/46232.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/46232.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/46232.html</trackback:ping><description><![CDATA[cairo<br>agg<br>wxArt2D<br>geos<br><br><br> <img src ="http://www.cppblog.com/socketref/aggbug/46232.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁啊狗</a> 2008-04-04 02:40 <a href="http://www.cppblog.com/socketref/archive/2008/04/04/46232.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>