[postgis-users] how obtain the interior parcels

fsalas fsalas at geocuba.cu
Thu Dec 17 11:37:26 PST 2009


Dear, Havard
My definition of the interior is , the parcels that be inside other parcels 
without overlap.

I have been revised the information and the result is fine.

In this moment I need add other condition, that of this selection maintain 
the parcels that don't touch other interior parcels.

Is this possible?

This is the Fred solutions:

SELECT ST_InteriorRingN((the_geom),s)
FROM datnivel3, generate_series(1,(SELECT max(ST_NumInteriorRing(the_geom)) 
FROM datnivel3)) s
 WHERE ST_NumInteriorRing(the_geom) > 0
AND ST_InteriorRingN(the_geom,s) IS NOT NULL


How implement the other conditions?

Thanks ,

Francisco Salas





----- Original Message ----- 
From: "Havard Tveite" <havard.tveite at umb.no>
To: "fsalas" <fsalas at geocuba.cu>; "PostGIS Users Discussion" 
<postgis-users at postgis.refractions.net>
Sent: Thursday, December 17, 2009 11:15 AM
Subject: Re: [postgis-users] how obtain the interior parcels


> Dear Salas,
>
> What is your definition of interior?
> From the picture, it looks as if all your interior parcels
> are selected (shown in purple).  Could you point out any
> interior parcels that are not selected?
>
> Håvard
>
> fsalas wrote:
>> Hi, Fred
>>  I tested your solution but as you can see en the picture , only select a 
>> few interior parcels , My question is
>> Why Do not select the other interior parcels?
>>  Thanks
>>  Salas  MSc Francisco D. Salas Rosette
>> Director Agencia I+D Aplicado a la Geomática
>>
>>     ----- Original Message -----
>>     *From:* Fred Lehodey <mailto:lehodey at gmail.com>
>>     *To:* PostGIS Users Discussion
>>     <mailto:postgis-users at postgis.refractions.net>
>>     *Sent:* Friday, December 11, 2009 9:58 AM
>>     *Subject:* Re: [postgis-users] how obtain the interior parcels
>>
>>     Hi Salas,
>>     not sure this is the better way, but.. ;-)
>>     ... (you need POLYGONs, use ST_Dump() if MULTIPOLYGONs)
>>
>>     you can try something like this:
>>
>>     SELECT ST_InteriorRingN((the_geom),s)
>>     FROM your_parcels , generate_series(1,(SELECT
>>     max(ST_NumInteriorRing(the_geom)) FROM your_parcels)) s
>>      WHERE ST_NumInteriorRing(the_geom) > 0
>>     AND ST_InteriorRingN(the_geom,s) IS NOT NULL
>>
>>
>>     Fred...
>>
>>
>>
>>     On Thu, Dec 10, 2009 at 8:13 PM, Fsalas <fsalas at geocuba.cu
>>     <mailto:fsalas at geocuba.cu>> wrote:
>>
>>         Thanks , Fred.
>>          Yes, I need the list of island polygons i use the
>>         ST_NumInteriorRings(), ... but only obtain the number , and i
>>         need obtain the list of feature island.
>>          How resolve this?
>>          regards , salas
>>
>>          -----Original Message-----
>>             From: Fred Lehodey <lehodey at gmail.com
>>             <mailto:lehodey at gmail.com>>
>>             To: PostGIS Users Discussion
>>             <postgis-users at postgis.refractions.net
>>             <mailto:postgis-users at postgis.refractions.net>>
>>             Date: Thu, 10 Dec 2009 19:48:17 +0000
>>             Subject: Re: [postgis-users] how obtain the interior parcels
>>
>>             Hi Salas,
>>             are "interior parcels" islands ?
>>
>>             ST_NumInteriorRings(geometry)
>>                 Return the number of interior rings of the first polygon
>>                 in the geometry. Return NULL if there is no polygon in
>>                 the geometry.
>>             ST_NumInteriorRing(geometry)
>>                 Synonym to NumInteriorRings(geometry). The OpenGIS specs
>>                 are ambiguous about the exact function naming, so we
>>                 provide both spellings.
>>             ST_InteriorRingN(geometry,integer)
>>                 Return the N'th interior ring of the polygon geometry.
>>                 Return NULL if the geometry is not a polygon or the
>>                 given N is out of range.
>>
>>             Fred.
>>
>>
>>             On Thu, Dec 10, 2009 at 7:35 PM, Fsalas <fsalas at geocuba.cu
>>             <mailto:fsalas at geocuba.cu>> wrote:
>>
>>                 Hi,
>>                 I have a table parcels , and I need obtain the list of
>>                 the only interior parcels, the parcels is not overlap.
>>                 I test ST_Contains(), ST_Intersects() but the result is
>>                 not correct.
>>                  Salas.
>>
>>                 _______________________________________________
>>                 postgis-users mailing list
>>                 postgis-users at postgis.refractions.net
>>                 <mailto:postgis-users at postgis.refractions.net>
>> 
>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>
>>
>>
>>         _______________________________________________
>>         postgis-users mailing list
>>         postgis-users at postgis.refractions.net
>>         <mailto:postgis-users at postgis.refractions.net>
>>         http://postgis.refractions.net/mailman/listinfo/postgis-users
>>
>>
>>     ------------------------------------------------------------------------
>>
>>     _______________________________________________
>>     postgis-users mailing list
>>     postgis-users at postgis.refractions.net
>>     http://postgis.refractions.net/mailman/listinfo/postgis-users
>>
>>
>> ------------------------------------------------------------------------
>>
>
> -- 
> Håvard Tveite
> Department of Mathematical Sciences and Technology, UMB
> Drøbakveien 31, POBox 5003, N-1432 Ås, NORWAY
> Phone: +47 64965483 Fax: +47 64965401 http://www.umb.no/imt/
> 





More information about the postgis-users mailing list