Hi Atul,

are you really sure, you want to union all geometries of the three tables into one big multipolygon? It seems to me that this might be a little bit too complex and big...

But, if you really want to union all these geometries (and I am not sure, if this would really be your plan - because maybe you are mistaken that union in PostGIS means the same as in ArcGIS??), then I would split the query again to first do the union of the first two tables, while immediately dumping the resulting multipolygon into the consisting single polygons, and next, I would go for the union with the third table. The queries could look like this:

select (st_dump(st_union(t1.geometry, t2.geometry))).geom as geometry into new_table from TEMP_OUTPUTTREE_2 t1, TEMP_OUTPUTTREE2_4 t2;

select (st_dump(st_union(nt.geometry, t3.geometry))).geom as geometry from new_table nt, TEMP_OUTPUTTREE_5 t3;

I don't know if st_union is using the spatial index. If the answer would be yes, it might be useful to create one on the new_table. But, depending on the size of your tables, I am afraid, that the queries will still be much slower than your intersection-queries.

Good luck and regards,

Birgit.



Am 24.11.2011 07:37, schrieb Atul Kumar:

Hi Birgit,

Now its taking less time as compare to previous one.

One more help.

Is there any way to optimize this query because its also taking long time to execute.

select st_union (st_union (t1.geometry, t2.geometry), t3.geometry) geometry from TEMP_OUTPUTTREE_2 t1,TEMP_OUTPUTTREE2_4 t2, TEMP_OUTPUTTREE_5 t3

Thanks

Atul

*From:*postgis-users-boun...@postgis.refractions.net [mailto:postgis-users-boun...@postgis.refractions.net] *On Behalf Of *Birgit Laggner
*Sent:* Wednesday, November 23, 2011 6:07 PM
*To:* postgis-users@postgis.refractions.net
*Subject:* Re: [postgis-users] Help me.

Hallo Atul,

perhaps, I would split the query in two queries, because otherwise I think it might be difficult to use a spatial index on the second intersection. The queries could be like this:

--create a spatial index on each input table:
create index temp_outputtree_2_gist_geometry on temp_outputtree_2 using gist(geometry); create index temp_outputtree2_4_gist_geometry on temp_outputtree2_4 using gist(geometry); create index temp_outputtree_5_gist_geometry on temp_outputtree_5 using gist(geometry);

--intersection of the first 2 tables using the spatial index, writing the result of it into a new table: select st_intersection(t1.geometry,t2.geometry) as geometry into new_table from TEMP_OUTPUTTREE_2 t1 inner join TEMP_OUTPUTTREE2_4 t2 on t1.geometry && t2.geometry where st_intersects(t1.geometry,t2.geometry);

--create a spatial index on the new geometries of the first intersection:
create index new_table_gist_geometry on new_table using gist(geometry);

--intersection with the third table:
select st_intersection(nt.geometry,t3.geometry) as geometry from new_table nt inner join TEMP_OUTPUTTREE_5 t3 on nt.geometry && t3.geometry where st_intersects(nt.geometry,t3.geometry);

Hope that helps,

Birgit.

Am 23.11.2011 13:16, schrieb Atul Kumar:

Hi All,

I am trying to intersection multiple sets of geographical data using ST_intersection function. But query execution time is long.

My Query is :

select st_intersection (st_intersection (t1.geometry, t2.geometry), t3.geometry) geometry from TEMP_OUTPUTTREE_2 t1,TEMP_OUTPUTTREE2_4 t2, TEMP_OUTPUTTREE_5 t3

I am having three table its having geometry data. I want to intersect operation on those data.

Please suggest, Is there any optimal way to get the intersection with less execution time?

Thanks

Atul Kumar

DISCLAIMER ========== This e-mail may contain privileged and confidential information which is the property of Persistent Systems Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Ltd. does not accept any liability for virus infected mails.




_______________________________________________
postgis-users mailing list
postgis-users@postgis.refractions.net  
<mailto:postgis-users@postgis.refractions.net>
http://postgis.refractions.net/mailman/listinfo/postgis-users

DISCLAIMER ========== This e-mail may contain privileged and confidential information which is the property of Persistent Systems Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Ltd. does not accept any liability for virus infected mails.



_______________________________________________
postgis-users mailing list
postgis-users@postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users
_______________________________________________
postgis-users mailing list
postgis-users@postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to