Add a Simple WHERE Clause to Your Map
Include a simple SQL statement in your query, such as all counties with area over a certain size.
Map Tools allow you to easily display geospatial data based on simple statements, such as "all the counties in the state of Texas with area greater than 2,500 sqkm".
If you have a table with all of the counties in the US and their areas, you can easily create such a map. If you then want to change 2,500 sqkm to 3,000, you simply change that number, click publish, and the visual web map will update for all users.
Below we show this example query. The source table is
demo.us_counties, and the field
iso_3166_2 is the state field, which we set to be the US code for Texas, 'US-48'.
To implement such a query, you only need to add the additional statements after the intersection statement. The statement, of course, has to be a valid PostgreSQL condition.
WITH boundingbox AS( SELECT ST_MakeEnvelope( %(xmin)s, %(ymin)s, %(xmax)s, %(ymax)s, 3857 ) AS geom ), mvtgeom AS ( SELECT ST_AsMVTGeom( ST_Transform(sourceTable.geom, 3857), boundingbox.geom ) FROM demo.counties_us sourceTable, boundingbox WHERE ST_Intersects( ST_Transform(boundingbox.geom, 4326), sourceTable.geom ) AND sourceTable.area_sqkm > 2500 AND iso_3166_2 = 'US-48' ) SELECT ST_AsMVT(mvtgeom.*) FROM mvtgeom;