<div dir="ltr">There may be a better solution, but what I've done in the past with JPA/Hibernate is to create a varchar field that you can populate with the WKT representing the polyline (represented in WKT as a LINESTRING), then configure an 'AFTER INSERT OR UPDATE' trigger which updates the actual geometry column with the result of ST_GeometryFromText(wkt, srid).<div>
<br></div><div>Jason<div class="gmail_extra">
<br><br><div class="gmail_quote">On Tue, Jan 15, 2013 at 11:38 AM, Luciano Borges <span dir="ltr"><<a href="mailto:lucianosantosborges@gmail.com" target="_blank">lucianosantosborges@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Steve,<div><br></div><div><div>I took a look at GMapToGPX, but one of the functions it has and I need the version 3 of Google Maps already provides me.</div>
<div><br></div><div><font color="#cc0000">Ex: <span style="white-space:pre-wrap"> </span>arrayPoints = google.maps.geometry.encoding.decodePath(response.routes[0].overview_polyline.points); </font></div>
<div><br></div><div>I need to know how to take that route (array) and convert it into a polygon that the postgis can understand.<br></div><div><br></div><div>Thank you,</div><div>Luciano</div></div></div><div class="gmail_extra">
<div><div class="h5">
<br><br><div class="gmail_quote">2013/1/15 Luciano Borges <span dir="ltr"><<a href="mailto:lucianosantosborges@gmail.com" target="_blank">lucianosantosborges@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><p style="clear:both;vertical-align:baseline;line-height:18px;font-size:14px;font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;margin:0px 0px 1em;word-wrap:break-word;border:0px;padding:0px">


I have a page where the user enters the starting point and ending point and I show de route in the map.</p><p style="clear:both;vertical-align:baseline;line-height:18px;font-size:14px;font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;margin:0px 0px 1em;word-wrap:break-word;border:0px;padding:0px">


I would like to know how to get this polygon (polyline) and save it in Postgis through the Java / Hibernate.</p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;line-height:18px">


</p><p style="clear:both;vertical-align:baseline;margin:0px 0px 1em;word-wrap:break-word;border:0px;padding:0px">For example, I have this code:</p><pre style="margin-top:0px;margin-bottom:10px;padding:5px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;overflow:auto;width:auto;max-height:600px">
<code style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif"><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">var request </span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">=</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px"> </span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">{</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">
        origin</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">:</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px"> ptoPartida</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">,</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">
        destination</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">:</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px"> ptoChegada</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">,</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">
        </span><span style="color:gray;background-color:transparent;margin:0px;padding:0px;border:0px;vertical-align:baseline">//provideRouteAlternatives: true,</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">
        travelMode</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">:</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px"> google</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">.</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">maps</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">.</span><span style="color:rgb(43,145,175);background-color:transparent;margin:0px;padding:0px;border:0px;vertical-align:baseline">DirectionsTravelMode</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">.</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">DRIVING
</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">};</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">

directionsService</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">.</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">route</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">(</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">request</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">,</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px"> function</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">(</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">response</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">,</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px"> status</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">)</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px"> </span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">{</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">
    </span><span style="color:rgb(0,0,139);background-color:transparent;margin:0px;padding:0px;border:0px;vertical-align:baseline">if</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px"> </span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">(</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">status </span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">==</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px"> google</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">.</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">maps</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">.</span><span style="color:rgb(43,145,175);background-color:transparent;margin:0px;padding:0px;border:0px;vertical-align:baseline">DirectionsStatus</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">.</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">OK</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">)</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px"> </span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">{</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">
        directionsDisplay</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">.</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">setDirections</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">(</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">response</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">);</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">
        console</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">.</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">log</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">(</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">response</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">);</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">
        var </span><span style="vertical-align:baseline;margin:0px;border:0px;padding:0px"><font color="#cc0000"><b>x</b></font></span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px"> </span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">=</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">  google</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">.</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">maps</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">.</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">geometry</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">.</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">encoding</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">.</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">decodePath</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">(</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">response</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">.</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">routes</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">[</span><span style="color:rgb(128,0,0);background-color:transparent;margin:0px;padding:0px;border:0px;vertical-align:baseline">0</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">].</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">overview_polyline</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">.</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">points</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">);</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">
        console</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">.</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">log</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">(</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">x</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">);</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">
    </span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">}</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">
</span><span style="vertical-align:baseline;background-color:transparent;margin:0px;border:0px;padding:0px">});</span></code></pre><p></p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:14px;vertical-align:baseline;clear:both;word-wrap:break-word;font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;line-height:18px">


</p><p style="margin:0px 0px 1em;padding:0px;border:0px;vertical-align:baseline;clear:both;word-wrap:break-word"><font color="#000000">The variable </font><b><font color="#cc0000">X</font></b><font color="#000000"> is an array of point.</font></p>


<p style="clear:both;vertical-align:baseline;margin:0px 0px 1em;word-wrap:break-word;border:0px;padding:0px">Now I am looking for send this array to database (postgis). </p><p style="clear:both;vertical-align:baseline;margin:0px 0px 1em;word-wrap:break-word;border:0px;padding:0px">


After I wiil try recover this data from database and print it on map.</p><p style="clear:both;vertical-align:baseline;margin:0px 0px 1em;word-wrap:break-word;border:0px;padding:0px">Thanks, Luciano</p><p>
</p><p style="clear:both;vertical-align:baseline;line-height:18px;font-size:14px;font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;margin:0px 0px 1em;word-wrap:break-word;border:0px;padding:0px">


Someone can help me?</p><p style="clear:both;vertical-align:baseline;line-height:18px;font-size:14px;font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;margin:0px 0px 1em;word-wrap:break-word;border:0px;padding:0px">


Thanks. Luciano</p></div>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span class="HOEnZb"><font color="#888888">-- <br>Luciano Borges
</font></span></div>
<br>_______________________________________________<br>
postgis-users mailing list<br>
<a href="mailto:postgis-users@lists.osgeo.org">postgis-users@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users" target="_blank">http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users</a><br>
<br></blockquote></div><br></div></div></div>