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.
The connection string contains a series of parameters separated by semicolons (;). The string consists of a series of keyword/value pairs separated by semicolons. The equal sign (=) connects each keyword and its value.
For example, this connection string loads the shapefile “C:\sample.shp” as a layer:
“FileName=C:sample.shp;TEPlugName=OGR;“
The following parameters are supported:
§ TEPlugName=OGR– Used to load layers from the following data sources. An additional parameter is required as described below:
· Shapefile:
“FileName=FullPathToShapeFile”
Where FullPathToShapeFile defines a full path to the shapefile.
· DGN file:
“FileName=FullPathToShapeFile”
Where FullPathToShapeFile defines a full path to the DGN file.
· DXF file:
“FileName=FullPathToShapeFile”
Where FullPathToShapeFile defines a full path to the DXF 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'}.
· 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.
· SQLite:
“FileName=FullPathToShapeFile;LayerName=LayerName”
Where FullPathToShapeFile defines a full path to the SQLite 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 IFeatureLayer66 interface. This includes controlling appearance of the feature and annotation information, managing the streaming behavior, and adding and removing individual items.