diff --git a/server/extension/sql/80_isolines_helper.sql b/server/extension/sql/80_isolines_helper.sql index af65951..f3ecb41 100644 --- a/server/extension/sql/80_isolines_helper.sql +++ b/server/extension/sql/80_isolines_helper.sql @@ -3,7 +3,7 @@ CREATE TYPE cdb_dataservices_server.isoline AS (center geometry(Geometry,4326), CREATE OR REPLACE FUNCTION cdb_dataservices_server._cdb_here_routing_isolines(username TEXT, orgname TEXT, type TEXT, source geometry(Geometry, 4326), mode TEXT, data_range integer[], options text[]) RETURNS SETOF cdb_dataservices_server.isoline AS $$ import json - from cartodb_services.here import HereMapsRoutingIsoline + from cartodb_services.here import get_routing_isoline from cartodb_services.metrics import QuotaService from cartodb_services.here.types import geo_polyline_to_multipolygon from cartodb_services.tools import Logger,LoggerConfig @@ -20,13 +20,18 @@ RETURNS SETOF cdb_dataservices_server.isoline AS $$ raise Exception('You have reached the limit of your quota') try: - client = HereMapsRoutingIsoline(user_isolines_routing_config.heremaps_app_id, - user_isolines_routing_config.heremaps_app_code, logger) - + client = get_routing_isoline(app_id=user_isolines_routing_config.heremaps_app_id or None, + app_code=user_isolines_routing_config.heremaps_app_code or None, logger=logger, + apikey=user_isolines_routing_config.heremaps_apikey or None, + use_apikey=user_isolines_routing_config.heremaps_use_apikey or False) + client_api_version = client.get_api_version() if source: lat = plpy.execute("SELECT ST_Y('%s') AS lat" % source)[0]['lat'] lon = plpy.execute("SELECT ST_X('%s') AS lon" % source)[0]['lon'] - source_str = 'geo!%f,%f' % (lat, lon) + if client_api_version == 7: + source_str = 'geo!%f,%f' % (lat, lon) + else: + source_str = '%f,%f' % (lat, lon) else: source_str = None