Search for: KB10810 - Connecting a TatukGIS product to a PostGIS SQL layer. TatukGIS Developer Kernel Enterprise version and desktop GIS Editor products support reading/writing PostGIS SQL database vector data structure and its spatial indexes. (The free GIS Viewer provides read-only support.) Further to the information contained in this knowledge base item, detailed and more frequently updated information about TatukGIS support for PostGIS layer class and data structures is found in the Developer Kernel product documentation web site at: http://docs.tatukgis.com/DK11 The PostGIS layer can be opened by opening a *.ttkls file with the name_of_layer.ttkls or, without the use of a *.ttkls file, by i) embedding all the *.ttkls file parameters into the Path property as a CRLF or '\n' delimited sting (as a new line) or ii) assigning the *.ttkls file parameters to the SQLParameters property using SQLParameters[‘KEY’] = VALUE. The TTKLS is a TatukGIS stub file which contains the connection settings for database map layer. A TTKLS file can be created i) manually using any text editor (such as Note Pad) or ii) using the SQL connection Wizard feature in the TatukGIS Editor product (refer to the helpfile for menu item: Layer/Add SQL Layer). The structure of the *.ttkls file for a PostGIS layer must be: [TatukGIS Layer] Storage=PostGIS Layer=name|name;schema|name;schema;catalog (can be case sensitive) Features=table/view name; if provided will replace standard features table Dialect=POSTGRESQL ReadOnly=True|False ADO=ADO connection string if not exist then DBX connection will be used GeometryFieldCast=Text|Binary|EWKB - default is Text if parameter omitted GeometryRelationships=Server|Client - default is Client if parameter omitted LoginPrompt=1|0 DriverName=see DBExpress help for TSQL Connection GetDriverFunc=see DBExpress help for TSQL Connection VendorLib=see DBExpress help for TSQL Connection LibraryName=see DBExpress help for TSQL Connection ... Parameters key=value ... For example: [TatukGIS Layer] Storage=PostGIS Layer=Rivers Dialect=POSTGRESQL ADO="DSN=MyVectorLayer" [TatukGIS Layer] Storage=PostGIS Layer=Rivers Dialect=POSTGRESQL ADO=Provider=PostgreSQL.1;Password=123456;User ID=postgres; Data Source=localhost; Location=postgis; Extended Properties="" GeometryFieldCast=Text GeometryRelationships=Client This layer can also be opened by providing SQLParameters property. OnPassword event will be fired upon connecting to a database to resolve <#user#>, <#password#> or any other <#token#> embedded into connection options. Using PgOleDB driver For freely available PgOleDB driver up to 1.0.0.19. The driver at this time does not support bytea data type, so set initialization parameter to GeometryFieldCast=Text. Updates and import at the read-write connection uses INSERT INTO or UPDATE command because there is no implementation for methods like AddNew, property Field.Items.Value. Working in read, read-write access with PostGIS layers is only possible for (GeometryFieldCast=Text). Using PostgreSQL ODBC driver For freely available PostgreSQL ODBC driver 8.00.00.04 from PostgreSQL Development Group. In read-only or read-write access, any value (EWKB, Text, Binary) for GeometryFieldCast is possible. But the last value (GeometryFieldCast=Binary) makes for much faster access to layer. In the case of EWKB, every BLOB will be translated to Extended Well-Known Binary form, which extends the standard with support for 3DZ (Z - elevation), 3DM (M - measure), and 4D coordinates. Access to the layer at EWKB mode is slower than the two other modes. Import to PostGIS layer is only possible for (GeometryFieldCast=Text). Using DBX Working in read, read-write access with PostGIS layers is only possible for (GeometryFieldCast=Binary|EWKB). If you check DE9-IM coincidence between geometry objects, you should take into consideration the setting of GeometryRelationships. You may decrease the number of returned rows from the server, but access to the layer will be slower if you set GeometryRelationships=Server. For GeometryRelationships=Client, access to layer will be fast. Created: June 05, 2009, Modified: February 13, 2017