Skip to content

Mapinfo Import Formats For Essays

The MapInfo Professional User Guide includes a brief description of the component files in a MapInfo table, which is summarized here. All MapInfo Professional tables have the following two files:

  • <SOMEFILE>.tab: This file describes the structure of a table. It is a small text file describing the format of the file containing the data.
  • <SOMEFILE>.DAT or <SOMEFILE>.WKS, .DBF, .XLS: These files contain tabular data. For raster tables, the equivalent extension might be BMP, TIF, or GIF. If X and Y coordinates are assigned to data records, the table will also contain graphic objects.

If a table has graphic objects, there are two more files associated with the table:

  • <SOMEFILE>.MAP: This file describes the graphic objects.
  • <SOMEFILE>.ID: This file is a cross reference file that links the data with the objects.

A table may also include an index file:

Temporary files are created by MapInfo while there are edits on MapInfo files. Those are:

  • tda - Temporary database file
  • tin - Temporary index file
  • tma - Temporary Map File

When using a remote table such as Oracle Locator or Spatial, if the data is downloaded to the local machine, the temporary file extensions are:

  • lda - Local Temporary database file
  • lin - Local Temporary index file
  • lma - Local Temporary Map File

MITAB is an Open Source C++ library to read and write MapInfo TAB (binary) and MapInfo Interchange (MIF/MID) files. MITAB is based on the OGR library which is an implementation of the Open GIS Consortium Simple Features specifications for OLE/COM and CORBA.

Supported Data Formats¶

QGIS uses the OGR library to read and write vector data formats, including ESRI shapefiles, MapInfo and MicroStation file formats, AutoCAD DXF, PostGIS, SpatiaLite, Oracle Spatial and MSSQL Spatial databases, and many more. GRASS vector and PostgreSQL support is supplied by native QGIS data provider plugins. Vector data can also be loaded in read mode from zip and gzip archives into QGIS. As of the date of this document, 69 vector formats are supported by the OGR library (see OGR-SOFTWARE-SUITE in Literature and Web References). The complete list is available at http://www.gdal.org/ogr/ogr_formats.html.

Note

Not all of the listed formats may work in QGIS for various reasons. For example, some require external commercial libraries, or the GDAL/OGR installation of your OS may not have been built to support the format you want to use. Only those formats that have been well tested will appear in the list of file types when loading a vector into QGIS. Other untested formats can be loaded by selecting .

Working with GRASS vector data is described in Section GRASS GIS Integration.

This section describes how to work with several common formats: ESRI shapefiles, PostGIS layers, SpatiaLite layers, OpenStreetMap vectors, and Comma Separated data (CSV). Many of the features available in QGIS work the same, regardless of the vector data source. This is by design, and it includes the identify, select, labelling and attributes functions.

Note

QGIS supports (multi)point, (multi)line, (multi)polygon, CircularString, CompoundCurve, CurvePolygon, MultiCurve, MultiSurface feature types, all with Z and/or M values.

You should note also that some driver doesn’t support some of these feature types like CircularString, CompoundCurve, CurvePolygon, MultiCurve, MultiSurface feature type. QGIS will convert them to (multi)polygon feature.

Loading a layer from a file¶

To load a layer from a file (like a Shapefile, a Mapinfo or a dxf layer), click on the Add Vector Layer toolbar button; or type . This will bring up a new window (see figure_vector_1).

Figure Vector 1:

Add Vector Layer Dialog

From the available options check File. Click on [Browse]. That will bring up a standard open file dialog (see figure_vector_2), which allows you to navigate the file system and load a shapefile or other supported data source. The selection box Filter allows you to preselect some OGR-supported file formats.

You can also select the encoding for the file if desired.

Figure Vector 2:

Open an OGR Supported Vector Layer Dialog

Selecting a file from the list and clicking [Open] loads it into QGIS. Figure_vector_3 shows QGIS after loading the file.

