cablop.net – Software Tips

Tips de software, hardware… y algo más

Skip to: Content | Sidebar | Footer

Tag: PostgreSQL 8.x

Obtener el SRID de un archivo .prj para usarlo en PostGIS

29 Agosto, 2009 (11:33) | PostGIS, PostgreSQL 8.3 | By: 天龙

Usualmente los archivos de shapes de GIS traen un archivo .prj adjunto. Este tiene la informacion de la proyeccción y otros datos. Lo abrimos con un editor de texto cualquiera, el contenido es similar al siguiente:
NAD_1983_StatePlane_Massachusetts_Mainland_FIPS_2001 and UNIT["Meter",1.0]
Luego en nuestra base de datos consultamos los SRIDs candidatos con una búsqueda como:
SELECT
srid, srtext, proj4text
FROM
spatial_ref_sys
WHERE
srtext ILIKE ‘%Massachusetts%’
De [...]

Actualizar el SRID en una columna de geometrías en PostGIS

29 Agosto, 2009 (11:28) | PostGIS, PostgreSQL 8.3 | By: 天龙

Hay que cambiar dos valores, el de la tabla geometry_columns y los de cada geometría para que sean acordes.
Esto lo conseguimos mediante estos sqls:
Para modificar los valores a nivel geometry_columns:
SELECT updategeometrysrid(’<tabla>’, ‘<columna_geometria>’, <nuevo_srid>);
Y este para modificar los valores internos:
SELECT setsrid(<columna_geometria>, <nuevo_srid>) FROM <tabla>;
Fuente: [postgis-users] changing srid

Error “column not found in geometry_columns table” al ejecutar “updategeometrySRID”

29 Agosto, 2009 (11:24) | PostGIS, PostgreSQL 8.3 | By: 天龙

Si al ejecutar algo como:
SELECT
updategeometrySRID(’<tabla>’, ‘<columna_geometria>’, <srid>);
obtenemos el siguiente error:
ERROR: column not found in geometry_columns table
CONTEXT: SQL statement “SELECT UpdateGeometrySRID(”,”, $1 , $2 , $3 )”
PL/pgSQL function “updategeometrysrid” line 4 at SQL statement
Este error se debe a que no tenemos resgitrada la columna en la tabla geometry_columns.
En la entrada anterior he citado como [...]

Agregar manualmente una columna de geometrías a geometry_columns en PostGIS

29 Agosto, 2009 (11:18) | PostGIS, PostgreSQL 8.3 | By: 天龙

Si ya hemos creado una columna para las geometrías en nuestra tabla pero la columna no está referida en la tabla geometry_columns debemos agregarla manualmente.
Esto lo logramos con el siguiente sql:
INSERT INTO
geometry_columns
(
f_table_catalog,
f_table_schema,
f_table_name,
f_geometry_column,
coord_dimension,
srid,
“type”
)
SELECT
”,
‘public’,
‘<tabla>’,
‘<columna_geom>’,
ST_CoordDim(<columna_geom>),
ST_SRID(<columna_geom>),
GeometryType(<columna_geom>)
FROM
public.<tabla>
LIMIT
1;

Fuente: “Manually Registering Geometry Columns in geometry_columns” en el manual de PostGIS

Como cambiar el orden de las columnas en PostgreSQL

29 Agosto, 2009 (11:10) | PostgreSQL 8.3, SQL | By: 天龙

Este está tomado de la siguiente pregunta en stackoverflow.com: Is it possible to change the natural order of columns in Postgres?.
El procedimiento es simple, aunque no lo recomiendan para usuarios inexpertos o poco cuidadosos. Incluso, debería omitirse esto si no es estrictamente necesario el cambio (las posibilidades de arruinar el sistema son altas). en Eo [...]

pgAdminIII, PostGIS, PostgreSQL 8.x, SQL, template_postgis

29 Agosto, 2009 (11:07) | PostGIS, PostgreSQL 8.3, SQL, pgAdminIII | By: 天龙

Lo intenté, busque en la red, que le añadiera un sleep a la funcion antes del createdb… no, no lo añadí, ya era ir demasiado lejos… con el pgAdminIII… tampoco…
¿De que habló?
Al ejecutar el comando:
createdb -T template_postgis my_spatial_db
la base de datos no se crea y si usamos pgAdminIII nos devuelve el siguiente error:
database “template_postgis” is [...]

Cambiar la contraseña del usuario postgres en Ubuntu con PostgreSQL 8.3

29 Agosto, 2009 (11:03) | PostgreSQL 8.3, Ubuntu | By: 天龙

Esta es una situación bastante simple, pero no sobra tenerla aquí a la mano.
Nos conectamos a la base de datos postgres con el usuario postgres:
sudo -u postgres psql postgres
Ya en el shell de PostgreSQL solicitamos establecer la contraseña al usuario postgres:
\password postgres
Asignamos la contraseña que nos parezca apropiada.
Eso es todo.

Instalar PostGIS en Ubuntu con PostgreSQL 8.3

29 Agosto, 2009 (11:01) | PostGIS, PostgreSQL 8.3, Ubuntu | By: 天龙

Esta instalación se realizó sobre Ubuntu 9.04 con PostgreSQL 8.3.
Instalación de PostGIS
Una vez instalado el PostgreSQL instalamos el PostGIS.
Nos vamos a sentir tentados a instalar el paquete postgis, pero este es un metapaquete que por alguna razón no nos instala el PostGIS.
El que debemos instalar es postgresql-8.3-postgis.
Por consola el comando es:
sudo apt-get install postgresql-8.3-postgis
Con eso [...]

Mover los datos de PostgreSQL 8.3 en Ubuntu a otro directorio

29 Agosto, 2009 (10:50) | PostgreSQL 8.3 | By: 天龙

En mi caso yo lo hago por ubicar los archivos de la base de datos en otra partición diferente o incluso una unidad de disco diferente para prevenir que en una eventual pérdida del sistema operativo también se pierdan los datos.
PostgreSQL puede administrar varios clusters de datos al mismo tiempo en el mismo sistema. El [...]