Feature Layer Connection Strings
A feature layer is a complex TerraExplorer object designed to display feature datasets from different sources. A connection string standard is used to define connections to various layer source file formats and servers. The connection string specifies information about the data source and the means of connecting to it. The string is then passed to ICreator.CreateFeatureLayer to create the new layer. See "Feature Layers" chapter in the TerraExplorer User Manual for additional information.
Theconnection string contains a series of parameters separated by semicolons (;). An equal sign (=) connects each keyword to its value.
For example, this connection string loads the shapefile "C:\sample.shp" as a layer:
"FileName=C:\sample.shp;TEPlugName=OGR;"
Connection String Parameters by Data Source
The following parameters are supported:
§ TEPlugName=OGR– Used to load layers from the following data sources. Additional connection string parameters are required depending on the selected data source:
· Shapefile:
"FileName=FullPathToShapeFile"
Where FullPathToShapeFile defines a full path to the shapefile.
· DGN file:
"FileName=FullPathToDGNFile"
Where FullPathToDGNFile defines a full path to the DGN file.
· Oracle Spatial:
"OGRConnectionString= OCI:userid/password@database_instance:table,table".
Where userid/password defines respectively the user name and password required for connecting to the server, database_instance defines the Oracle Net Service name, and table defines the table to access.
· PostgreSQL extended with the PostGIS spatial data support:
LayerName=LayerName;OGRConnectionString={ PG:dbname=’databasename’}"
Where databasename defines the database name.
Additional parameters may be provided as required, e.g. { PG:dbname=’databasename’ host='addr' port='5432' user='userid' password='password'}.
· MongoDB:
"LayerName=LayerName;OGRConnectionString=mongodb+srv://UserName:Password@Host/DatabaseName"
Where UserName:Password define respectively the user name and password for connecting to the service, Host defines the IP address of the database, and DatabaseName defines the database name.
· MS SQL Spatial:
"OGRConnectionString={ MSSQL:server=servername;database=databasename;UID=userid;PWD=password;Tables=table}"
Where servername defines the server name, databasename defines the database to connect to, userid and password define the user name and password respectively, and table defines the table to access.
· Esri:
"FileName=ServerURL;LayerName=ESRIJSON;SeverURLExtraParams=Token"
Where FileName defines a full URL to the layer, e.g. https://services.thelist.tas.gov.au/arcgis/rest/services/Public/CadastreAndAdministrative/MapServer/4 and LayerName is always set equal to ESRIJSON and ServerURLExtraParams sets additional parameters to send to the server e.g. token.
· SQLite:
"FileName=FullPathToSQLiteFile;LayerName=LayerName"
Where FullPathToSQLiteFile defines a full path to the SQLite file, LayerName defines the name of the layer to be loaded.
· GeoDatabase:
"FileName=FullPathToGeoDatabaseFile;LayerName=LayerName"
Where FullPathToGeoDatabaseFile defines a full path to the GeoDatabase file, LayerName defines the name of the layer to be loaded.
· GeoPackage:
"FileName=FullPathToGeoPackageFile;LayerName=LayerName"
Where FullPathToGeoPackageFile defines a full path to the GeoPackage file, LayerName defines the name of the layer to be loaded.
· GeospatialPDF:
"FileName=FullPathToGeospatialPDFFile;LayerName=LayerName"
Where FullPathToGeospatialPDF defines a full path to the Geospatial PDF file, LayerName defines the name of the layer to be loaded.
§ TEPlugName= WFS – Used to load layers from Web Feature Server (WFS). Additional parameters are required (mandatory fields are bolded):
· Server:
"Server=ServerURL"
Where ServerURL defines a full URL to the server.
· WFSVersion:
"WFSVersion =Version"
Supported Version values are "1.0.0" and "1.1.0".
· LayerName:
"LayerName=LayerName"
Where LayerName defines the name of the layer to be loaded.
· User:
"User=UserName"
Where UserName defines the user name required to connect to the server.
· Password:
"Password=Password"
Where Password defines the user name required to connect to the server.
· Lat-Long or Long-Lat coordinate format:
"CRS_XY_OR_YX=Format"
Supported Format values are "1" for Long-Lat and "2" for Lat-Long.
§ TEPlugName=GeoDatabase – Used to load layers from a Personal Geodatabase file. Additional parameters are required (mandatory fields are bolded):
· LayerName:
"LayerName=ServerURL"
Where LayerName defines a full path to the GeoDatabase file.
· TableName:
"TableName =TableName"
Where LayerName defines the name of the table containing the layer to be loaded.
§ TEPlugName= DSN – Used to load layers from an ODBC database connection. Additional parameters are required (mandatory fields are bolded):
· DSNPlugName:
"DSNPlugName=PlugName"
Where PlugName defines the ODBC driver. For example: "Microsoft Access(*.mdb)".
· DSNConnectionString:
"DSNConnectionString=ConnectionString"
Where ConnectionString defines the DSN connection string as required by the defined driver.
· DSN_X_Field:
"DSN_X_Field=X"
Where X defines the database field name containing the X coordinate.
· DSN_Y_Field:
"DSN_Y_Field=Y"
Where Y defines the database field name containing the Y coordinate.
· DSN_AltitudeField:
"DSN_AltitudeField=Altitude"
Where Altitude defines the database field name containing the altitude value.
· TableName:
"TableName=TableName"
Where LayerName defines the name of the table containing the layer to be loaded.
An existing layer can be manipulated and controlled using the IFeatureLayer81 interface. This includes controlling appearance of the feature and annotation information, managing the streaming behavior, and adding and removing individual items.
Optional Connection String Parameters
To create a feature layer with a coordinate system different from the base terrain, add a WKT parameter to the connection string, specifying the path to a WKT file that defines the desired coordinate system.
WKT=FullPathToWKTFile
Where FullPathToWKTFile defines a full path to the WKT file containing the coordinate system definition.
For example, the following connection string loads a GeoPackage layer with a custom coordinate system:
"TEPlugName=OGR;FileName=myLayer.gpkg;LayerName=aaa;WKT= C:\\Data\\CoordinateSystems\\custom.txt"