Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo importar shp a postgis

Cómo importar shp a postgis

Shapfile es un formato de almacenamiento de archivos ESRI ampliamente respaldado por la industria.

Shapfile es un formato simple que se utiliza para almacenar información de atributos sobre ubicaciones geométricas y características geográficas en forma de relaciones no topológicas. Aunque GeoServer utiliza archivos Shapfile

para crear rápidamente servicios de mapas en línea, también tiene desventajas obvias:

1. Shapefile solo admite una capa, lo cual no tiene sentido en la práctica.

2. Los archivos SHP directamente seguros no son seguros y los archivos Shapfile se eliminan fácilmente accidentalmente por virus u otras razones.

3. Es muy ineficiente que GeoServer utilice archivos Shapfile como fuentes de datos.

4. GeoServer no puede analizar los caracteres chinos en Shapfile y se mostrarán como caracteres confusos.

5. Puedes consultar fácilmente la información geográfica en la base de datos.

Utilice PostGIS para gestionar datos espaciales

PostGIS admite el índice espacial GIST (Apéndice 1) y formularios estandarizados, lo que puede mejorar en gran medida la eficiencia del procesamiento.

El formato OGC solo proporciona geometrías 2D y el SRID asociado nunca se utiliza en profundidad para solicitudes de entrada y salida. PostGIS admite todos los objetos y funciones SIG especificados en la especificación "Características simples

para SQL" de la organización OpenGIS y amplía los formatos EWKB y EWKT, agregando soporte para 3DZ, 3DM y 4D

Soporte del sistema de coordenadas (por supuesto, los estándares de datos 3D y 4D de OGC aún no se han desarrollado completamente) y la introducción de información SRID profunda.

Estructura de la tabla de datos espaciales: hay dos tablas de metadatos requeridas en PostGIS, a saber, SPATIAL_REF_SYS (tabla de referencia espacial) y GEOMETRY_COLUMNS (columnas de atributos geométricos). Ambas tablas se utilizan para almacenar bases de datos espaciales con ID numérico y descripción de texto. del sistema de coordenadas a utilizar.

El comando shp2pgsql de PostGIS puede importar directamente el Shapfile a la base de datos o exportarlo como un archivo SQL. Se recomienda exportarlo primero como un archivo SQL y luego ejecutar este archivo en la ventana de ejecución de SQL. para importar los datos a la base de datos. El código es el siguiente:

Shapfile a instrucción SQL:

ruta shp2pgsql/nombre del archivo de datos shp nueva ruta del nombre de la tabla de datos/nombre del archivo SQL.sql

<; p>Importe directamente el archivo Shapfile a la biblioteca:

shp2pgsql -c ruta/nombre del archivo de datos shp nuevo Nombre de la tabla de datos Nombre de la base de datos |psql -d Nombre de la base de datos

Ejemplo:

Si importa el archivo Shapfile "c:/road.shp" a la tabla de datos "road" y la base de datos es "sjzmap".

1. Ejecute "Símbolo del sistema".

2. Cambie al directorio bin en el directorio de instalación de la base de datos PostgreSQL.

3. Ejecute el comando shp2pgsql en este directorio: "shp2pgsql c:/road.shp road gt; c:/road.sql".

4. Si ingresa este archivo directamente en la base de datos (no recomendado): "shp2pgsql -c c:/road.shp road sjzmap | psql -d sjzmap".

5. Utilice pgAdmin3 para seleccionar la base de datos y luego importe la tabla.

Nota:

-d

Elimine la tabla de la base de datos antes de crear una nueva tabla utilizando los datos del archivo de forma.

-a

Añadir datos desde un archivo de forma.

Tenga en cuenta que

para utilizar esta opción para cargar varios archivos, los archivos deben tener las mismas

propiedades y el mismo tipo de datos.

-c

Crea una nueva tabla y rellénala a partir de un archivo de forma. Este es el modo predeterminado.

-p

Genera solo la tabla

-p

Genera solo el código SQL para crear la tabla sin agregar nada real

-p

p>

Datos. Este enfoque se puede utilizar si necesita separar completamente los pasos de creación de tablas y de carga de datos.

-D

Datos de salida usando el formato "volcado" de PostgreSQL. Esto se puede utilizar con -a, -c y -d. Se carga mucho más rápido que los datos predeterminados

, el formato SQL predeterminado

"insertar".

-s lt;SRIDgt;

Crea y completa una tabla de geometría utilizando el SRID especificado.

-k

Mantiene el caso de los identificadores (columnas, esquemas y atributos).

-i

Fuerza todos los números enteros a enteros estándar de 32 bits, sin crear bigints

de 64 bits, aunque la firma del encabezado DBF parece permitir esto. .

-I

Crear un índice GiST en la columna de geometría. Tenga en cuenta

que esto introducirá una desviación de coordenadas y especificará la codificación de los datos de entrada (archivo dbf) de

-W lt;encoding>

. Cuando se utiliza, todas las propiedades

de dbf se convertirán de la codificación especificada a UTF8.

La salida SQL resultante contendrá SET CLIENT_ENCODING en UTF8. ENCODING es un comando UTF8

para que el backend pueda reconvertir de UTF8 a

la codificación utilizada por la configuración interna de la base de datos.