<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Feature - Tag - Simon Jakubowski</title><link>https://sijakubo.github.io/info/tags/feature/</link><description>Feature - Tag - Simon Jakubowski</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>sijakubo@gmail.com ( Simon Jakubowski)</managingEditor><webMaster>sijakubo@gmail.com ( Simon Jakubowski)</webMaster><lastBuildDate>Thu, 27 Apr 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://sijakubo.github.io/info/tags/feature/" rel="self" type="application/rss+xml"/><item><title>Create a Feature Collection from Postgis Geometries using Postgis &gt;= 3.0.0</title><link>https://sijakubo.github.io/info/posts/post-8/</link><pubDate>Thu, 27 Apr 2023 00:00:00 +0000</pubDate><author>sijakubo@gmail.com ( Simon Jakubowski)</author><guid>https://sijakubo.github.io/info/posts/post-8/</guid><description><![CDATA[<p>Generating a Feature and Feature Collection form postgis is rather simple. If you convert a simple <a href="https://postgis.net/docs/geometry.html">GEOMETRY</a> with the <a href="https://postgis.net/docs/ST_AsGeoJSON.html"><code>st_asgeojson</code></a> postgis will generate a GeoJSON &ldquo;geometry&rdquo;.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SELECT</span><span class="w"> </span><span class="n">st_asgeojson</span><span class="p">(</span><span class="n">f</span><span class="p">.</span><span class="n">geometry</span><span class="p">)</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">FROM</span><span class="w"> </span><span class="n">field</span><span class="w"> </span><span class="n">f</span><span class="p">;</span><span class="w">
</span></span></span></code></pre></div><p>will result in a single geometry:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;type&#34;</span> <span class="p">:</span> <span class="s2">&#34;Polygon&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;coordinates&#34;</span> <span class="p">:</span> <span class="p">[</span><span class="err">...</span><span class="p">]</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></div><p>If you provide a <strong>RECORD</strong> (since Postgis 3.0.0), postgis will generate a Feature with all the fields as Properties:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sql" data-lang="sql"><span class="line"><span class="cl"><span class="k">SELECT</span><span class="w"> </span><span class="n">st_asgeojson</span><span class="p">(</span><span class="n">f</span><span class="p">.</span><span class="o">*</span><span class="p">)</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="k">FROM</span><span class="w"> </span><span class="n">field</span><span class="w"> </span><span class="n">f</span><span class="p">;</span><span class="w">
</span></span></span></code></pre></div><p>will result in:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;type&#34;</span> <span class="p">:</span> <span class="s2">&#34;Feature&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;geometry&#34;</span> <span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;type&#34;</span> <span class="p">:</span> <span class="s2">&#34;Polygon&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;coordinates&#34;</span> <span class="p">:</span> <span class="p">[</span>
</span></span><span class="line"><span class="cl">      <span class="err">...</span>
</span></span><span class="line"><span class="cl">    <span class="p">]</span>
</span></span><span class="line"><span class="cl">  <span class="p">},</span>
</span></span><span class="line"><span class="cl">  <span class="nt">&#34;properties&#34;</span> <span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;id&#34;</span> <span class="p">:</span> <span class="s2">&#34;052ff36a-4ea7-4307-9bc3-414f49a62163&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;area_square_meters&#34;</span> <span class="p">:</span> <span class="mi">29434</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;altitude&#34;</span> <span class="p">:</span> <span class="mi">40</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;granule_code&#34;</span> <span class="p">:</span> <span class="s2">&#34;31UGT&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;creation_date&#34;</span> <span class="p">:</span> <span class="s2">&#34;2021-10-21T23:32:25.974059&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="nt">&#34;name&#34;</span> <span class="p">:</span> <span class="s2">&#34;Simple test field&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">    <span class="err">...</span>
</span></span><span class="line"><span class="cl">  <span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></div><p>Where the field table having the Columns: <code>id</code>, <code>area_square_meters</code>, &hellip;</p>]]></description></item></channel></rss>