Mehr

Wie mache ich eine Änderung in the_geom_webmercator in the_geom in CartoDB sichtbar?

Wie mache ich eine Änderung in the_geom_webmercator in the_geom in CartoDB sichtbar?


Ich habe Probleme mit der Spalte the_geom und der Spalte the_geom_webmercator in CartoDB. Ich habe einige SQL (die ich von http://bl.ocks.org/andrewxhill/8695515 geändert habe), in denen die the_geom_webmercator-Spalte geändert wird, die the_geom-Spalte jedoch nicht. Dies bedeutet, dass die in der Karte sichtbaren Änderungen des Breiten- und Längengrades in den Daten nicht sichtbar sind, was ein Problem darstellt. Unten ist die SQL:

with q AS ( SELECT cartodb_id, the_geom_webmercator FROM untitled_table_7 WHERE name= 'Rome'), m AS ( SELECT count(*) n, array_agg(cartodb_id) id_list, the_geom_webmercator FROM q GROUP BY the_geom,_webmercator(n 1, array_length(id_list,1)) p, unnest(id_list) cartodb_id, the_geom_webmercator FROM m), a AS ( SELECT ST_SetSRID( ST_MakePoint( ST_X(f.the_geom_webmercator) + fp * 180 * cos(fp * Radiant(301*ceil (fn/20.0))/fn), ST_Y(f.the_geom_webmercator) + fp*180 * sin(fp * Radiant(301*ceil(fn/20.0))/fn)),3857) the_geom_webmercator, f.cartodb_id FROM f , untitled_table_7 t) UPDATE untitled_table_7 SET the_geom_webmercator = a.the_geom_webmercator VON einem WHERE untitled_table_7.cartodb_id = a.cartodb_id

Wie kann ich das anpassen, damit die Änderungen in der Spalte the_geom_webmercator in der Spalte the_geom angezeigt werden?


Du könntest dich verwandelnthe_geom_webmercator, die in Web Mercator (SRID = 3857) auf die Projektion vondas_geom, das ist WGS84 (SRID = 4326). Alles, was Sie tun müssen, ist die Zeile zu ersetzen, die hatSET the_geom_webmercator = a.the_geom_webmercatormit diesem:

SET the_geom = ST_Transform(a.the_geom_webmercator,4326)

Einmaldas_geomeingestellt ist, wird es ausgelöstthe_geom_webmercatordaraus projiziert werden.

Lesen Sie in diesem Tutorial mehr über Projektionen in CartoDB.


Schau das Video: SQL in CARTO