You can try to analyze a bit to understand better (for the following I consider your table doesn't contains too much data)
with the_data AS ( SELECT the_geom, ST_ISValid(the_geom) AS is_valid, ST_IsValidReason(the_geom) FROM ft_potencial ) SELECT *, ST_AsText(ST_MakeValid(the_geom)) AS corrected_geom, ST_AsText(the_geom) AS original_geometry, detail.* FROM the_data, *ST_IsValidDetail*(the_geom) AS detail WHERE is_valid = false AND GeometryType(the_geom) ILIKE '%POLYGON%' My guess : you have an invalid no-area polygon, so the makevalid function transform it into a line Cheers, Rémi-C 2014-05-16 18:14 GMT+02:00 <[email protected]>: > > > "Ivan Santiago" <[email protected]> escribió: > > > Hello: >> >> Run >> SELECT PostGIS_full_version(); >> TO know if your installation has GEOS 3.3.0 or above. >> > I get this > > > "POSTGIS="2.0.0 r9605" GEOS="3.3.3-CAPI-1.7.4" PROJ="Rel. 4.8.0, 6 March > 2012" GDAL="GDAL 1.9.0, released 2011/12/29" LIBXML="2.7.8" > LIBJSON="UNKNOWN" TOPOLOGY RASTER" > > > > >> --------------------------- >> Iván Santiago >> GIS Specialist >> Information Technologies >> Office of Management and Budget >> 787.725.9420 x 2378 >> Calle Cruz 254 >> PO Box 9023228 >> San Juan, PR 00902-3228 >> http://gis.pr.gov >> >> >> -----Original Message----- >> From: [email protected] [mailto: >> [email protected]] On Behalf Of >> [email protected] >> Sent: Friday, May 16, 2014 11:24 AM >> To: [email protected] >> Subject: [postgis-users] problem with st_makevalid and (LineString) >> >> Hello people, i got a problem where i have no idea what can i do. >> >> I have this table >> >> CREATE TABLE ft_potencial >> ( >> id_dw_ft_potencial integer NOT NULL, >> id_dw_tipo integer NOT NULL, >> id_dw_mes integer NOT NULL, >> id_dw_municipio integer NOT NULL, >> id_dw_date integer NOT NULL, >> potencial real NOT NULL, >> area real NOT NULL, >> the_geom geometry(Polygon,4326), >> CONSTRAINT ft_potencial_pkey PRIMARY KEY (id_dw_ft_potencial, >> id_dw_tipo, id_dw_mes, id_dw_municipio, id_dw_date) >> ) >> WITH ( >> OIDS=FALSE >> ); >> >> and i want to clean the errors that it has using the function >> ST_MakeValid in this way >> >> update ft_potencial set the_geom=ST_MakeValid(the_geom); >> >> but it always return this error >> >> ERROR: Geometry type (LineString) does not match column type (Polygon) >> >> ********** Error ********** >> >> ERROR: Geometry type (LineString) does not match column type (Polygon) >> Estado SQL:22023 >> >> >> what can i do to fix or clean the geometry without problems. >> >> please help. >> thanks >> >> ---------------------------------------------------------------- >> This message was sent using IMP, the Internet Messaging Program. >> >> >> -- >> >> Este mensaje le ha llegado mediante el servicio de correo electronico que >> ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema >> Nacional de Salud. La persona que envia este correo asume el compromiso de >> usar el servicio a tales fines y cumplir con las regulaciones establecidas >> >> Infomed: http://www.sld.cu/ >> >> _______________________________________________ >> postgis-users mailing list >> [email protected] >> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users >> _______________________________________________ >> postgis-users mailing list >> [email protected] >> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users >> >> > > > ---------------------------------------------------------------- > This message was sent using IMP, the Internet Messaging Program. > > > > -- > > Este mensaje le ha llegado mediante el servicio de correo electronico que > ofrece Infomed para respaldar el cumplimiento de las misiones del Sistema > Nacional de Salud. La persona que envia este correo asume el compromiso de > usar el servicio a tales fines y cumplir con las regulaciones establecidas > > Infomed: http://www.sld.cu/ > > _______________________________________________ > postgis-users mailing list > [email protected] > http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users >
_______________________________________________ postgis-users mailing list [email protected] http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
