You are here:GeoTux»Geo-Foros»Equivalente en PostGis de simplifiar geometría en Qgis

Estadísticas

Invitados: 35
Usuarios registrados: 3174
Usuarios en línea:
-
Registrados hoy:
-

Registro

Redifusión (RSS)

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

Recibir por e-mail
Recibir Geo-Noticias y Geo-Blogs por e-mail

¿Qué es esto?

Welcome, Guest
Username Password: Remember me

Equivalente en PostGis de simplifiar geometría en Qgis
(1 viewing) (1) Guest
  • Page:
  • 1

TOPIC: Equivalente en PostGis de simplifiar geometría en Qgis

Equivalente en PostGis de simplifiar geometría en Qgis 16 Янв 2018 12:28 #1246

  • nramire1
  • OFFLINE
  • Visitante casual
  • Posts: 10
  • Karma: 1
Hola
Estoy haciendo en una comparativa entre PostGis y Qgis particularmente en la búsqueda de herramientas equivalentes. En este caso buscando el análogo de la herramienta "simplifiar geometrías" (de la caja de herramiantas procesado) de Qgis, en PostGis he encontrado la función ST_RemovePoint la cual sólo remueve un punto a la vez. Algún experimentado se ha puesto a lidiar con esta cuestión y/o podrían orientarme hacia donde seguir.

Re: Equivalente en PostGis de simplifiar geometría en Qgis 25 Янв 2018 15:24 #1247

  • nramire1
  • OFFLINE
  • Visitante casual
  • Posts: 10
  • Karma: 1
Después de buscar, encontré la forma equivalente en PostGis. Les dejo un ejemplo práctico:

CREATE TABLE dato (nombre varchar, geometria geometry);

INSERT INTO dato VALUES
('linea 1', 'LINESTRING(-1 1.7,-1 2,-2 2,-3 3,-4 4.1,-5 5)'),
('poligono 1', 'POLYGON((-3 3,-3 0,-3.3 -1, -3 -3,5 -3,5 0.2,5 3.1,2.1 3,1.2 3,-3 3))');

--
-- Para la cadena de linea
--

SELECT nombre, ST_AsText(geometria)
FROM dato
WHERE nombre = 'linea 1';
nombre | st_astext
---------+-----------------------------------------------
linea 1 | LINESTRING(-1 1.7,-1 2,-2 2,-3 3,-4 4.1,-5 5)
(1 row)

SELECT ST_AsText(ST_Simplify(geometria, 0.1)) AS "0.1"
FROM dato
WHERE nombre='linea 1';
0.1
-----------------------------------
LINESTRING(-1 1.7,-1 2,-2 2,-5 5)
(1 row)

SELECT ST_AsText(ST_Simplify(geometria, 0.05)) AS "0.05"
FROM dato
WHERE nombre='linea 1';
0.05
------------------------------------------
LINESTRING(-1 1.7,-1 2,-2 2,-4 4.1,-5 5)
(1 row)

SELECT ST_AsText(ST_Simplify(geometria, 0.5)) AS "0.5"
FROM dato
WHERE nombre='linea 1';
0.5
-------------------------
LINESTRING(-1 1.7,-5 5)
(1 row)

--
-- Para el polígono
--

SELECT nombre, ST_AsText(geometria)
FROM dato
WHERE nombre = 'poligono 1';
nombre | st_astext

------------+-------------------------------------------------------------------
---
poligono 1 | POLYGON((-3 3,-3 0,-3.3 -1,-3 -3,5 -3,5 0.2,5 3.1,2.1 3,1.2 3,-3 3
))
(1 row)

SELECT ST_AsText(ST_Simplify(geometria, 0.1)) AS "0.1"
FROM dato
WHERE nombre='poligono 1';
0.1
----------------------------------------------------
POLYGON((-3 3,-3 0,-3.3 -1,-3 -3,5 -3,5 3.1,-3 3))
(1 row)

SELECT ST_AsText(ST_Simplify(geometria, 0.05)) AS "0.05"
FROM dato
WHERE nombre='poligono 1';
0.05
----------------------------------------------------------
POLYGON((-3 3,-3 0,-3.3 -1,-3 -3,5 -3,5 3.1,2.1 3,-3 3))
(1 row)

SELECT ST_AsText(ST_Simplify(geometria, 0.2)) AS "0.2"
FROM dato
WHERE nombre='poligono 1';
0.2
----------------------------------------------------
POLYGON((-3 3,-3 0,-3.3 -1,-3 -3,5 -3,5 3.1,-3 3))
(1 row)

SELECT ST_AsText(ST_Simplify(geometria, 0.5)) AS "0.5"
FROM dato
WHERE nombre='poligono 1';
0.5
---------------------------------------
POLYGON((-3 3,-3 -3,5 -3,5 3.1,-3 3))
(1 row)
  • Page:
  • 1
Time to create page: 1.39 seconds
 

¿Dónde nos leen?

Usuario aleatorio

Últimos comentarios