[postgis-users] problem with st_makevalid and (LineString)

islanis at infomed.sld.cu islanis at infomed.sld.cu
Fri May 16 14:58:06 PDT 2014


"Rémi Cura" <remi.cura at gmail.com> escribió:

Remi i dont understand what do you mean here,

> 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

  ok, but like i say above, i dont understan, please be more specific,  
please, but thanks

>
> Cheers,
> Rémi-C
>
>
> 2014-05-16 18:14 GMT+02:00 <islanis at infomed.sld.cu>:
>
>>
>>
>> "Ivan Santiago" <isantiago at ogp.pr.gov> 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: postgis-users-bounces at lists.osgeo.org [mailto:
>>> postgis-users-bounces at lists.osgeo.org] On Behalf Of
>>> islanis at infomed.sld.cu
>>> Sent: Friday, May 16, 2014 11:24 AM
>>> To: postgis-users at lists.osgeo.org
>>> 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
>>> postgis-users at lists.osgeo.org
>>> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
>>> _______________________________________________
>>> postgis-users mailing list
>>> postgis-users at lists.osgeo.org
>>> 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
>> postgis-users at lists.osgeo.org
>> 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/



More information about the postgis-users mailing list