Bueno gente acá va un mini howto de como instalar nominatim en centos.
(more…)
Posts Tagged ‘postgresql’
nominatim en centos 7
Friday, November 13th, 2015geocoding reverso de nominatim
Wednesday, November 11th, 2015Bueno supongamos que tengamos una base de datos de nominatim, instalada y queremos a partir de un punto sacar las intersecciones, calle, barrio, municipio, depto y provincia. Aunque también sirve para extraer la calle si lo modifican un poco. Les dejo el SQL:
select calle, barrio, muni, depto, prov, placex.name->'name'as pais from ( select calle, barrio, muni, depto, placex.name->'name'as prov,placex.parent_place_id from ( select calle, barrio, muni, placex.name->'name'as depto,placex.parent_place_id from ( select calle, barrio, placex.name->'name'as muni,placex.parent_place_id from ( select distinct calles.name->'name' as calle, placex.name->'name' as barrio, placex.parent_place_id from ( select name, place_id,parent_place_id,rank_search from placex WHERE ST_DWithin(st_geomfromtext('point(-76.5482 3.4477)',4326), geometry, 0.1) and rank_search != 28 and rank_search >= 22 and (name is not null or housenumber is not null) and class not in ('waterway','railway','tunnel','bridge') and indexed_status = 0 and (ST_GeometryType(geometry) not in ('ST_Polygon','ST_MultiPolygon') OR ST_DWithin(st_geomfromtext('point(-76.5482 3.4477)',4326), centroid,0.1)) ORDER BY ST_distance(st_geomfromtext('point(-76.5482 3.4477)',4326), geometry) ASC limit 2) as calles inner join placex on placex.place_id = calles. parent_place_id) as barrio inner join placex on placex.place_id = barrio.parent_place_id) as muni inner join placex on placex.place_id = muni.parent_place_id) as depto inner join placex on placex.place_id = depto.parent_place_id) prov inner join placex on placex.place_id = prov.parent_place_id;
Espero le sirva a alguien más.
Postgresql Conocer el tamaño de la DB y el total
Friday, August 22nd, 2014SELECT pg_database.datname, pg_database_size(pg_database.datname), pg_size_pretty(pg_database_size(pg_database.datname)) FROM pg_database ORDER BY pg_database_size DESC; SELECT pg_size_pretty(sum(pg_database_size(pg_database.datname))::bigint) FROM pg_database;
A buen entendedor pocas palabras 😉
Postgres función para separar en meses en columnas
Wednesday, August 10th, 2011Bueno, necesitaba hacer un reporte para el SENASA en el que en cada columna haya un mes. Onda enero, febrero, etc. Entonces hice una pequeña función que me ayudará a hacerlo, es muestro como.
Registrar cambios en tablas con un trigger genérico
Friday, July 23rd, 2010Bueno gente, cuando empecé a investigar este tema ví muchas versiones, algunos que decían que era imposible hacerlo con pgsql, otros que sí o sí había que usar plperl, otros que solo con tablelog, en fin.. los que me conocen saben que cuanto más difícil parece la tarea más ganas me dan de hacerla.El escenario es el siguiente, tenemos varías tablas en una base de datos, y queremos que cuando se hagan cambios en esa tabla se cree otra tabla que guarde estos cambios.