fxinformix: Informix Spatial

A database interface used to connect to an Informix Dynamic Server (versions 9.x). Note that in order to perform spatial queries using fxinformix, the Informix Dynamic Server must have the Informix Spatial Datablade module installed. See the Informix documentation for details.

Connect String

An Informix connect string, typically specified via a command line option, takes the following form:

-c=<keyword>=<value>[,<keyword>=<value>]

where <keyword>=<uid>|<pwd>|<database>|<host>

<uid> = Informix User ID
<pwd> = Informix User password
<database> = Informix database instance to connect to
<host> = Informix database server name (corresponds to the value of the INFORMIXSERVER environment variable)

To hide any sensitive connection information from prying eyes, an encoded string may be used. The utility fxencode is available for such encoding.

Extensions to Standard Commands

select

The Informix Spatial Datablade Module supports a number of external, public formats. They are ESRI Shape, OpenGIS well-known binary (WKB) and OpenGIS well-known text (WKT). Currently, only ESRI Shape format is supported by the fxinformix interface. Therefore in order to retrieve Informix spatial data you must inform the Informix database to return the data in Shape format. This is done via the SE_AsShape() SQL function. SE_AsShape() takes an Informix geometry object and returns it in ESRI Shape format. The Shape data is then translated into a Fire EIM entity.

For example, assume a table, "lot", has been created with various non-graphic column types and a geometry column called "boundry". Then to retrieve column data, including spatial data, you could format a SQL select statement like the following:

select column1, SE_AsShape(boundary), column3 from lot

If SE_AsShape() is not used, a formatting error will be returned and the SQL statement will fail.

Important: When retrieving graphical data, make sure you wrap the geometry column in a SE_AsShape() function call.

objfetch

objfetch

objfetch accepts no arguments. This command causes the results of a previously submitted SQL SELECT statement, to be retrieved. Depending on whether certain symbologies have been defined, either EIM raw entities or gstructures are created. If no symbology has been defined and the only column type retrieved is an Informix geometry then "raw" EIM graphic entities are created. If the Informix SELECT statement includes geometry data along with non-graphic data, gstructures with attributes (corresponding to the non-graphic columns selected) are returned in addition to the geometry.

Additional Commands

defsymb

defsymb <keyword> = <value>[{,|;} <keyword> = <value>]

defsymb is used to define the symbology of entities that will be created upon submitting an objfetch command. Keywords are shown in the following table.

Keyword

Value Type

Description

color

string

Color to use when drawing entities

thickness

numeric

Thickness to use when drawing entities

fillstyle

string

Fill characteristics used when drawing entities

fillcolor

string

Fill color used to flood polygons

groupname

string

Entities will be added to this groupname

linestyle

string

Linestyle used when drawing entities

markerstyle

string

Marker style to use for node entities

markerheight

numeric

Marker height to use for node entities

markerangle

numeric

Marker angle for node entities

classname

string

The gstructure class type definition used for entity creation

objectcolumn

string

A database table column who's value will be used to construct a unique name for the gstructure instance.

objectprefix

string

A prefix used in defining the gstructure name.