...
The Geokettle job GetGadmFromTheWeb.kjb is used to get the data from the web, unpack and store it to the database. The data is replaced
Weave configuration
Database
Includes configuration for entity, data, search and index. Data definitions for lookup lists for countries, codes and index is included.
The configuration is using two ACL : acl.entity.globalmap.gadm to allow index search and acl.data.globalmap.gadm to search and list data.
Two user attributes is used to filter data:
- user.customers.globalmap.gadm.name_0 is used to filter countries.
- user.customers.globalmap.gadm.name_1 is used to filter first order administrative areas.
Info | ||
---|---|---|
| ||
The whole world:
Australia:
Stockholm and Helsinki
|
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<?xml version="1.0" encoding="UTF-8"?> <config xmlns= "urn:com.cohga.server.config#1.0" xmlns:dmsstorage="urn:com.cohga.dms.storage.document.db#1.0" xmlns:cache= "urn:com.cohga.server.cache#1.0" xmlns:acl= "urn:com.cohga.server.acl#1.0" xmlns:pool= "urn:com.cohga.server.pool#1.0" xmlns:options= "urn:com.cohga.server.options#1.0" xmlns:parameter="urn:com.cohga.server.parameter#1.0" xmlns:search= "urn:com.cohga.server.search.database#1.0" xmlns:birt= "urn:com.cohga.server.report.birt#1.0" xmlns:data= "urn:com.cohga.server.data.database#1.0" xmlns:entity= "urn:com.cohga.server.entity#1.0" xmlns:jdbc= "urn:com.cohga.server.datasource.jdbc#1.0" xmlns:arcgisws= "urn:com.cohga.server.map.arcgis.ws#1.0" xmlns:arcims= "urn:com.cohga.server.map.arcims#1.0" xmlns:mapper= "urn:com.cohga.server.spatial.mapper#1.0" xmlns:spatial= "urn:com.cohga.server.spatial.geotools#1.0" xmlns:index= "urn:com.cohga.server.index#1.0" xmlns:toc= "urn:com.cohga.server.map.toc#1.0" xmlns:client= "urn:com.cohga.html.client#1.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd= "http://www.w3.org/2001/XMLSchema" xmlns:wms = "urn:com.cohga.server.map.wms#1.0" xmlns:edit= "urn:com.cohga.spatial.edit#1.0" xmlns:editor="urn:com.cohga.server.editor#1.0"> <!-- Global map --> <entity:entity id="entity.globalmap.gadm" label = "%globalmap.gadm.entity" acl="acl.entity.globalmap.gadm" /> <mapper:mapper id="mapper.globalmap.gadm"> <spatialEngine>spatialengine.globalmap_gadm</spatialEngine> <acl>acl.data.globalmap.gadm</acl> <mapping> <entity>entity.globalmap.gadm</entity> <table>gadm</table> <key>objectid</key> <filter>name_0 like'${user.customers.globalmap.gadm.name_0}'</filter> <filter>name_1 like'${user.customers.globalmap.gadm.name_1}'</filter> <dynamic/> <cache disable="true" /> </mapping> </mapper:mapper> <data:data id="d.globalmap.gadm" label="%globalmap.gadm.entity" entity="entity.globalmap.gadm" datadefinition="dd.globalmap.gadm" acl="acl.data.globalmap.gadm" /> <data:datadefinition id='dd.globalmap.gadm'> <datasourcedataconnection key='objectid' table='gadm.gadm' datasource='ds.globalmap'> <!-- <parameter name='objectid' label='Objectid' column='objectid' type='int'/> <parameter name='id_0' label='Id 0' column='id_0' type='int'/> <parameter name='iso' label='Iso' column='iso'/> <parameter name='id_1' label='Id 1' column='id_1' type='int'/> <parameter name='type_1' label='Type 1' column='type_1'/> <parameter name='id_2' label='Id 2' column='id_2' type='int'/> <parameter name='type_2' label='Type 2' column='type_2'/> <parameter name='id_3' label='Id 3' column='id_3' type='int'/> --> <parameter name='name_0' label='%globalmap.gadm.name_0' column='name_0'/> <parameter name='name_1' label='%globalmap.gadm.name_1' column='name_1'/> <parameter name='name_2' label='%globalmap.gadm.name_2' column='name_2'/> <parameter name='name_3' label='%globalmap.gadm.name_3' column='name_3'/> <parameter name='area_km2' label='%globalmap.gadm.area_km2' column="ST_Area(the_geom::geography)::bigint/1000000"/> </datasourcedataconnection> </data:datadefinition> <data:data id="d_gadm_group_total" label="%globalmap.gadm.total_area" entity="entity.globalmap.gadm" datadefinition="dd_gadm_group_total" acl="acl.data.globalmap.gadm" /> <data:datadefinition id="dd_gadm_group_total"> <groupdataconnection datadefinition="dd.globalmap.gadm"> <parameter name="count" label="%globalmap.gadm.number_of" column ="count(name_3)" /> <parameter name="sum_area" label="%globalmap.gadm.area_km2" column ="sum(area_km2)" /> </groupdataconnection> </data:datadefinition> <data:data id="d_gadm_group_country" label="%globalmap.gadm.area_per_country" entity="entity.globalmap.gadm" datadefinition="dd_gadm_group_country" acl="acl.data.globalmap.gadm" /> <data:datadefinition id="dd_gadm_group_country"> <groupdataconnection datadefinition="dd.globalmap.gadm"> <parameter name="name_0" label="%globalmap.gadm.name_0" column ="name_0" /> <parameter name="count" label="%globalmap.gadm.number_of" column ="count(name_3)" /> <parameter name="sum_area" label="%globalmap.gadm.area_km2" column ="sum(area_km2)" /> <group column="name_0"/> </groupdataconnection> </data:datadefinition> <data:data id="d_gadm_group_name_1" label="Area per name_1" entity="entity.globalmap.gadm" datadefinition="dd_gadm_group_name_1" acl="acl.data.globalmap.gadm" /> <data:datadefinition id="dd_gadm_group_name_1"> <groupdataconnection datadefinition="dd.globalmap.gadm"> <parameter name="name_0" label="%globalmap.gadm.name_0" column ="name_0" /> <parameter name="name_1" label="%globalmap.gadm.name_1" column ="name_1" /> <parameter name="count" label="%globalmap.gadm.number_of" column ="count(name_3)" /> <parameter name="sum_area" label="%globalmap.gadm.area_km2" column ="sum(area_km2)" /> <group column="name_1"/> </groupdataconnection> </data:datadefinition> <data:datadefinition id='dd_list.globalmap.gadm'> <datasourcedataconnection table='gadm.gadm' datasource='ds.globalmap' prefix="distinct"> <where clause="name_0 like'${user.customers.globalmap.gadm.name_0}'"/> <where clause="name_1 like'${user.customers.globalmap.gadm.name_1}'" /> <parameter name='name_0' column='name_0'/> <parameter name='name_1' column='name_1'/> <parameter name='name_2' column='name_2'/> <parameter name='name_3' column='name_3'/> </datasourcedataconnection> </data:datadefinition> <search:attribute id="sa.globalmap.gadm"> <acl>acl.data.globalmap.gadm</acl> <entity>entity.globalmap.gadm</entity> <description>%globalmap.gadm.search</description> <displayName>%globalmap.gadm.search</displayName> <dataSource>ds.globalmap</dataSource> <table>gadm.gadm</table> <key>objectid</key> <where clause="name_0 like'${user.customers.globalmap.gadm.name_0}'"/> <where clause="name_1 like'${user.customers.globalmap.gadm.name_1}'" /> <parameter id="Country_subnames" > <dataset>dd_list.globalmap.gadm</dataset> <parameter id ="name_0"> <promptText>%globalmap.gadm.name_0</promptText> <controltype>listbox</controltype> <column>name_0</column> <valuecolumn>name_0</valuecolumn> <labelcolumn>name_0</labelcolumn> <dataType>string</dataType> <allowblank>false</allowblank> </parameter> <parameter id ="name_1"> <promptText>%globalmap.gadm.name_1</promptText> <controltype>listbox</controltype> <column>name_1</column> <valuecolumn>name_1</valuecolumn> <labelcolumn>name_1</labelcolumn> <dataType>string</dataType> <allowblank>true</allowblank> </parameter> <parameter id ="name_2"> <promptText>%globalmap.gadm.name_2</promptText> <controltype>listbox</controltype> <column>name_2</column> <valuecolumn>name_2</valuecolumn> <labelcolumn>name_2</labelcolumn> <dataType>string</dataType> <allowblank>true</allowblank> </parameter> <parameter id ="name_3"> <promptText>%globalmap.gadm.name_3</promptText> <controltype>listbox</controltype> <column>name_3</column> <valuecolumn>name_3</valuecolumn> <labelcolumn>name_3</labelcolumn> <dataType>string</dataType> <allowblank>true</allowblank> </parameter> </parameter> <cache disable="true"/> </search:attribute> <data:datadefinition id='dd.index.globalmap.gadm'> <datasourcedataconnection key='objectid' table='gadm.gadm' datasource='ds.globalmap'> <parameter name='name_0_lower' column='lower(name_0)'/> <parameter name='name_1_lower' column='lower(name_1)'/> <parameter name='name_0' label='%globalmap.gadm.name_0' column='name_0'/> <parameter name='name_1' label='%globalmap.gadm.name_1' column='name_1'/> <parameter name='name_2' label='%globalmap.gadm.name_2' column='name_2'/> <parameter name='name_3' label='%globalmap.gadm.name_3' column='name_3'/> </datasourcedataconnection> </data:datadefinition> <index:entity id="index.globalmap.gadm"> <entity>entity.globalmap.gadm</entity> <fields> <datadefinition>dd.index.globalmap.gadm</datadefinition> <field name="customers.globalmap.gadm.name_0" value="name_0_lower"/> <field name="customers.globalmap.gadm.name_1" value="name_1_lower"/> </fields> <weight>2</weight> <display> <datadefinition>dd.index.globalmap.gadm</datadefinition> <level1><![CDATA[ <div> <img src="custom/resources/icons/world_tool.png" style=" float: left; padding-right:10px; height:16px; margin-left: -5px; padding-bottom: 1px;"></img> <div> <div style="display: inline-block; font-size:14px;font-weight: normal;">${name_3} ${name_2} </div> <div style="display: inline-block; font-size:12px;font-weight: normal;color:gray;"> ${name_1} ${name_0}</div> </div> </div> ]]></level1> </display> <keywords> <datadefinition>dd.index.globalmap.gadm</datadefinition> <level1>${name_2}</level1> <level2>${name_1}</level2> <level3>${name_0}</level3> <level4>${name_3}</level4> </keywords> <!-- <schedule>0 0 06 1</schedule> --> <schedule>0 0 26 3</schedule> </index:entity> </config> |