You are here:GeoTux»Geo-Forums»Ejecutar shp2pgsql.exe desde un script de php

Statistics

Invitados: 64
Usuarios registrados: 3236
Usuarios en línea:
-
Registrados hoy:
-

Register

RSS

Blogs and News:
Recibe las actualizaciones en Geo-Noticias y Geo-Blogs

Get them by e-mail
Recibir Geo-Noticias y Geo-Blogs por e-mail

¿What is this about?

Welcome, Guest
Username Password: Remember me

Ejecutar shp2pgsql.exe desde un script de php
(1 viewing) (1) Guest
  • Page:
  • 1

TOPIC: Ejecutar shp2pgsql.exe desde un script de php

Ejecutar shp2pgsql.exe desde un script de php 05 Jul 2011 13:03 #634

  • Juanra
  • OFFLINE
  • Visitante casual
  • Posts: 12
  • Karma: 0
Hola,

Estoy intentando cargar a una base de datos en Postgres un shapefile que se encuentra en mi servidor (Apache2, PHP5 , Windows XP) mediante un script en php.
Es decir:

 
<?php
exec ("shp2pgsql -c -D -s 25830 -i -I prueba.shp > fichero.sql");
exec ("psql -d nombre_BD -f fichero.sql");
?>
 


He comprobado que las rutas tanto de shp2pgsql como la del shp están bien, de echo si copio lo escrito entre commillas de la función exec() y lo ejecuto desde la consola de windows, funciona bien.

Creo que el fallo puede estar en la funcion exec() ya que el fichero.sql si me lo crea pero siempre vacío.
Pero parece que es sólo para el caso de shp2pgsql, por que si por ejemplo ejecuto lo siguiente...

 
<?php
exec ("notepad.exe");
exec ("calc.exe");
?>
 


... en el servidor se me abre el bloc de notas y la calculadora como era de esperar.

¿ Me podeis dar alguna idea de como poder realizar esto?

Muchas gracias de antemano.

Re: Ejecutar shp2pgsql.exe desde un script de php 19 Nov 2011 16:20 #658

  • tuxman
  • OFFLINE
  • Vive aquí
  • Posts: 285
  • Karma: 6
Hola Juanra,

yo intentaría ejecutar una sola línea de código desde tu script PHP. Por ejemplo, si usaras GNU/Linux podrías usar [1]:

shp2pgsql shaperoads.shp myschema.roadstable | psql -d roadsdb

Como estás en Windows, podrías usar la utilidad ogr2ogr [2], algo así:

ogr2ogr -f PostgreSQL PG:"host=localhost dbname=$bd user=$U port=5432" -overwrite mi_shapefile.shp

Saludos,

Tuxman

-----------------
[1] postgis.refractions.net/docs/ch04.html#shp2pgsql_usage
[2] www.gdal.org/ogr2ogr.html

Re: Ejecutar shp2pgsql.exe desde un script de php 23 Oct 2012 16:23 #834

  • Erica
  • OFFLINE
  • Visitante casual
  • Posts: 5
  • Karma: 1
Hola Juanra.

yo intente hacer lo siguiente:

<?php

exec ('shp2pgsql C:\Shapes\SHAPE_Todas_localidades_wgs84.shp public.localidades> C:\Shapes\localidades.sql ');

?>

y si me convierte el shape a sql.

saludos
Last Edit: 23 Oct 2012 16:25 by Erica.

Re: Ejecutar shp2pgsql.exe desde un script de php 31 Oct 2012 19:00 #839

  • Erica
  • OFFLINE
  • Visitante casual
  • Posts: 5
  • Karma: 1
ha alguien se le ocurre una idea para hacer la conversión de shapefiles a sql en un proceso automático?

es decir, ejecuto shp2pgsql en un script php para que cada que encuentre un archivo shape lo convierta en un archivo SQL y después lo ejecute para guardar en la base de datos PostgreSQL

los archivos shapes deberán de almacenarse en un directorio de windows para posteriormente realizar la conversión automática.
  • Page:
  • 1
Time to create page: 0.53 seconds
 

On-line users

Random user

Latest Geo-Forums

No posts to display.

Latest Comments