Figure Vector 3:

QGIS with Shapefile of Alaska loaded

Tip

Layer Colors

When you add a layer to the map, it is assigned a random color. When adding more than one layer at a time, different colors are assigned to each layer.

Once a file is loaded, you can zoom around it using the map navigation tools. To change the style of a layer, open the Layer Properties dialog by double clicking on the layer name or by right-clicking on the name in the legend and choosing from the context menu. See section Style Menu for more information on setting symbology of vector layers.

Tip

Load layer and project from mounted external drives on OS X

On OS X, portable drives that are mounted beside the primary hard drive do not show up as expected under . We are working on a more OSX-native open/save dialog to fix this. As a workaround, you can type in the File name box and press . Then you can navigate to external drives and network mounts.

Note

DXF files containing several geometry types (point, line and/or polygon), the name of the layer will be made from <filename.dxf> entities <geometry type>.

Note

You can also drag and drop the file(s) into the Layers Panel from either the files browser or the QGIS Browser panel. If the layer contains several geometry types, a new windows will ask you to select the sublayer. This often occurs with GPX, Mapinfo or DXF files format.

Loading specific directory based layer¶

To load some specific format like ArcInfo Binary Coverage, UK. National Transfer Format, as well as the raw TIGER format of the US Census Bureau or OpenfileGDB, click on the Add Vector Layer toolbar button or press to open the Add Vector Layer dialog. Select Directory as Source type. Change the file type filter Files of type to the format you want to open, for example ‘Arc/Info Binary Coverage’. Navigate to the directory that contains the coverage file or the file, and select it.

ESRI Shapefiles¶

