[postgis-users] split line at polygon edge

François Hugues hugues.francois at irstea.fr
Thu Mar 17 00:15:48 PDT 2016


Dis you take a look at the query result ? I think you should first try to 
see what is the type of geometry returned using ST_GeometryType(). You may 
have some geometrycollections and I’m not sure QGis can handle  it. In this 
case you could extract lines using ST_CollectionExtract().

To achieve what you want to do, you’ll be able to compare your original 
lines table with the result of your query using ST_Difference().



De : postgis-users [mailto:postgis-users-bounces at lists.osgeo.org] De la part 
de Garret W
Envoyé : jeudi 17 mars 2016 04:11
À : postgis-users at lists.osgeo.org
Objet : [postgis-users] split line at polygon edge

Hi Ive been looking for a way to take several hundred lines and split them 
where they intersect a polygon while also giving them the ID of the polygon 
they fall in. Ive seen many posts on splitting polygons. But its been 
difficult for me to adapt those examples.

Ive been able to get an output from this:

select st_intersection(t.geom, d.geom),t.trails_id, d.id from 
public.temp_trails as t, public.polys as d;

Its giving me the line and IDs that I wanted but the geom is unreadable for 
some reason by QGIS.

99.9% of the lines fall within a polygon. Id like to still hang on to those 
few lines that arent contained in a polygon. They should just be split with 
no ID added

Im using; postgis 2.2, postgresql 9.5

Thank you

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20160317/8b21b4ad/attachment.html>

More information about the postgis-users mailing list