<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
span.Shkpostityyli17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 2.0cm 70.85pt 2.0cm;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="FI" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">I believe that OGR SQL dialect adds the geometry column into SQL selection by default. Am I right with this? I volunteer to edit the documentation
<a href="https://gdal.org/user/ogr_sql_dialect.html">https://gdal.org/user/ogr_sql_dialect.html</a> if this is the case. But what I can’t understand is another side of the story, how to select just the geometry field with OGR SQL dialect from some data sources.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">This command returns both time column and geometry from GML<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">ogrinfo -sql "select time from timetest" timetest.gml<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I can select just the geometry from geometry column named as “geometryProperty” by<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">ogrinfo -sql "select geometryProperty from timetest" timetest.gml<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">The behavior is the same with SpatiaLite when I use “-dialect OGRSQL”. Geometry is selected automatically but it can be selected also by name. But I cannot discover any way to select just the geometry field from shapefile.
Is it because geometry column in shapefile does not have any name as this Python test seems to prove?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">>>> from osgeo import ogr<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">>>> shp_ds = ogr.Open('timetest.shp')<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">>>> shp_lyr = shp_ds.GetLayer(0)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">>>> shp_lyr.GetGeometryColumn()<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">''<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">OpenJUMP JML driver does not report a name for geometry column either. Is it rather an exception that drivers give names for the geometry columns? I know I can select only the geometry column with the SQLite dialect,
but I am curious.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">-Jukka Rahkonen-<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
</body>
</html>