33 votos

Carga masiva de múltiples shapefiles en PostGIS

Tengo más de cien capas de datos en formato shapefile que quiero cargar en una base de datos PostGIS. Todas están en la misma proyección, pero representan diferentes capas de datos por lo que no tienen el mismo esquema.

¿Cuál es la forma más eficaz de convertir en masa todos estos archivos en mi base de datos PostGIS (en el sistema operativo Windows 7)?

ACTUALIZACIÓN: La importación masiva en el "PostGIS shapefile uploader" de pgAdmin3 (como se indica a continuación) está ahora disponible por defecto con PostGIS 2.0 .

36voto

hernan43 Puntos 566

Si tienes un ordenador con Windows, puedes utilizar el viejo CMD.EXE con unos cuantos bucles for esotéricos. Asegúrese de hacer esto en un directorio "contenido" con sólo los archivos shp/sql que necesita cargar.

Primer paso, crear los archivos del cargador SQL (también he asumido que tienes datos Lat/Long WGS84 con 4326 .. actualizar esto a tu SRS):

for %f in (*shp) do shp2pgsql -s 4326 %f public.%~nf > %~nf.sql

A continuación, comprueba tus archivos SQL para asegurarte de que están bien, y luego haz un bucle similar:

for %f in (*sql) do psql -h myserver -d mydb -U myuser -f %f > nul

El bash El equivalente para la gente de POSIX (Linux, Mac OS X, etc) es algo así:

for f in *.shp
do
    shp2pgsql -s 4326 %f public.`basename $f .shp` > `basename $f .shp`.sql
done

entonces

for f in *.sql
do
    psql -h myserver -d mydb -U myuser -f $f > /dev/null
done

o ambas partes canalizadas en un solo bucle, si no necesita mantener el intermedio .sql archivos:

for f in *.shp
do
    shp2pgsql -s 4326 %f public.`basename $f .shp` | psql -d mydb > /dev/null
done

23voto

Erik Öjebo Puntos 6937

Si quiere seguir con una GUI entonces la nueva versión de pgAdmin tiene Shapefile Loader que puede ser usado como una carga masiva

enter image description here

6voto

jevakallio Puntos 15003

No indicas qué método has implementado para calcular las integrales de dos electrones, por lo que voy a enumerar todas las referencias principales al principio.

El libro de Cook [1] contiene fórmulas analíticas para las integrales de solapamiento, cinética, atracción electrón-núcleo y repulsión electrón-electrón. La fórmula analítica para las integrales de repulsión electrón-electrón es errónea en el libro, pero puedes consultar esta discusión para las erratas.

Sin embargo, el cálculo del IC completo es costoso desde el punto de vista informático. Por esta razón, creo que un mejor enfoque sería utilizar un esquema más eficiente para calcular las integrales. Puedes mirar lo siguiente:

  • Plan Obara-Saika
  • Esquema McMurchie-Davidson
  • Cuadratura Rys

Puede encontrar una buena explicación de estos métodos en la Ref. [2].

Ahora, si quieres comprobar lo que ya has implementado, puedes encontrar una lista de las integrales de dos electrones en el conjunto de bases STO-3G para $\ce{HeH+}$ en el apéndice del libro de Szabo [3]. Aquí puedo dar un conjunto de integrales de dos electrones que obtengo para $\ce{H2}$ (siempre en el conjunto de bases STO-3G) para una longitud de enlace de $1.4$ Bohr:

 (           1           1           1           1 )   0.77460834925515787
 (           1           1           1           2 )   0.44410904384277344
 (           1           1           2           1 )   0.44410904384277350
 (           1           1           2           2 )   0.56967771733030592
 (           1           2           1           1 )   0.44410904384277361
 (           1           2           1           2 )   0.29702946944511982
 (           1           2           2           1 )   0.29702946944511982
 (           1           2           2           2 )   0.44410904384277333
 (           2           1           1           1 )   0.44410904384277333
 (           2           1           1           2 )   0.29702946944511982
 (           2           1           2           1 )   0.29702946944511982
 (           2           1           2           2 )   0.44410904384277361
 (           2           2           1           1 )   0.56967771733030592
 (           2           2           1           2 )   0.44410904384277350
 (           2           2           2           1 )   0.44410904384277344
 (           2           2           2           2 )   0.77460834925515787

Tenga en cuenta que estos resultados provienen de un programa que escribí yo mismo, pero suele coincidir muy bien con los valores de Szabo [3] y Gaussian09 para la energía total. Si estos resultados coinciden con tus cálculos, entonces el problema podría estar en las integrales con mayor momento angular.

[1] Cocinero, Manual de química computacional , Oxford University Press, 1998.

2] T. Helgaker, P. Jørgensen y J. Olsen, Teoría de la estructura electrónica molecular Wiley, 2000.

3] A. Szabo y N. Ostlund, Química cuántica moderna Dover, 1996.

3voto

Dave Haynes Puntos 999

También es posible que desee consultar SPIT que es un plugin de carga de PostGIS para QGIS

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X