From 75a915019f391f1e91ff418df2de3a644aa4788e Mon Sep 17 00:00:00 2001 From: Mario de Frutos Date: Wed, 10 Feb 2016 16:01:03 +0100 Subject: [PATCH] Helper to transform to Postgis multipolygon --- .../cartodb_services/here/types.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 server/lib/python/cartodb_services/cartodb_services/here/types.py diff --git a/server/lib/python/cartodb_services/cartodb_services/here/types.py b/server/lib/python/cartodb_services/cartodb_services/here/types.py new file mode 100644 index 0000000..90e1d9e --- /dev/null +++ b/server/lib/python/cartodb_services/cartodb_services/here/types.py @@ -0,0 +1,16 @@ +# Helper to deal with type conversion between HERE and PostGIS +import plpy + + +def geo_polyline_to_multipolygon(polyline): + """Convert a HERE polyline shape to a PostGIS multipolygon""" + coordinates = [] + for point in polyline: + lat, lon = point.split(',') + coordinates.append("%s %s" % (lon, lat)) + wkt_coordinates = ','.join(coordinates) + + sql = "SELECT ST_MPolyFromText('MULTIPOLYGON((({0})))', 4326) as geom".format(wkt_coordinates) + geometry = plpy.execute(sql, 1)[0]['geom'] + + return geometry