Import GIS Data¶
Imports GIS data into DynaMind from common GIS sources supported by the GDAL/OGR.
Parameter¶
Name | Type | Description |
---|---|---|
source | STRING | data source (detailed description see below) |
layer_name | STRING | name of the imported layer |
view_name | STRING | name of view |
import_attribute_as | STRING_MAP | Import only specific attribute under a new name. If nothing as been |
all attributes will be imported. Otherwise only the defined ones | ||
append | BOOL | true if append data to existing stream and creates additional inport |
epsg_from | INT | epsg code of the source; if set to -1 module attempts to autodetect |
Detailed Description¶
The import GDAL module us usually the fist module in a DynaMind Simulation. It builds on the GDAL library and therefore allows data to imported form multiple common GIS sources. An overview of supported formats can be found here. Please ensure that the epsg_to and epsg_from parameters are set to ensure that the simulation is executed correctly. epsg_to should be the same throughout the simulation.
Import from Shapefile¶
This is the most common way to import data into your simulation. please point the source parameter to your file. The layer_name is the same as the name of the source file (without the directories and the .shp file ending). Please also set the epsg_to and epsg_from parameter. These are used to transform the data in the right coordinate system. If you are not sure about EPSG code of your source file have a look at Prj2EPSG. This website allows you to identify your coordinate system based on the .prj file that comes with the shape file.
Import from GEOJSON¶
Please point the source parameter to your file. The layer_name is OGRGeoJSON.
Importing CSV¶
All CSV data are per default imported as string. To define the data types put a .csvt file with your csv files that defines the data types. e.g. “Integer”,”Real”,”String”, The layer_name is the same as the name of the source file (without the directories and the .csv file ending)
Import from PostGIS¶
If you want to obtain data from a PostGIS server please set the source to following PG:dbname=melbourne host=127.0.0.1 port=5432 user=username password=password and layer_name to the layer name to be imported.
Import from WFS¶
If you want to obtain data from a WFS server please set the source to following WFS:hostname and layer_name to the layer name to be imported.
Module name¶
GDALImportData
Sample Code for Python Simulation¶
# Load data from PostGIS database with GDALImport Data. Per default the module has no inport
catchment = sim.add_module('GDALImportData',{'source': 'PG:dbname=elwood host=localhost port=5432 user=user password=password',
'layer_name': 'elwood_catchment',
'view_name': 'catchment',
'epsg_from': 4283,
'epsg_to': 32755,
'append' : False})
# load land use data with the attribute lu_desc = 'Road Void' and that are within the catchment.
# the parameter append is set to true to allow to connect the module to the catchment module created before
land_use = sim.add_module('GDALImportData', {'source': 'PG:dbname=melbourne host=localhost port=5432 user=user password=password',
'layer_name': 'landuse_victoria',
'view_name': 'landuse',
'epsg_from': 4283,
'epsg_to': 32755,
'append' : True},
catchment,
filters={'landuse': {'attribute': "lu_desc = 'Road Void'",
'spatial': "catchment"}
})
# Import nodes with only the attribute leveltop as elevation
nodes = sim.add_module('GDALImportData',
{'source': 'PG:dbname=melbourne host=localhost port=5432 user=user password=password',
'layer_name': 'node',
'view_name': 'node',
'import_attribute_as': {'leveltop': 'elevation'},
'epsg_from': 4283,
'epsg_to': 32755)