Name

ST_AsEncodedPolyline — Returns an Encoded Polyline from a LineString geometry.

Synopsis

text ST_AsEncodedPolyline(geometry geom, integer precision=5);

Descrizione

Returns the geometry as an Encoded Polyline. This format is used by Google Maps with precision=5 and by Open Source Routing Machine with precision=5 and 6.

Opzionale precision specifica quante cifre decimali saranno conservate nella polilinea codificata. Il valore deve essere lo stesso nella codifica e nella decodifica, altrimenti le coordinate non saranno corrette.

Disponibilità: 2.2.0

Esempi

Di base

SELECT ST_AsEncodedPolyline(GeomFromEWKT('SRID=4326;LINESTRING(-120.2 38.5,-120.95 40.7,-126.453 43.252)'));
_p~iF~ps|U_ulLnnqC_mqNvxq`@
  

Use in conjunction with geography linestring and geography segmentize, and put on google maps

This example builds the SQL for a Boston-to-San-Francisco path with segments every 100 kilometers.

SELECT ST_AsEncodedPolyline(ST_Segmentize(
        ST_GeogFromText('LINESTRING(-71.0519 42.4935,-122.4483 37.64)'),
        100000)::geometry) As encodedFlightPath;

javascript will look something like this where $ variable you replace with query result

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=geometry"
></script>
<script type="text/javascript">
   flightPath = new google.maps.Polyline({
      path:  google.maps.geometry.encoding.decodePath("$encodedFlightPath"),
      map: map,
      strokeColor: '#0000CC',
      strokeOpacity: 1.0,
      strokeWeight: 4
    });
</script>