.
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 Referencias bibliográficas y web). The complete list is available at http://www.gdal.org/ogr/ogr_formats.html.
Nota
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 *.*.
Trabajar con datos vectoriales GRASS se describe en la sección Integracion GRASS SIG.
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, labeling and attributes functions.
The standard vector file format used in QGIS is the ESRI shapefile. Support is provided by the OGR Simple Feature Library (http://www.gdal.org/ogr/).
Un archivo shape actualmente consiste de varios archivos. Los siguientes tres son necesarios:
archivo .shp contiene las geometrías de los objetos espaciales
archivo .dbf contiene los atributos en formato dBase
archivo del índice .shx
Los archivos shape también incluyen un archivo con un sufijo .prj, que contiene la información de la proyección. Si bien es muy útil tener un archivo de proyección. no es obligatorio. Un conjunto de datos de archivo shape puede contener archivos adicionales. Para mayor detalle, consulte la especificación técnica de ESRI en http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf.
To load a shapefile, start QGIS and click on the Add Vector Layer toolbar button, or simply press Ctrl+Shift+V. This will bring up a new window (see figure_vector_1).
Figure Vector 1:
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 shapefile if desired.
Figure Vector 2:
Selecting a shapefile from the list and clicking [Open] loads it into QGIS. Figure_vector_3 shows QGIS after loading the alaska.shp file.
Figure Vector 3:
Truco
Capa de colores
Cuando se añade una capa al mapa, se asigna un color al azar. Cuando se añade más de una capa a la vez, diferentes colores se asignan a cada capa.
Once a shapefile 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 Properties from the context menu. See section Estilo de Menu for more information on setting symbology of vector layers.
Truco
capa de cargada y se proyecta desde unidades externas montadas en OS X
En sistemas operativos X, unidades portátiles que se montan al lado del disco duro principal no aparecen como se esperaba en Archivo ‣ Abrir Proyecto. Estamos trabajando en una diálogo de abrir/guardar más nativo al SO X para solucionar este problema. Como solución alternativa, puede escribir /Volumes en la caja Nombre del archivo y presionar Enter. A continuación, se puede desplazar a unidades externas y los montajes de la red.
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 .qix extension.
Utilice estos pasos para crear un índice:
Abrir el diálogo Propiedades de la capa haciendo doble clic sobre el nombre del archivo shape en la leyenda o haciendo clic derecho y elegir Propiedades del menú contextual.
En la pestaña General, hacer clic sobre el botón [Crear Índice Espacial].
If you load a shapefile with a .prj 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 .prj 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 .prj file with limited projection parameters, compatible with ESRI software, and a .qpj file, providing the complete parameters of the used CRS. Whenever QGIS finds a .qpj file, it will be used instead of the .prj.
To load a MapInfo layer, click on the Add Vector Layer toolbar button; or type Ctrl+Shift+V, change the file type filter Files of type : to ‘Mapinfo File [OGR] (*.mif *.tab *.MIF *.TAB)’ and select the MapInfo layer you want to load.
To load an ArcInfo Binary Coverage, click on the Add Vector Layer toolbar button or press Ctrl+Shift+V to open the Add Vector Layer dialog. Select Directory as Source type. Change the file type filter Files of type to ‘Arc/Info Binary Coverage’. Navigate to the directory that contains the coverage file, and select it.
Similarly, you can load directory-based vector files in the UK National Transfer Format, as well as the raw TIGER Format of the US Census Bureau.
Los datos tabulares son muy comunes y un formato extensamente utilizado debido a su simplicidad y legibilidad – los datos pueden ser vistos y editados incluso en un editor de texto plano. un archivo de texto delimitado es una tabla de atributos con cada columna separada por un caracter definido y cada fila separada por un salto de línea. La primer fila normalmente contiene los nombres de columnas. Un tipo de campo de archivo de texto delimitado es un CSV (Valores separados por comas), con cada columna separada por una coma.
Tales archivos de datos también pueden contener información posicional en dos formas principales:
Como punto de coordenadas en columnas separadas
Como representación de geometría well-known text (WKT)
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:
El archivo debe tener una fila de encabezado delimitado de nombre de campos. Esto debe ser la primer línea en el archivo de texto.
La fila del encabezado debe contener campo(s) con definición geometría. Estos campo(s) pueden tener cualquier nombre.
La coordenada X y Y (si la geometría se define por coordenadas) se debe especificarse como números. El sistema de coordenadas no es importante.
As an example of a valid text file, we import the elevation point data file elevp.csv that comes with the QGIS sample dataset (see section Datos de ejemplo):
X;Y;ELEV
-300120;7689960;13
-654360;7562040;52
1640;7512840;3
[...]
Algunos elementos a tener en cuenta sobre el archivo de texto:
El archivo de texto de ejemplo utiliza ; (punto y coma) como delimitador. Cualquier carácter se puede utilizar para delimitar los campos.
La primer fila es el encabezado. Este contiene los campos X, Y y ELEV.
Sin comillas (") se utilizan para delimitar los campos de texto.
Las coordenadas X están contenidas en el campo X.
La coordenada Y esta contenida en el campo Y.
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:
First, select the file to import (e.g., qgis_sample_data/csv/elevp.csv) 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 \t (this is a regular expression for the tab character).
Once the file is parsed, set Geometry definition to Point coordinates and choose the X and Y 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., elevp), 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.
También hay una opción de ayuda que le permite recortar espacios iniciales y finales de los campos — Recortar campos. Además, es posible Descartar campos vacíos. Si es necesario,se puede forzar una coma para ser el separador decimal activando El separador decimal es la coma.
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.
Additionaly, you can enable:
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 suppport for OSM data.
QGIS integrates OpenStreetMap import as a core functionality.
Para conectar al servidor OSM y descargar datos, abra el menú Vectorial ‣ Openstreetmap ‣ Descargar datos.... Se puede saltar este paso si se ha obtenido un archivo XML .osm mediante JOSM, Overpass API o cualquier otra fuente.
El menú Vectorial ‣ Openstreetmap ‣ Importar topología a partir de XML convertirá su archivo .osm en una base de datos SpatiaLite y cree una conexión de base de datos correspondiente.
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.
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 Add PostGIS Layer... option from the Layer menu, or typing Ctrl+Shift+D. 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:
Nombre: Un nombre para esta conexión. Este puede ser el mismo como la Base de datos
Servicio: Parámetro de servicio para ser utilizado como alternativa de nombre del host/puerto (y potencialmente la base de datos). Esto se puede definido en pg_service.conf.
Puerto Número de puerto al servidor de base de datos PostgreSQL escucha en. El puerto por defecto es 5432.
Base de datos: Nombre de la base de datos.
Deshabilitar: Sólo trata una conexión SSL cifrada.
Permitir: Trata una conexión no SSL. Si eso falla, trata una SSL.
Preferir (por defecto): Trata una conexión SSL. Si eso falla, intenta una no SSL.
Requerir: Sólo intenta una conexión SSL.
Nombre de usuario: Nombre de usuario para iniciar sesión en la base de datos.
Contraseña: Contraseña utilizada con Nombre de usuario para conectarse a la base de datos.
Opcionalmente se pueden activar las siguientes casillas:
Una vez que todos los parámetros y opciones estén establecidos, se puede probar la conexión al hacer clic en el botón [Probar conexión].
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 Importar datos a PostgreSQL for a discussion on importing data into the database.
Para cargar una capa de PostGIS, realizar los siguientes pasos:
Elija la conexión de la lista desplegable y haga clic en [Conectar].
Seleccione o deseleccione Listar también las tablas sin geometría.
Opcionalmente, utilice algunas Opciones de búsqueda para definir que objetos espaciales se deben cargar desde la capa, o utilice el botón [Construir consulta] al iniciar el diálogo Constructor de consultas.
Encuentre las capa(s) que desee añadir en la lista de capas disponibles.
Selecciónelo haciendo clic sobre él. Se puede seleccionar múltiples capas manteniendo pulsado la tecla Shift mientras hace clic. Consulte la sección Constructor de consultas para información sobre utilizar el constructor de consultas de PostgreSQL para definir aún más la capa.
Haga clic en el botón [Añadir] para agregar la capa al mapa.
Truco
Capas PostGIS
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.
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.
Truco
Respaldo de base de datos PostGIS con capas guardadas por QGIS
If you want to make a backup of your PostGIS database using the pg_dump and pg_restore commands the default layer styles as saved by QGIS are failing to restore afterwards. You need to set the XML option to DOCUMENT and the restore will work.
Data can be imported into PostgreSQL/PostGIS using several tools, including the SPIT plugin and the command line tools shp2pgsql and ogr2ogr.
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 Complemento administrador de BBDD for more information.
PostGIS incluye una utilidad llamada shp2pgsql que puede ser utilizada para importar archivos shape a la base de datos PostGIS habilitada. Por ejemplo, importar un archivo shape llamado lakes.shp en la base de datos PostgreSQL llamado gis_data, utilice el siguiente comando:
shp2pgsql -s 2964 lakes.shp lakes_new | psql gis_data
Esto crea una nueva capa llamada lakes_new en la base de datos gis_data. La nueva capa tendrá un identificador de referencia espacial (SRID) de 2964. Vea la sección Trabajar con Proyecciones para más información en sistema de referencia espacial y proyecciones.
Truco
Exportar conjunto de datos de PostGIS
Como la herramienta de importar shp2pgsql, también hay una herramienta para exportar conjuntos de datos PostGIS como archivos shape: pgsql2shp. Esta es enviada dentro de su distribución PostGIS.
Además de shp2pgsql y Administrador de BBDD, hay otra herramienta para alimentar de datos geográficos a PostGIS: ogr2ogr. Esto es parte de su instalación GDAL.
Para importar un archivo shape a PostGIS, realice lo siguiente:
ogr2ogr -f "PostgreSQL" PG:"dbname=postgis host=myhost.de user=postgres
password=topsecret" alaska.shp
Esto importará el archivo shape alaska.shp a la base de datos de PostGIS postgis utilizando el usuario postgres con la contraseña topsecret del servidor local myhost.de.
Tenga en cuenta que OGR se debe contruir con PostgreSQL para reconocer PostGIS. Se debe verificar esto escribiendo (en )
ogrinfo --formats | grep -i post
Si prefiere utilizar el comando de PostgreSQL COPY en lugar del método predeterminado INSERT INTO, se puede exportar la siguiente variable de entorno (al menos disponible en y ):
export PG_USE_COPY=YES
ogr2ogr no crea índices espaciales como lo hace shp2pgsl. Se deben crear manualmente, utilizando el comando SQL normal CREATE INDEX después como un paso extra (como se describe en la siguiente sección Mejorar el desempeño).
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.refractions.net).
La sintaxis para crear un índice GiST es:
CREATE INDEX [indexname] ON [tablename]
USING GIST ( [geometryfield] GIST_GEOMETRY_OPS );
Tenga en cuenta que para tablas grandes, crear el índice puede tomar un largo tiempo. Una vez que el índice es creado, se debe realizar un VACUUM ANALYZE. Vea la documentación de PostGIS (POSTGIS-PROJECT Referencias bibliográficas y web) para mayor información.
El siguiente es un ejemplo de cómo crear un índice GiST:
gsherman@madison:~/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
gsherman@madison:~/current$
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:
Una solución temporal es transformar los valores de longitud utilizando PostGIS y la función ST_Shift_Longitude. Esta función lee todos los puntos/vértices en todos el componentes de todos los objetos espaciales de una geometría, y si la coordenada longitud es < 0°, se agregan 360°. El resultado es un 0° - 360° versión de los datos que se van a representar en 180° de un mapa centrico.
Figure Vector 5:
Importar datos a PostGIS (Importar datos a PostgreSQL) utilizando, por ejemplo, el complemento Administrador de BBDD.
Utilizar la interfaz de línea de comandos de PostGIS para emitir el siguiente comando (en este ejemplo, “TABLE” es el nombre actual de su tabla de PostGIS): gis_data=# update TABLE set the_geom=ST_Shift_Longitude(the_geom);
Si todo fue bien, debe recibir una confirmación acerca del número de objetos espaciales que se actualizaron. Entonces podrá cargar el mapa y ver la diferencia (Figure_vector_5).
The first time you load data from a SpatiaLite database, begin by clicking on the Add SpatiaLite Layer toolbar button, or by selecting the Add SpatiaLite Layer... option from the Layer menu, or by typing Ctrl+Shift+L. 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 .sqlite extension.
Si desea guardar una capa vectorial a un formato SpatiaLite, se puede hacer esto al hacer clic derecho sobre la capa en la leyenda. A continuación, haga clic sobre Guardar como.., definir el nombre del archivo de salida, y seleccionar ‘SpatiaLite’ como formato y el SRC. También se puede seleccionar ‘SQLite’ como formato y entonces añadir SPATIALITE=YES en el campo de opcion de creación de fuente de datos. Esto le dice a OGR crear una base de datos SpatiaLite. También vea http://www.gdal.org/ogr/drv_sqlite.html.
QGIS also supports editable views in SpatiaLite.
Si se desea crear una nueva capa SpatiaLite, por favor consulte la sección Crear una nueva capa SpatiaLite.
Truco
Complemento de Administración de datos SpatiaLite
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.
QGIS also provides native MS SQL 2008 support. The first time you load MSSQL Spatial data, begin by clicking on the Add MSSQL Spatial Layer toolbar button or by selecting the Add MSSQL Spatial Layer... option from the Layer menu, or by typing Ctrl+Shift+M.
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.
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 Orcale Spatial Layer toolbar button, selecting the Add Orcale Spatial Layer... option from the Layer menu, or typing Ctrl+Shift+O. 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:
Nombre: Un nombre para esta conexión. Puede ser el mismo como la Base de datos
Base de datos: SID o SERVICE_NAME de la instancia de Oracle.
Puerto: Número de puerto al servidor de base de datos en donde escucha Oracle. El puerto predeterminado es 1521.
Nombre de usuario: Nombre de usuario para iniciar sesión en la base de datos.
Contraseña: Contraseña utilizada con Nombre de usuario para conectarse a la base de datos.
Opcionalmente, se pueden activar las siguientes casillas:
Guardar nombre de usuario Indicar si guarda el nombre de usuario de la base de datos en la configuración de la conexión.
Guardar contraseña Indicar si se guarda la contraseña de la base de datos en la configuración de la conexión.
Buscar sólo en la tabla de datos meta restinge las tablas mostradas a esos que están en la vista all_sdo_geom_metadata. Esto puede acelerar la visualización inicial de tablas espaciales.
Buscar solo tablas de usuarios Cuando busca tablas espaciales, restringe la búsqueda a tablas que son propiedad del usuario.
Listar también tablas sin geometría Indica que las tablas sin geometría también se listen de forma predeterminada.
Utilizar metadatos de tabla estimados Cuando la capa se configura, varios metadatos son requeridos para la tabla Oracle. Esto incluye información como el total de filas de la tabla, tipo de geometria y extensión espacial de los datos en la columna geometría. Si la tabla contiene un gran número de filas, la determinación de esto metadatos puede llevar mucho tiempo. Al activar esta opción, las siguientes operaciones de metadatos de tabla rápida se hacen: Total de filas se determina de all_tables.num_rows. Extensión de la tabla siempre se determina con la función SDO_TUNE.EXTENTS_OF, incluso si un filtro de capa es aplicado. La tabla de geometría se determina de los primeros 100 filas de geometría no nula en la tabla.
Sólo tipos de geometría existente Sólo listar los tipos de geometría existente y no ofrecer añadir otros.
Una vez que todos los parámetros y opciones estén establecidos, se puede probar la conexión al hacer clic en el botón [Probar conexión].
Truco
Configuración de usuario QGIS User y seguridad
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:
Once you have one or more connections defined, you can load layers from the Oracle database. Of course, this requires having data in Oracle.
Para cargar una capa de Oracle Spatial, realice los siguientes pasos:
Elija la conexión de la lista desplegable y haga clic en [Conectar].
Seleccione o deseleccione Listar también las tablas sin geometría.
Opcionalmente, utilice algunos Opciones de búsqueda para definir que objetos espaciales cargar de la capa o utilice el botón [Construir consulta] para iniciar el diálogo Constructor de consulta.
Encuentre las capa(s) que desee añadir en la lista de capas disponibles.
Seleccionelo haciendo clic sobre él. Se puede seleccionar múltiples capas manteniendo pulsado la tecla Shift mientras hace clic. Vea la sección Constructor de consultas para más información sobre el uso del Constructor de consultas de Oracle para definir aún más la capa.
Haga clic en el botón [Añadir] para agregar la capa al mapa.
Truco
Capas Oracle Spatial
Normalmente, una capa espacial de Oracle se define por una entrada en la tabla USER_SDO_METADATA.