The ESRI shapefile is still one of the most used vector file format in QGIS. However, this file format has some limitation that some other file format have not (like Geopackage, spatialite). Support is provided by the OGR Simple Feature Library (http://www.gdal.org/ogr/).

A shapefile actually consists of several files. The following three are required:

  1. file containing the feature geometries
  2. file containing the attributes in dBase format
  3. index file

Shapefiles also can include a file with a suffix, which contains the projection information. While it is very useful to have a projection file, it is not mandatory. A shapefile dataset can contain additional files. For further details, see the ESRI technical specification at http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf.

Improving Performance for Shapefiles

To improve the performance of drawing a shapefile, you can create a spatial index. A spatial index will improve the speed of both zooming and panning. Spatial indexes used by QGIS have a extension.

Use these steps to create the index:

  • Load a shapefile by clicking on the Add Vector Layer toolbar button or pressing .
  • Open the Layer Properties dialog by double-clicking on the shapefile name in the legend or by right-clicking and choosing from the context menu.
  • In the General tab, click the [Create Spatial Index] button.

Problem loading a shape .prj file

If you load a shapefile with a file and QGIS is not able to read the coordinate reference system from that file, you will need to define the proper projection manually within the General tab of the Layer Properties dialog of the layer by clicking the [Specify...] button. This is due to the fact that files often do not provide the complete projection parameters as used in QGIS and listed in the CRS dialog.

For the same reason, if you create a new shapefile with QGIS, two different projection files are created: a file with limited projection parameters, compatible with ESRI software, and a file, providing the complete parameters of the used CRS. Whenever QGIS finds a file, it will be used instead of the .

Delimited Text Files¶

Tabular data is a very common and widely used format because of its simplicity and readability – data can be viewed and edited even in a plain text editor. A delimited text file is an attribute table with each column separated by a defined character and each row separated by a line break. The first row usually contains the column names. A common type of delimited text file is a CSV (Comma Separated Values), with each column separated by a comma.

Such data files can also contain positional information in two main forms:

  • As point coordinates in separate columns
  • As well-known text (WKT) representation of geometry

QGIS allows you to load a delimited text file as a layer or ordinal table. But first check that the file meets the following requirements:

  1. The file must have a delimited header row of field names. This must be the first line in the text file.
  2. The header row must contain field(s) with geometry definition. These field(s) can have any name.
  3. The X and Y coordinates (if geometry is defined by coordinates) must be specified as numbers. The coordinate system is not important.

As an example of a valid text file, we import the elevation point data file that comes with the QGIS sample dataset (see section Sample Data):

Some items to note about the text file:

  1. The example text file uses (semicolon) as delimiter. Any character can be used to delimit the fields.
  2. The first row is the header row. It contains the fields , and .
  3. No quotes () are used to delimit text fields.
  4. The X coordinates are contained in the field.
  5. The Y coordinates are contained in the field.

Others valuable informations for advanced users¶

Features with curved geometries (CircularString, CurvePolygon and CompoundCurve) are supported. Here are three examples of such geometry types as a delimited text with WKT geometries:

Label;WKT_geom CircularString;CIRCULARSTRING(268 415,227 505,227 406) CurvePolygon;CURVEPOLYGON(CIRCULARSTRING(1 3, 3 5, 4 7, 7 3, 1 3)) CompoundCurve;COMPOUNDCURVE((5 3, 5 13), CIRCULARSTRING(5 13, 7 15, 9 13), (9 13, 9 3), CIRCULARSTRING(9 3, 7 1, 5 3))

Delimited Text supports also Z and M coordinates in geometries:

LINESTRINGM(10.0 20.0 30.0, 11.0 21.0 31.0)

Loading a delimited text file¶

Click the toolbar icon Add Delimited Text Layer in the Manage layers toolbar to open the Create a Layer from a Delimited Text File dialog, as shown in figure_delimited_text_1.

Figure Delimited Text 1:

Delimited Text Dialog

First, select the file to import (e.g., ) by clicking on the [Browse] button. Once the file is selected, QGIS attempts to parse the file with the most recently used delimiter. To enable QGIS to properly parse the file, it is important to select the correct delimiter. You can specify a delimiter by activating Custom delimiters, or by activating Regular expression delimiter and entering text into the Expression field. For example, to change the delimiter to tab, use (this is a regular expression for the tab character).

Once the file is parsed, set Geometry definition to Point coordinates and choose the and fields from the dropdown lists. If the coordinates are defined as degrees/minutes/seconds, activate the DMS coordinates checkbox.

Finally, enter a layer name (e.g., ), as shown in figure_delimited_text_1. To add the layer to the map, click [OK]. The delimited text file now behaves as any other map layer in QGIS.

There is also a helper option that allows you to trim leading and trailing spaces from fields — Trim fields. Also, it is possible to Discard empty fields. If necessary, you can force a comma to be the decimal separator by activating Decimal separator is comma.

If spatial information is represented by WKT, activate the Well Known Text option and select the field with the WKT definition for point, line or polygon objects. If the file contains non-spatial data, activate No geometry (attribute only table) and it will be loaded as an ordinal table.

Additionally, you can enable:

  • Use spatial index to improve the performance of displaying and spatially selecting features.
  • Use subset index.
  • Watch file to watch for changes to the file by other applications while QGIS is running.
X;Y;ELEV-300120;7689960;13-654360;7562040;521640;7512840;3[...]

OpenStreetMap data¶

In recent years, the OpenStreetMap project has gained popularity because in many countries no free geodata such as digital road maps are available. The objective of the OSM project is to create a free editable map of the world from GPS data, aerial photography or local knowledge. To support this objective, QGIS provides support for OSM data.

Loading OpenStreetMap Vectors¶

QGIS integrates OpenStreetMap import as a core functionality.

  • To connect to the OSM server and download data, open the menu . You can skip this step if you already obtained an XML file using JOSM, Overpass API or any other source.
  • The menu will convert your file into a SpatiaLite database and create a corresponding database connection.
  • The menu then allows you to open the database connection, select the type of data you want (points, lines, or polygons) and choose tags to import. This creates a SpatiaLite geometry layer that you can add to your project by clicking on the Add SpatiaLite Layer toolbar button or by selecting the option from the menu (see section SpatiaLite Layers).

PostGIS Layers¶

PostGIS layers are stored in a PostgreSQL database. The advantages of PostGIS are the spatial indexing, filtering and query capabilities it provides. Using PostGIS, vector functions such as select and identify work more accurately than they do with OGR layers in QGIS.

Creating a stored Connection¶

The first time you use a PostGIS data source, you must create a connection to the PostgreSQL database that contains the data. Begin by clicking on the Add PostGIS Layer toolbar button, selecting the option from the menu, or typing . You can also open the Add Vector Layer dialog and select Database. The Add PostGIS Table(s) dialog will be displayed. To access the connection manager, click on the [New] button to display the Create a New PostGIS Connection dialog. The parameters required for a connection are:

  • Name: A name for this connection. It can be the same as Database.
  • Service: Service parameter to be used alternatively to hostname/port (and potentially database). This can be defined in . Check the Service connection file section for more details.
  • Host: Name of the database host. This must be a resolvable host name such as would be used to open a telnet connection or ping the host. If the database is on the same computer as QGIS, simply enter ‘localhost’ here.
  • Port: Port number the PostgreSQL database server listens on. The default port is 5432.
  • Database: Name of the database.
  • SSL mode: How the SSL connection will be negotiated with the server. Note that massive speed-ups in PostGIS layer rendering can be achieved by disabling SSL in the connection editor. The following options are available:
    • Disable: Only try an unencrypted SSL connection.
    • Allow: Try a non-SSL connection. If that fails, try an SSL connection.
    • Prefer (the default): Try an SSL connection. If that fails, try a non-SSL connection.
    • Require: Only try an SSL connection.
  • Username: User name used to log in to the database.
  • Password: Password used with Username to connect to the database.

Optionally, you can activate the following checkboxes:

Once all parameters and options are set, you can test the connection by clicking on the [Test Connect] button.

Tip

Use estimated table metadata to speed up operations

When initializing layers, various queries may be needed to establish the characteristics of the geometries stored in the database table. When the Use estimated table metadata option is checked, these queries examine only a sample of the rows and use the table statistics, rather than the entire table. This can drastically speed up operations on large datasets, but may result in incorrect characterization of layers (eg. the feature count of filtered layers will not be accurately determined) and may even cause strange behaviour in case columns that are supposed to be unique actually are not.

Loading a PostGIS Layer¶

Once you have one or more connections defined, you can load layers from the PostgreSQL database. Of course, this requires having data in PostgreSQL. See section Importing Data into PostgreSQL for a discussion on importing data into the database.

To load a layer from PostGIS, perform the following steps:

  • If the Add PostGIS layers dialog is not already open, selecting the option from the menu or typing opens the dialog.
  • Choose the connection from the drop-down list and click [Connect].
  • Select or unselect Also list tables with no geometry.
  • Optionally, use some Search Options to define which features to load from the layer, or use the [Build query] button to start the Query builder dialog.
  • Find the layer(s) you wish to add in the list of available layers.
  • Select it by clicking on it. You can select multiple layers by holding down the key while clicking. See section Query Builder for information on using the PostgreSQL Query Builder to further define the layer.
  • Click on the [Add] button to add the layer to the map.

Tip

PostGIS Layers

Normally, a PostGIS layer is defined by an entry in the geometry_columns table. From version 0.9.0 on, QGIS can load layers that do not have an entry in the geometry_columns table. This includes both tables and views. Defining a spatial view provides a powerful means to visualize your data. Refer to your PostgreSQL manual for information on creating views.

Service connection file¶

The service connection file allows PostgreSQL connection parameters to be associated with a single service name. That service name can then be specified by a client and the associated settings will be used.

It’s called under *nix systems (GNU/Linux, macOS etc.) and on Windows.

The service file looks like:

[water_service] host=192.168.0.45 port=5433 dbname=gisdb user=paul password=paulspass [wastewater_service] host=dbserver.com dbname=water user=waterpass

Note

There are two services in the above example: and . You can use these to connect from QGIS, pgAdmin etc. by specifying only the name of the service you want to connect to (without the enclosing brackets). If you want to use the service with you need to do something like before doing your psql commands.

Note

You can find all the parameters here

Note

If you don’t want to save the passwords in the service file you can use the .pg_pass option.

On *nix operating systems (GNU/Linux, macOS etc.) you can save the file in the user’s home directory and the PostgreSQL clients will automatically be aware of it. For example, if the logged user is , should be saved in the directory in order to directly work (without specifying any other environment variables).

You can specify the location of the service file by creating a environment variable (e.g. run the command under your *nix OS to temporarily set the variable)

You can also make the service file available system-wide (all users) either by placing it at environment variable to specify the directory containing the service file. If service definitions with the same name exist in the user and the system file, the user file takes precedence.

Warning

There are some caveats under Windows:

  • The service file should be saved as and not as .
  • The service file should be saved in Unix format in order to work. One way to do it is to open it with Notepad++ and .
  • After adding an environment variable you may also need to restart the computer.

Some details about PostgreSQL layers¶

This section contains some details on how QGIS accesses PostgreSQL layers. Most of the time, QGIS should simply provide you with a list of database tables that can be loaded, and it will load them on request. However, if you have trouble loading a PostgreSQL table into QGIS, the information below may help you understand any QGIS messages and give you direction on changing the PostgreSQL table or view definition to allow QGIS to load it.

QGIS requires that PostgreSQL layers contain a column that can be used as a unique key for the layer. For tables, this usually means that the table needs a primary key, or a column with a unique constraint on it. In QGIS, this column needs to be of type int4 (an integer of size 4 bytes). Alternatively, the ctid column can be used as primary key. If a table lacks these items, the oid column will be used instead. Performance will be improved if the column is indexed (note that primary keys are automatically indexed in PostgreSQL).

If the PostgreSQL layer is a view, the same requirement exists, but views do not have primary keys or columns with unique constraints on them. You have to define a primary key field (has to be integer) in the QGIS dialog before you can load the view. If a suitable column does not exist in the view, QGIS will not load the layer. If this occurs, the solution is to alter the view so that it does include a suitable column (a type of integer and either a primary key or with a unique constraint, preferably indexed).

QGIS offers a checkbox Select at id that is activated by default. This option gets the ids without the attributes which is faster in most cases. It can make sense to disable this option when you use expensive views.

Tip

Backup of PostGIS database with layers saved by QGIS

If you want to make a backup of your PostGIS database using the and commands, and the default layer styles as saved by QGIS fail to restore afterwards, you need to set the XML option to and the restore will work.

QGIS allows to filter features already on server side. Check the Execute expressions on postgres server-side if possible (Experimental) checkbox to do so. Only supported expressions will be sent to the database. Expressions using unsupported operators or functions will gracefully fallback to local evaluation.

Importing Data into PostgreSQL¶

Data can be imported into PostgreSQL/PostGIS using several tools, including the DB Manager plugin and the command line tools shp2pgsql and ogr2ogr.

DB Manager¶

QGIS comes with a core plugin named DB Manager. It can be used to load shapefiles and other data formats, and it includes support for schemas. See section DB Manager Plugin for more information.

shp2pgsql¶

PostGIS includes an utility called shp2pgsql that can be used to import shapefiles into a PostGIS-enabled database. For example, to import a shapefile named into a PostgreSQL database named , use the following command:

shp2pgsql -s 2964 lakes.shp lakes_new | psql gis_data

This creates a new layer named in the database. The new layer will have a spatial reference identifier (SRID) of 2964. See section Working with Projections for more information on spatial reference systems and projections.

Tip

Exporting datasets from PostGIS

Like the import tool shp2pgsql, there is also a tool to export PostGIS datasets as shapefiles: pgsql2shp. This is shipped within your PostGIS distribution.

ogr2ogr¶

Besides shp2pgsql and DB Manager, there is another tool for feeding geodata in PostGIS: ogr2ogr. This is part of your GDAL installation.

To import a shapefile into PostGIS, do the following:

ogr2ogr -f "PostgreSQL" PG:"dbname=postgis host=myhost.de user=postgres password=topsecret" alaska.shp

This will import the shapefile into the PostGIS database postgis using the user postgres with the password topsecret on host server myhost.de.

Note that OGR must be built with PostgreSQL to support PostGIS. You can verify this by typing (in )

ogrinfo --formats | grep -i post

If you prefer to use PostgreSQL’s COPY command instead of the default INSERT INTO method, you can export the following environment variable (at least available on and ):

ogr2ogr does not create spatial indexes like shp2pgsl does. You need to create them manually, using the normal SQL command CREATE INDEX afterwards as an extra step (as described in the next section Improving Performance).

Improving Performance¶

Retrieving features from a PostgreSQL database can be time-consuming, especially over a network. You can improve the drawing performance of PostgreSQL layers by ensuring that a PostGIS spatial index exists on each layer in the database. PostGIS supports creation of a GiST (Generalized Search Tree) index to speed up spatial searches of the data (GiST index information is taken from the PostGIS documentation available at http://postgis.net).

Tip

You can use the DBManager to create an index to your layer. You should first select the layer and click on , go to tab and click on [Add spatial index].

The syntax for creating a GiST index is:

CREATE INDEX [indexname] ON [tablename] USING GIST ( [geometryfield] GIST_GEOMETRY_OPS );

Note that for large tables, creating the index can take a long time. Once the index is created, you should perform a . See the PostGIS documentation (POSTGIS-PROJECT Literature and Web References) for more information.

The following is an example of creating a GiST index:

[email protected]:~/current$ psql gis_data Welcome to psql 8.3.0, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g or terminate with semicolon to execute query \q to quit gis_data=# CREATE INDEX sidx_alaska_lakes ON alaska_lakes gis_data-# USING GIST (the_geom GIST_GEOMETRY_OPS); CREATE INDEX gis_data=# VACUUM ANALYZE alaska_lakes; VACUUM gis_data=# \q [email protected]:~/current$

Vector layers crossing 180° longitude¶

Many GIS packages don’t wrap vector maps with a geographic reference system (lat/lon) crossing the 180 degrees longitude line (http://postgis.refractions.net/documentation/manual-2.0/ST_Shift_Longitude.html). As result, if we open such a map in QGIS, we will see two far, distinct locations, that should appear near each other. In Figure_vector_4, the tiny point on the far left of the map canvas (Chatham Islands) should be within the grid, to the right of the New Zealand main islands.

Figure Vector 4:

Map in lat/lon crossing the 180° longitude line

A work-around is to transform the longitude values using PostGIS and the ST_Shift_Longitude function. This function reads every point/vertex in every component of every feature in a geometry, and if the longitude coordinate is < 0°, it adds 360° to it. The result is a 0° - 360° version of the data to be plotted in a 180°-centric map.

Figure Vector 5:

Crossing 180° longitude applying the ST_Shift_Longitude function

Usage¶

  • Import data into PostGIS (Importing Data into PostgreSQL) using, for example, the DB Manager plugin.
  • Use the PostGIS command line interface to issue the following command (in this example, “TABLE” is the actual name of your PostGIS table):
  • If everything went well, you should receive a confirmation about the number of features that were updated. Then you’ll be able to load the map and see the difference (Figure_vector_5).

SpatiaLite Layers¶

The first time you load data from a SpatiaLite database, begin by clicking on the Add SpatiaLite Layer toolbar button, or by selecting the option from the menu, or by typing . This will bring up a window that will allow you either to connect to a SpatiaLite database already known to QGIS, which you can choose from the drop-down menu, or to define a new connection to a new database. To define a new connection, click on [New] and use the file browser to point to your SpatiaLite database, which is a file with a extension.

If you want to save a vector layer to SpatiaLite format, you can do this by right clicking the layer in the legend. Then, click on , define the name of the output file, and select ‘SpatiaLite’ as format and the CRS. Also, you can select ‘SQLite’ as format and then add in the OGR data source creation option field. This tells OGR to create a SpatiaLite database. See also http://www.gdal.org/ogr/drv_sqlite.html.

QGIS also supports editable views in SpatiaLite.

Creating a new SpatiaLite layer¶

If you want to create a new SpatiaLite layer, please refer to section Creating a new SpatiaLite layer.

Tip

SpatiaLite data management Plugins

For SpatiaLite data management, you can also use several Python plugins: QSpatiaLite, SpatiaLite Manager or DB Manager (core plugin, recommended). If necessary, they can be downloaded and installed with the Plugin Installer.

MSSQL Spatial Layers¶

QGIS also provides native MS SQL support. The first time you load MSSQL Spatial data, begin by clicking on the Add MSSQL Spatial Layer toolbar button or by selecting the option from the menu, or by typing .

Oracle Spatial Layers¶

The spatial features in Oracle Spatial aid users in managing geographic and location data in a native type within an Oracle database. QGIS now has support for such layers.

Creating a stored Connection¶

The first time you use an Oracle Spatial data source, you must create a connection to the database that contains the data. Begin by clicking on the Add Oracle Spatial Layer toolbar button, selecting the option from the menu, or typing . To access the connection manager, click on the [New] button to display the Create a New Oracle Spatial Connection dialog. The parameters required for a connection are:

  • Name: A name for this connection. It can be the same as Database
  • Database: SID or SERVICE_NAME of the Oracle instance.
  • Host: Name of the database host. This must be a resolvable host name such as would be used to open a telnet connection or ping the host. If the database is on the same computer as QGIS, simply enter ‘localhost’ here.
  • Port: Port number the Oracle database server listens on. The default port is 1521.
  • Username: Username used to login to the database.
  • Password: Password used with Username to connect to the database.

Optionally, you can activate following checkboxes:

Warning

In the Authentication tab, saving username and password will keep unprotected credentials in the connection configuration. Those credentials will be visible if, for instance, you shared the project file with someone. Therefore, it’s advisable to save your credentials in a Authentication configuration instead (configurations tab). See Authentication System for more details.

Once all parameters and options are set, you can test the connection by clicking on the [Test Connect] button.

Tip

QGIS User Settings and Security

Depending on your computing environment, storing passwords in your QGIS settings may be a security risk. Passwords are saved in clear text in the system configuration and in the project files! Your customized settings for QGIS are stored based on the operating system:

  • The settings are stored in your home directory in .
  • The settings are stored in the registry.

Loading an Oracle Spatial Layer¶

Once you have one or more connections defined, you can load layers from the Oracle database. Of course, this requires having data in Oracle.

To load a layer from Oracle Spatial, perform the following steps:

  • If the Add Oracle Spatial layers dialog is not already open, click on the Add Oracle Spatial Layer toolbar button.
  • Choose the connection from the drop-down list and click [Connect].
  • Select or unselect Also list tables with no geometry.
  • Optionally, use some Search Options to define which features to load from the layer or use the [Build query] button to start the Query builder dialog.
  • Find the layer(s) you wish to add in the list of available layers.
  • Select it by clicking on it. You can select multiple layers by holding down the key while clicking. See section Query Builder for information on using the Oracle Query Builder to further define the layer.
  • Click on the [Add] button to add the layer to the map.

Tip

Oracle Spatial Layers

Normally, an Oracle Spatial layer is defined by an entry in the USER_SDO_METADATA table.