<style type="text/css">
<!--
@page { margin: 0.79in }
PRE.cjk { font-family: "WenQuanYi Zen Hei", monospace }
P { margin-bottom: 0.08in }
-->
</style>
<pre class="western"><font color="#800080">mywindow</font><font color="#000000">::</font><font color="#800080">mywindow</font><font color="#000000">(</font><font color="#800080">QWidget</font><font color="#c0c0c0"> </font><font color="#000000">*parent)</font><font color="#c0c0c0"> </font><font color="#000000">:</font>
<font color="#c0c0c0"> </font><font color="#800080">QMainWindow</font><font color="#000000">(parent)</font>
<font color="#000000">{</font>
<font color="#c0c0c0"> </font>
<font color="#c0c0c0"> </font><font color="#800000">view</font><font color="#000000">=</font><font color="#808000">new</font><font color="#c0c0c0"> </font><font color="#800080">QGraphicsView</font><font color="#000000">(</font><font color="#808000">this</font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#800000">view</font><font color="#000000">-></font>repaint<font color="#000000">();</font>
<font color="#c0c0c0"> </font><font color="#800000">scene</font><font color="#000000">=</font><font color="#808000">new</font><font color="#c0c0c0"> </font><font color="#800080">QGraphicsScene</font><font color="#000000">();</font>
<font color="#c0c0c0"> </font>OGRRegisterAll<font color="#000000">();</font>
<font color="#c0c0c0"> </font><font color="#800000">scaleFactor</font><font color="#000000">=</font><font color="#000080">0.01</font><font color="#000000">;</font>
<font color="#c0c0c0"> </font><font color="#008000">//poDS</font><font color="#c0c0c0"> </font><font color="#008000">=</font><font color="#c0c0c0"> </font><font color="#008000">OGRSFDriverRegistrar::Open(</font><font color="#c0c0c0"> </font><font color="#008000">"admin.shp");</font>
<font color="#c0c0c0"> </font><font color="#008000">//poLayer</font><font color="#c0c0c0"> </font><font color="#008000">=</font><font color="#c0c0c0"> </font><font color="#008000">poDS->GetLayerByName(</font><font color="#c0c0c0"> </font><font color="#008000">"admin");</font>
<font color="#c0c0c0"> </font><font color="#800000">poDS</font><font color="#c0c0c0"> </font><font color="#000000">=</font><font color="#c0c0c0"> </font><font color="#800080">OGRSFDriverRegistrar</font><font color="#000000">::</font>Open<font color="#000000">(</font><font color="#c0c0c0"> </font><font color="#008000">"india_st.shp"</font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#800000">poLayer</font><font color="#c0c0c0"> </font><font color="#000000">=</font><font color="#c0c0c0"> </font><font color="#800000">poDS</font><font color="#000000">-></font><font color="#000000"><i>GetLayerByName</i></font><font color="#000000">(</font><font color="#c0c0c0"> </font><font color="#008000">"india_st"</font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#800000">poDS1</font><font color="#000000">=</font><font color="#800080">OGRSFDriverRegistrar</font><font color="#000000">::</font>Open<font color="#000000">(</font><font color="#008000">"india_ds.shx"</font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#800000">poLayer1</font><font color="#000000">=</font><font color="#800000">poDS1</font><font color="#000000">-></font><font color="#000000"><i>GetLayerByName</i></font><font color="#000000">(</font><font color="#008000">"india_ds"</font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#800000">poLayer</font><font color="#000000">-></font><font color="#000000"><i>ResetReading</i></font><font color="#000000">();</font>
<font color="#c0c0c0"> </font><font color="#800000">poLayer1</font><font color="#000000">-></font><font color="#000000"><i>ResetReading</i></font><font color="#000000">();</font>
<font color="#c0c0c0"> </font><font color="#800000">view</font><font color="#000000">-></font>setRenderHint<font color="#000000">(</font><font color="#800080">QPainter</font><font color="#000000">::</font><font color="#800080">Antialiasing</font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#808000">while</font><font color="#000000">(((</font><font color="#800000">poFeature</font><font color="#000000">=</font><font color="#800000">poLayer</font><font color="#000000">-></font><font color="#000000"><i>GetNextFeature</i></font><font color="#000000">())!=</font>NULL<font color="#000000">)</font><font color="#c0c0c0"> </font><font color="#000000">&&</font><font color="#c0c0c0"> </font><font color="#000000">((</font><font color="#800000">poFeature1</font><font color="#000000">=</font><font color="#800000">poLayer1</font><font color="#000000">-></font><font color="#000000"><i>GetNextFeature</i></font><font color="#000000">())!=</font>NULL<font color="#000000">))</font>
<font color="#c0c0c0"> </font><font color="#000000">{</font>
<font color="#c0c0c0"> </font><font color="#800000">poGeometry</font><font color="#000000">=</font><font color="#800000">poFeature</font><font color="#000000">-></font>GetGeometryRef<font color="#000000">();</font>
<font color="#c0c0c0"> </font><font color="#800000">poGeometry1</font><font color="#000000">=</font><font color="#800000">poFeature1</font><font color="#000000">-></font>GetGeometryRef<font color="#000000">();</font>
<font color="#c0c0c0"> </font><font color="#800080">OGREnvelope</font><font color="#c0c0c0"> </font><font color="#000000">*</font><font color="#c0c0c0"> </font><font color="#000000">psEnvelope1</font><font color="#c0c0c0"> </font><font color="#000000">=</font><font color="#c0c0c0"> </font><font color="#808000">new</font><font color="#c0c0c0"> </font><font color="#800080">OGREnvelope</font><font color="#000000">();</font>
<font color="#c0c0c0"> </font><font color="#800080">OGREnvelope</font><font color="#c0c0c0"> </font><font color="#000000">*</font><font color="#c0c0c0"> </font><font color="#000000">psEnvelope2</font><font color="#c0c0c0"> </font><font color="#000000">=</font><font color="#c0c0c0"> </font><font color="#808000">new</font><font color="#c0c0c0"> </font><font color="#800080">OGREnvelope</font><font color="#000000">();</font>
<font color="#c0c0c0"> </font><font color="#800000">poGeometry</font><font color="#000000">-></font><font color="#000000"><i>getEnvelope</i></font><font color="#000000">(psEnvelope1);</font>
<font color="#c0c0c0"> </font><font color="#800000">poGeometry1</font><font color="#000000">-></font><font color="#000000"><i>getEnvelope</i></font><font color="#000000">(psEnvelope2);</font>
<font color="#c0c0c0"> </font>qDebug<font color="#000000">()</font><font color="#c0c0c0"> </font><font color="#000000"><<</font><font color="#c0c0c0"> </font><font color="#000000">psEnvelope1-></font><font color="#800000">MinX</font><font color="#c0c0c0"> </font><font color="#000000"><<</font><font color="#c0c0c0"> </font><font color="#000000">psEnvelope1-></font><font color="#800000">MinY</font><font color="#c0c0c0"> </font><font color="#000000"><<</font><font color="#c0c0c0"> </font><font color="#000000">psEnvelope1-></font><font color="#800000">MaxX</font><font color="#c0c0c0"> </font><font color="#000000"><<</font><font color="#c0c0c0"> </font><font color="#000000">psEnvelope1-></font><font color="#800000">MaxY</font><font color="#000000">;</font>
<font color="#c0c0c0"> </font>qDebug<font color="#000000">()</font><font color="#c0c0c0"> </font><font color="#000000"><<</font><font color="#c0c0c0"> </font><font color="#000000">psEnvelope2-></font><font color="#800000">MinX</font><font color="#c0c0c0"> </font><font color="#000000"><<</font><font color="#c0c0c0"> </font><font color="#000000">psEnvelope2-></font><font color="#800000">MinY</font><font color="#c0c0c0"> </font><font color="#000000"><<</font><font color="#c0c0c0"> </font><font color="#000000">psEnvelope2-></font><font color="#800000">MaxX</font><font color="#c0c0c0"> </font><font color="#000000"><<</font><font color="#c0c0c0"> </font><font color="#000000">psEnvelope2-></font><font color="#800000">MaxY</font><font color="#000000">;</font>
<font color="#c0c0c0"> </font><font color="#808000">if</font><font color="#c0c0c0"> </font><font color="#000000">(</font><font color="#808000">this</font><font color="#000000">-></font>Intersects1<font color="#000000">(</font><font color="#800000">poGeometry</font><font color="#000000">,</font><font color="#800000">poGeometry1</font><font color="#000000">)==</font><font color="#000080">1</font><font color="#000000">)</font>
<font color="#c0c0c0"> </font><font color="#000000">{</font>
<font color="#c0c0c0"> </font><font color="#800080">QPainter</font><font color="#c0c0c0"> </font><font color="#000000">painter2;</font>
<font color="#c0c0c0"> </font><font color="#800000">poGeometry2</font><font color="#000000">=</font><font color="#800000">poGeometry</font><font color="#000000">-></font><font color="#000000"><i>Intersection</i></font><font color="#000000">(</font><font color="#800000">poGeometry1</font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#808000">if</font><font color="#000000">(</font><font color="#800000">poGeometry2</font><font color="#c0c0c0"> </font><font color="#000000">!=</font>NULL
<font color="#c0c0c0"> </font><font color="#000000">&&</font><font color="#c0c0c0"> </font>wkbFlatten<font color="#000000">(</font><font color="#800000">poGeometry2</font><font color="#000000">-></font><font color="#000000"><i>getGeometryType</i></font><font color="#000000">())</font><font color="#c0c0c0"> </font><font color="#000000">==</font><font color="#c0c0c0"> </font><font color="#800080">wkbPolygon</font><font color="#000000">)</font>
<font color="#c0c0c0"> </font><font color="#000000">{</font>
<font color="#c0c0c0"> </font>qDebug<font color="#000000">()<<</font><font color="#008000">"1yes"</font><font color="#000000">;</font>
<font color="#c0c0c0"> </font><font color="#800000">polyShape2</font><font color="#c0c0c0"> </font><font color="#000000">=</font><font color="#c0c0c0"> </font><font color="#000000">(</font><font color="#800080">OGRPolygon</font><font color="#000000">*)</font><font color="#c0c0c0"> </font><font color="#800000">poGeometry2</font><font color="#000000">;</font>
<font color="#c0c0c0"> </font>drawPolyShape<font color="#000000">(painter2,</font><font color="#800000">polyShape2</font><font color="#000000">,</font><font color="#800000">MBR</font><font color="#000000">,</font><font color="#800000">scaleFactor</font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#000000">}</font>
<font color="#c0c0c0"> </font><font color="#000000">}</font>
<font color="#c0c0c0"> </font><font color="#808000">this</font><font color="#000000">-></font>setCentralWidget<font color="#000000">(</font><font color="#800000">view</font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#000000">}</font><font color="#008000">//end</font><font color="#c0c0c0"> </font><font color="#008000">of</font><font color="#c0c0c0"> </font><font color="#008000">while</font><font color="#c0c0c0"> </font><font color="#008000">loop</font>
<font color="#c0c0c0"> </font><font color="#800080">QString</font><font color="#c0c0c0"> </font><font color="#000000">filename3,projString;</font>
<font color="#c0c0c0"> </font><font color="#000000">filename3=</font><font color="#008000">"india_st_out.shp"</font><font color="#000000">;</font>
<font color="#c0c0c0"> </font><font color="#800080">OGRwkbGeometryType</font><font color="#c0c0c0"> </font><font color="#000000">type;</font>
<font color="#c0c0c0"> </font>ShapeFileWriter<font color="#000000">(</font><font color="#c0c0c0"> </font><font color="#000000">filename3,type,</font><font color="#c0c0c0"> </font><font color="#000000">projString);</font>
<font color="#000000">}</font><font color="#008000">//end</font><font color="#c0c0c0"> </font><font color="#008000">of</font><font color="#c0c0c0"> </font><font color="#008000">main</font>
<font color="#800080">OGRBoolean</font><font color="#c0c0c0"> </font><font color="#800080">mywindow</font><font color="#000000">::</font>Intersects1<font color="#000000">(</font><font color="#800080">OGRGeometry</font><font color="#c0c0c0"> </font><font color="#000000">*poGeom,</font><font color="#c0c0c0"> </font><font color="#800080">OGRGeometry</font><font color="#c0c0c0"> </font><font color="#000000">*poOtherGeom</font><font color="#c0c0c0"> </font><font color="#000000">)</font><font color="#c0c0c0"> </font><font color="#808000">const</font>
<font color="#000000">{</font>
<font color="#c0c0c0"> <font color="#000000">// this is for obtaining a region for interscetion</font></font><font color="#000000"></font>
<font color="#000000">}</font>
<font color="#808000">void</font><font color="#c0c0c0"> </font><font color="#800080">mywindow</font><font color="#000000">::</font><font color="#008000">drawPolyShape</font><font color="#000000">(</font><font color="#800080">QPainter</font><font color="#000000">&</font><font color="#c0c0c0"> </font><font color="#000000">painter,</font><font color="#800080">OGRPolygon</font><font color="#000000">*</font><font color="#c0c0c0"> </font><font color="#000000">polyShape,</font><font color="#808000">const</font><font color="#c0c0c0"> </font><font color="#800080">QRectF</font><font color="#000000">&</font><font color="#c0c0c0"> </font><font color="#000000">MBR,</font><font color="#c0c0c0"> </font><font color="#808000">const</font><font color="#c0c0c0"> </font><font color="#808000">double</font><font color="#000000">&</font><font color="#c0c0c0"> </font><font color="#000000">scaleFactor)</font>
<font color="#000000">{</font>
<font color="#c0c0c0"> // for drawing a shape file <font color="#000000"><br></font></font><font color="#000000">}</font>
<font color="#808000">void</font><font color="#c0c0c0"> </font><font color="#800080">mywindow</font><font color="#000000">::</font>drawClosedLinearRing<font color="#000000">(</font><font color="#800080">QPainterPath</font><font color="#000000">&</font><font color="#c0c0c0"> </font><font color="#000000">painter,</font><font color="#800080">OGRLinearRing</font><font color="#000000">*</font><font color="#c0c0c0"> </font><font color="#000000">linearRing,</font>
<font color="#c0c0c0"> </font><font color="#808000">const</font><font color="#c0c0c0"> </font><font color="#800080">QRectF</font><font color="#000000">&</font><font color="#c0c0c0"> </font><font color="#000000">MBR,</font><font color="#c0c0c0"> </font><font color="#808000">const</font><font color="#c0c0c0"> </font><font color="#808000">double</font><font color="#000000">&</font><font color="#c0c0c0"> </font><font color="#000000">scaleFactor)</font>
<font color="#000000">{</font>
<font color="#c0c0c0"> // for drawing a shape file </font><font color="#000000"><br>}</font>
<font color="#808000">void</font><font color="#c0c0c0"> </font><font color="#800080">mywindow</font><font color="#000000">::</font>ShapeFileWriter<font color="#000000">(</font><font color="#800080">QString</font><font color="#c0c0c0"> </font><font color="#000000">filename,</font><font color="#800080">OGRwkbGeometryType</font><font color="#c0c0c0"> </font><font color="#000000">type,</font><font color="#800080">QString</font><font color="#c0c0c0"> </font><font color="#000000">projString)// program to write to shape file </font>
<font color="#c0c0c0"> </font><font color="#000000">{</font>
<font color="#c0c0c0"> </font><font color="#800080">QFileInfo</font><font color="#c0c0c0"> </font><font color="#000000">info(filename);</font>
<font color="#c0c0c0"> </font><font color="#800080">QString</font><font color="#c0c0c0"> </font><font color="#000000">baseFileName</font><font color="#c0c0c0"> </font><font color="#000000">=</font><font color="#c0c0c0"> </font><font color="#000000">info.</font>absolutePath<font color="#000000">();</font><font color="#c0c0c0"> </font><font color="#008000">//+</font><font color="#c0c0c0"> </font><font color="#008000">QDir::separator();</font>
<font color="#c0c0c0"> </font><font color="#000000">baseFileName</font><font color="#c0c0c0"> </font><font color="#000000">+=</font><font color="#c0c0c0"> </font><font color="#000000">info.</font>baseName<font color="#000000">();</font>
<font color="#c0c0c0"> </font>
<font color="#c0c0c0"> </font><font color="#800080">QFile</font><font color="#c0c0c0"> </font><font color="#000000">fileshx(baseFileName</font><font color="#c0c0c0"> </font><font color="#000000">+</font><font color="#c0c0c0"> </font><font color="#008000">".shx"</font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#800080">QFile</font><font color="#c0c0c0"> </font><font color="#000000">fileshp(baseFileName</font><font color="#c0c0c0"> </font><font color="#000000">+</font><font color="#c0c0c0"> </font><font color="#008000">".shp"</font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#800080">QFile</font><font color="#c0c0c0"> </font><font color="#000000">filedbf(baseFileName</font><font color="#c0c0c0"> </font><font color="#000000">+</font><font color="#c0c0c0"> </font><font color="#008000">".dbf"</font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#800080">QFile</font><font color="#c0c0c0"> </font><font color="#000000">fileprj(baseFileName</font><font color="#c0c0c0"> </font><font color="#000000">+</font><font color="#c0c0c0"> </font><font color="#008000">".prj"</font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#808000">if</font><font color="#000000">(fileshp.</font>exists<font color="#000000">())</font>
<font color="#c0c0c0"> </font><font color="#000000">{</font>
<font color="#c0c0c0"> </font><font color="#000000">fileshp.</font>remove<font color="#000000">();</font>
<font color="#c0c0c0"> </font><font color="#000000">}</font>
<font color="#c0c0c0"> </font><font color="#808000">if</font><font color="#000000">(fileshx.</font>exists<font color="#000000">())</font>
<font color="#c0c0c0"> </font><font color="#000000">{</font>
<font color="#c0c0c0"> </font><font color="#000000">fileshx.</font>remove<font color="#000000">();</font>
<font color="#c0c0c0"> </font><font color="#000000">}</font>
<font color="#c0c0c0"> </font><font color="#808000">if</font><font color="#000000">(filedbf.</font>exists<font color="#000000">())</font>
<font color="#c0c0c0"> </font><font color="#000000">{</font>
<font color="#c0c0c0"> </font><font color="#000000">filedbf.</font>remove<font color="#000000">();</font>
<font color="#c0c0c0"> </font><font color="#000000">}</font>
<font color="#c0c0c0"> </font><font color="#808000">if</font><font color="#000000">(fileprj.</font>exists<font color="#000000">())</font>
<font color="#c0c0c0"> </font><font color="#000000">{</font>
<font color="#c0c0c0"> </font><font color="#000000">fileprj.</font>remove<font color="#000000">();</font>
<font color="#c0c0c0"> </font><font color="#000000">}</font>
<font color="#c0c0c0"> </font><font color="#800080">QString</font><font color="#c0c0c0"> </font><font color="#000000">fileName</font><font color="#c0c0c0"> </font><font color="#000000">=</font><font color="#c0c0c0"> </font><font color="#000000">filename;</font>
<font color="#c0c0c0"> </font><font color="#800080">QStringList</font><font color="#c0c0c0"> </font><font color="#000000">list;</font>
<font color="#c0c0c0"> </font><font color="#808000">const</font><font color="#c0c0c0"> </font><font color="#808000">char</font><font color="#c0c0c0"> </font><font color="#000000">*pszDriverName</font><font color="#c0c0c0"> </font><font color="#000000">=</font><font color="#c0c0c0"> </font><font color="#008000">"ESRI</font><font color="#c0c0c0"> </font><font color="#008000">Shapefile"</font><font color="#000000">;</font>
<font color="#c0c0c0"> </font><font color="#800080">OGRSFDriver</font><font color="#c0c0c0"> </font><font color="#000000">*poDriver;</font>
<font color="#c0c0c0"> </font>OGRRegisterAll<font color="#000000">();</font>
<font color="#c0c0c0"> </font><font color="#000000">poDriver</font><font color="#c0c0c0"> </font><font color="#000000">=</font><font color="#c0c0c0"> </font><font color="#800080">OGRSFDriverRegistrar</font><font color="#000000">::</font>GetRegistrar<font color="#000000">()-></font>GetDriverByName<font color="#000000">(</font>
<font color="#c0c0c0"> </font><font color="#000000">pszDriverName</font><font color="#c0c0c0"> </font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#808000">if</font><font color="#000000">(</font><font color="#c0c0c0"> </font><font color="#000000">poDriver</font><font color="#c0c0c0"> </font><font color="#000000">==</font><font color="#c0c0c0"> </font>NULL<font color="#c0c0c0"> </font><font color="#000000">)</font>
<font color="#c0c0c0"> </font><font color="#000000">{</font>
<font color="#c0c0c0"> </font><font color="#808000">return</font><font color="#000000">;</font>
<font color="#c0c0c0"> </font><font color="#000000">}</font>
<font color="#c0c0c0"> </font><font color="#800000">poDS</font><font color="#c0c0c0"> </font><font color="#000000">=</font><font color="#c0c0c0"> </font><font color="#000000">poDriver-></font><font color="#000000"><i>CreateDataSource</i></font><font color="#000000">(filename.</font>toLatin1<font color="#000000">().</font>data<font color="#000000">(),</font><font color="#c0c0c0"> </font>NULL<font color="#c0c0c0"> </font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#808000">if</font><font color="#000000">(</font><font color="#c0c0c0"> </font><font color="#800000">poDS</font><font color="#c0c0c0"> </font><font color="#000000">==</font><font color="#c0c0c0"> </font>NULL<font color="#c0c0c0"> </font><font color="#000000">)</font>
<font color="#c0c0c0"> </font><font color="#000000">{</font>
<font color="#c0c0c0"> </font><font color="#808000">return</font><font color="#000000">;</font>
<font color="#c0c0c0"> </font><font color="#000000">}</font>
<font color="#c0c0c0"> </font><font color="#000000">filename.</font>truncate<font color="#000000">(fileName.</font>length<font color="#000000">()-</font><font color="#000080">4</font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#800000">poLayer</font><font color="#c0c0c0"> </font><font color="#000000">=</font><font color="#c0c0c0"> </font><font color="#800000">poDS</font><font color="#000000">-></font><font color="#000000"><i>CreateLayer</i></font><font color="#000000">(filename.</font>toLatin1<font color="#000000">().</font>data<font color="#000000">(),</font><font color="#c0c0c0"> </font>NULL<font color="#000000">,</font><font color="#c0c0c0"> </font><font color="#000000">type,</font><font color="#c0c0c0"> </font>NULL<font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#808000">if</font><font color="#000000">(</font><font color="#c0c0c0"> </font><font color="#800000">poLayer</font><font color="#c0c0c0"> </font><font color="#000000">==</font><font color="#c0c0c0"> </font>NULL<font color="#c0c0c0"> </font><font color="#000000">)</font>
<font color="#c0c0c0"> </font><font color="#000000">{</font>
<font color="#c0c0c0"> </font><font color="#808000">return</font><font color="#000000">;</font>
<font color="#c0c0c0"> </font><font color="#000000">}</font>
<font color="#c0c0c0"> </font><font color="#808000">if</font><font color="#000000">(!projString.</font>isEmpty<font color="#000000">()</font><font color="#c0c0c0"> </font><font color="#000000">&&</font><font color="#c0c0c0"> </font><font color="#000000">!projString.</font>isNull<font color="#000000">())</font>
<font color="#c0c0c0"> </font><font color="#000000">{</font>
<font color="#c0c0c0"> </font><font color="#000000">filename</font><font color="#c0c0c0"> </font><font color="#000000">=</font><font color="#c0c0c0"> </font><font color="#000000">filename</font><font color="#c0c0c0"> </font><font color="#000000">+</font><font color="#c0c0c0"> </font><font color="#008000">".prj"</font><font color="#000000">;</font>
<font color="#c0c0c0"> </font><font color="#800080">QFile</font><font color="#c0c0c0"> </font><font color="#000000">data(filename);</font>
<font color="#c0c0c0"> </font><font color="#808000">if</font><font color="#c0c0c0"> </font><font color="#000000">(data.</font><font color="#000000"><i>open</i></font><font color="#000000">(</font><font color="#800080">QFile</font><font color="#000000">::</font><font color="#800080">WriteOnly</font><font color="#c0c0c0"> </font><font color="#000000">|</font><font color="#c0c0c0"> </font><font color="#800080">QFile</font><font color="#000000">::</font><font color="#800080">Truncate</font><font color="#000000">))</font>
<font color="#c0c0c0"> </font><font color="#000000">{</font>
<font color="#c0c0c0"> </font><font color="#800080">QTextStream</font><font color="#c0c0c0"> </font><font color="#000000">out(&data);</font>
<font color="#c0c0c0"> </font><font color="#000000">out<<projString<<</font><font color="#008000">"\n"</font><font color="#000000">;</font>
<font color="#c0c0c0"> </font><font color="#000000">list.</font>append<font color="#000000">(projString);</font>
<font color="#c0c0c0"> </font><font color="#000000">}</font>
<font color="#c0c0c0"> </font><font color="#000000">data.</font><font color="#000000"><i>close</i></font><font color="#000000">();</font>
<font color="#c0c0c0"> </font><font color="#000000">}</font>
<font color="#c0c0c0"> </font><font color="#808000">int</font><font color="#c0c0c0"> </font><font color="#000000">rec;</font>
<font color="#008000">//</font><font color="#c0c0c0"> </font><font color="#008000">rec=identifyRecord(psEnvelope3->MinX,psEnvelope3->MinY,psEnvelope3->MaxX</font><font color="#c0c0c0"> </font><font color="#008000">);</font>
<font color="#c0c0c0"> </font><font color="#808000">int</font><font color="#c0c0c0"> </font><font color="#000000">x;</font>
<font color="#c0c0c0"> </font><font color="#000000">x=</font>addRecord<font color="#000000">(</font><font color="#800000">poGeometry2</font><font color="#000000">,list);</font>
<font color="#c0c0c0"> </font><font color="#808000">int</font><font color="#c0c0c0"> </font><font color="#000000">y;</font>
<font color="#c0c0c0"> </font><font color="#000000">y=</font>getNumofRecords<font color="#000000">();</font>
<font color="#c0c0c0"> </font>qDebug<font color="#000000">()<<y;</font>
<font color="#c0c0c0"> </font><font color="#000000">}</font>
<font color="#808000">int</font><font color="#c0c0c0"> </font><font color="#800080">mywindow</font><font color="#000000">::</font>addRecord<font color="#000000">(</font><font color="#800080">OGRGeometry</font><font color="#000000">*</font><font color="#c0c0c0"> </font><font color="#000000">geometry,</font><font color="#800080">QStringList</font><font color="#c0c0c0"> </font><font color="#000000">list)</font>
<font color="#c0c0c0"> </font><font color="#000000">{</font>
<font color="#c0c0c0"> </font><font color="#808000">int</font><font color="#c0c0c0"> </font><font color="#000000">fID;</font>
<font color="#c0c0c0"> </font><font color="#800080">OGRFeature</font><font color="#c0c0c0"> </font><font color="#000000">*poFeature;</font>
<font color="#c0c0c0"> </font><font color="#000000">poFeature</font><font color="#c0c0c0"> </font><font color="#000000">=</font><font color="#c0c0c0"> </font><font color="#800080">OGRFeature</font><font color="#000000">::</font>CreateFeature<font color="#000000">(</font><font color="#c0c0c0"> </font><font color="#800000">poLayer</font><font color="#000000">-></font><font color="#000000"><i>GetLayerDefn</i></font><font color="#000000">()</font><font color="#c0c0c0"> </font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#000000">poFeature-></font>SetField<font color="#000000">(</font><font color="#c0c0c0"> </font><font color="#008000">"ID"</font><font color="#000000">,</font><font color="#c0c0c0"> </font><font color="#000000">(</font><font color="#808000">int</font><font color="#000000">)poFeature-></font>GetFID<font color="#000000">());</font>
<font color="#c0c0c0"> </font><font color="#000000">poFeature-></font>SetGeometry<font color="#000000">(</font><font color="#c0c0c0"> </font><font color="#000000">geometry</font><font color="#c0c0c0"> </font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#808000">for</font><font color="#000000">(</font><font color="#808000">int</font><font color="#c0c0c0"> </font><font color="#000000">i</font><font color="#c0c0c0"> </font><font color="#000000">=</font><font color="#c0c0c0"> </font><font color="#000080">0</font><font color="#000000">;</font><font color="#c0c0c0"> </font><font color="#000000">i</font><font color="#c0c0c0"> </font><font color="#000000"><</font><font color="#c0c0c0"> </font><font color="#000000">list.</font>size<font color="#000000">();</font><font color="#c0c0c0"> </font><font color="#000000">i++)</font>
<font color="#c0c0c0"> </font><font color="#000000">{</font>
<font color="#c0c0c0"> </font>qDebug<font color="#000000">()<<</font><font color="#008000">"ADDED"</font><font color="#000000">;</font>
<font color="#c0c0c0"> </font><font color="#000000">poFeature-></font>SetField<font color="#000000">(</font><font color="#c0c0c0"> </font><font color="#000000">i,</font><font color="#c0c0c0"> </font><font color="#000000">list.</font>at<font color="#000000">(i).</font>toDouble<font color="#000000">());</font>
<font color="#c0c0c0"> </font><font color="#000000">}</font>
<font color="#c0c0c0"> </font><font color="#808000">if</font><font color="#000000">(</font><font color="#c0c0c0"> </font><font color="#800000">poLayer</font><font color="#000000">-></font><font color="#000000"><i>CreateFeature</i></font><font color="#000000">(</font><font color="#c0c0c0"> </font><font color="#000000">poFeature</font><font color="#c0c0c0"> </font><font color="#000000">)</font><font color="#c0c0c0"> </font><font color="#000000">!=</font><font color="#c0c0c0"> </font>OGRERR_NONE<font color="#c0c0c0"> </font><font color="#000000">)</font>
<font color="#c0c0c0"> </font><font color="#000000">{</font>
<font color="#c0c0c0"> </font><font color="#808000">return</font><font color="#c0c0c0"> </font><font color="#000000">-</font><font color="#000080">1</font><font color="#000000">;</font>
<font color="#c0c0c0"> </font><font color="#000000">}</font>
<font color="#c0c0c0"> </font><font color="#000000">fID</font><font color="#c0c0c0"> </font><font color="#000000">=</font><font color="#c0c0c0"> </font><font color="#000000">(</font><font color="#808000">int</font><font color="#000000">)poFeature-></font>GetFID<font color="#000000">();</font>
<font color="#c0c0c0"> </font><font color="#800080">OGRFeature</font><font color="#000000">::</font>DestroyFeature<font color="#000000">(</font><font color="#c0c0c0"> </font><font color="#000000">poFeature</font><font color="#c0c0c0"> </font><font color="#000000">);</font>
<font color="#c0c0c0"> </font><font color="#808000">return</font><font color="#c0c0c0"> </font><font color="#000000">fID;</font>
<font color="#c0c0c0"> </font><font color="#000000">}</font>
<font color="#808000"></font></pre><br>