Carto.com offre un frontale très convivial pour piloter une base de données spatiale utilisant PostGIS (http://postgis.net, https://carto.com/docs/faqs/postgresql-and-postgis). Rapide découverte en deux parties.
Avant de commencer, il faut se connecter sur http://carto.com avec le utilisateur geoinf16.
On utilise la géotable earthquakes (source : http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.csv)
SELECT ST_AsText(the_geom), * FROM earthquakes
SELECT ST_AsText(ST_Transform(ST_GeometryFromText('POINT(558000 137000)', 21781), 4326))
INSERT INTO earthquakes (place, mag, the_geom) VALUES ('SOMEWHERE, Switzerland', MMM, ST_Transform(ST_GeometryFromText('POINT(XXX YYY)', 21781), 4326));
SELECT ST_Distance( ST_GeomFromText('POINT(-72.1235 42.3521)',4326), ST_GeomFromText('LINESTRING(-72.1260 42.45, -72.123 42.1546)', 4326) )
SELECT *, ST_Distance( the_geom::geography, ST_GeometryFromText('POINT(141.0357 37.4217)',4326)::geography ) / 1000 as d FROM earthquakes
SELECT *, ST_Distance( the_geom::geography, ST_GeometryFromText('POINT(141.0357 37.4217)',4326)::geography ) / 1000 as d FROM earthquakes WHERE mag > 6 ORDER BY d LIMIT 1
...
On utilise les deux géotables highway61 et musicians (sources : https://carto.com/academy/d/highway_61.geojson, https://carto.com/academy/d/mississippi_blues_musicians.geojson).
SELECT ST_Buffer(the_geom_webmercator, 50000) as the_geom_webmercator FROM highway61
SELECT ST_Intersects( ST_GeomFromText('LINESTRING(-2 -2, 2 2)', 4326), ST_GeomFromText('POINT(0 0)', 4326) )
...
...