[postgis-users] query multipolygon

Paul Ramsey pramsey at opengeo.org
Tue Jun 2 15:06:26 PDT 2009


Ideally, reduce the tables to the minimum number of features necessary
to run your query and perceive the error. Then just zip and e-mail
them. If they are small enough, attach them to a ticket in the bug
tracker.

http://trac.osgeo.org/postgis

On Tue, Jun 2, 2009 at 2:52 PM, sgrocho2 <sgrocho at gmail.com> wrote:
>
> Postgis_full_version() returned:
> "POSTGIS="1.3.5" GEOS="3.0.3-CAPI-1.4.2" PROJ="Rel. 4.6.1, 21 August 2008"
> USE_STATS"
>
> Yes we can share some data with you.  What is the easiest way to send you a
> couple of tables from PostGIS?
>
>
> Paul Ramsey-4 wrote:
>>
>> Can you share this test data with me? (Just enough to demonstrate the
>> condition.) What does your postgis_full_version() return?
>>
>> P
>>
>> On Tue, Jun 2, 2009 at 2:08 PM, sgrocho2 <sgrocho at gmail.com> wrote:
>>>
>>> Okay, I did run ST_IsValid() and everything from each of the layers
>>> returned
>>> a t.  When visually checking the query results with 167 rows it appears
>>> that
>>> the query is only returning rows that intersect the first polygon it
>>> processes.  Leaving out those rows that only intersect the other 5
>>> polygons.
>>> The following image is an example of what is being missed.  The polygons
>>> outlined in blue are not selected by the query since they only touch one
>>> of
>>> the parcel polygons(green).
>>> http://www.nabble.com/file/p23840915/missed_features.jpg
>>>
>>>
>>>
>>>
>>> Paul Ramsey-4 wrote:
>>>>
>>>> Slow-vs-fast I can understand... the spatial index can more
>>>> effectively parcel out the problem for processing when the units of
>>>> processing are smaller.
>>>>
>>>> Wrong-vs-right I have a problem with. Are your multi-polygons valid?
>>>> Run ST_IsValid() on them. It's possible that they are valid taken
>>>> separately but invalid when combined (multipolygons are not allowed to
>>>> have overlapping components).
>>>>
>>>> Paul
>>>>
>>>> On Tue, Jun 2, 2009 at 11:05 AM, sgrocho2 <sgrocho at gmail.com> wrote:
>>>>>
>>>>> I am having trouble querying a multipolygon feature intersection with
>>>>> another
>>>>> multipolygon feature.  When I execute the query it takes 45 seconds and
>>>>> returns and incomplete answer, 167 rows.  If I explode the parcel
>>>>> polygon
>>>>> into its 6 parts and then run the same query it takes 5 seconds and
>>>>> returns
>>>>> 209 rows which is the correct answer.  Is there a way to write this
>>>>> query
>>>>> to
>>>>> return the all the rows without having to first manipulate the data?
>>>>>  The
>>>>> same query works fine in SQL Server but we want to use PostGIS. Below
>>>>> is
>>>>> the
>>>>> code for each of the Parcel tables they include only one parcel - one
>>>>> with 1
>>>>> row, the other with 6 rows.
>>>>>
>>>>> THIS IS THE SINGLE FEATURE MULTIPOLYGON CODE: 45sec 167 rows
>>>>> SELECT DISTINCT g1.objectid As taxpar_id, g1.tax_parcel_num As
>>>>> parcel_number, g2.objectid As fw_id, g2.wdfw_phs, g2.wdfw_occur_pt,
>>>>> g2.wdfw_haulout, g2.pc_for_fish, g2.wdfw_fish_dist, g2.pc_oaks,
>>>>> g2.pc_salmon, g2.wdfw_occur_pl, g2.doh_sf, g2.wdfw_owl, g2.pc_eelgrass,
>>>>> g2.pc_hydro, g2.wdfw_sasi
>>>>>        FROM loader.single_parcel As g1,
>>>>> loader.potential_fw_habitat_cons_areas_pg
>>>>> As g2
>>>>>    WHERE (g1.tax_parcel_num = '0618161001' AND
>>>>> ST_Intersects(ST_Buffer(g1.Shape,-1), g2.Shape))
>>>>>
>>>>> THIS IS THE EXPLODED 6 FEATURES CODE: 5sec 209 rows
>>>>> SELECT DISTINCT g1.objectid As taxpar_id, g1.tax_parcel_num As
>>>>> parcel_number, g2.objectid As fw_id, g2.wdfw_phs, g2.wdfw_occur_pt,
>>>>> g2.wdfw_haulout, g2.pc_for_fish, g2.wdfw_fish_dist, g2.pc_oaks,
>>>>> g2.pc_salmon, g2.wdfw_occur_pl, g2.doh_sf, g2.wdfw_owl, g2.pc_eelgrass,
>>>>> g2.pc_hydro, g2.wdfw_sasi
>>>>>        FROM loader.multi_parcel As g1,
>>>>> loader.potential_fw_habitat_cons_areas_pg
>>>>> As g2
>>>>>    WHERE (g1.tax_parcel_num = '0618161001' AND
>>>>> ST_Intersects(ST_Buffer(g1.Shape,-1), g2.Shape))
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://www.nabble.com/query-multipolygon-tp23836573p23836573.html
>>>>> Sent from the PostGIS - User mailing list archive at Nabble.com.
>>>>>
>>>>> _______________________________________________
>>>>> postgis-users mailing list
>>>>> 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
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/query-multipolygon-tp23836573p23840915.html
>>> Sent from the PostGIS - User mailing list archive at Nabble.com.
>>>
>>> _______________________________________________
>>> postgis-users mailing list
>>> 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
>>
>>
>
> --
> View this message in context: http://www.nabble.com/query-multipolygon-tp23836573p23841693.html
> Sent from the PostGIS - User mailing list archive at Nabble.com.
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>



More information about the postgis-users mailing list