Database-driven mapfile

Avez-vous déjà essayé de construire une mapfile qui serait dynamiquement contrôlé par la base de données? À l'occasion, cette astuce peut aider à produire des services Web cartographiques basés sur des données dynamiques d'un système d'envergure. Voici une description de table provenant de Postgesql: Table "public.om_users" Column      | Type                   | Modifiers ------------+------------------------+------------------------------------- om_id       | integer                | not null longitude   | numeric(12,9)          | latitude    | numeric(12,9)          | color       | character varying(11)  | default '255 0 0'::character varying label       | character varying(100) | the_geom    | geometry               | feature     | character varying(32)  | default 'circle'::character varying size        | integer                | default 5 outline     | character varying(11)  | default '0 0 0'::character varying Indexes: "om_users_pkey" PRIMARY KEY, btree (om_id) Check constraints: "enforce_dims_the_geom" CHECK (st_ndims(the_geom) = 2) "enforce_geotype_the_geom" CHECK (geometrytype(the_geom) = 'POINT'::text OR the_geom IS NULL) "enforce_srid_the_geom" CHECK (st_srid(the_geom) = 4326) On place simplement les champs de données au bon endroit dans le mapfile. Pour chacun des enregistrements, mapserver prendra les données de la table pour cartographier l'entité. LAYER   NAME "UsersLayers"   INCLUDE "ec/ec_connec_db_pg.map"   DATA "the_geom from om_users using srid=4326"   TYPE POINT   METADATA     "wms_name" "UsersLayer"     "wms_title" "UsersLayer"     "wms_server_version" "1.1.1"     "wms_srs" "EPSG:4326 EPSG:900913"     "gml_featureid" "oid"     "gml_include_items" "all"   END   PROJECTION     "init=epsg:4326"   END   CLASSITEM "om_id"   CLASS   NAME "Status"   STYLE     SYMBOL [feature]       COLOR [color]       OUTLINECOLOR [outline]       SIZE [size]     END   END END