I'm currently trying to select bridges (line features), from a shapefile containing roads, which go across water (a polygon). The problem is when i try to select features crossing or intersecting the water polygon (both in arcgis and qgis), it includes roads on piers as well. It is not possible to manually select the features, as the dataset consists of approximately 1.5 million features.

What i have noticed is the lines on piers simply intersect/crosses the water polygons, while bridges i have found goes "through" the polygon (one part of a line feature enters through one polygon boundary, but the line feature also exits either through the same boundary or another boundary).

Is there any spatial operator/plugin that can select features going through the polygon instead of intersecting/crossing the polygon? basically a double-crossing spatial operation.

  1. edit: the road dataset does not contain any attributes to distinguish between different road "types"
  2. edit: As richard pointed out, it probably needs some graphic examples. Below are some simple visualizations of the red lines only crossing the green water polygon once (left) and red lines crossing the water polygon twice. I'm trying to get the double-crossing features.
  • 1
    A picture of the two kinds of line features you are describing would help a lot. Also, does your data contain any attribute to identify the type of line feature that you can use to help distinguish the two kinds of crossings? Or are you trying to populate an attribute based on the spatial characteristics? I would suggest selecting intersecting lines then using the Intersect tool with point output to find single point and double point crossings. – Richard Fairhurst Jun 12 '18 at 14:11
  • 2
    Pleas decide which of ArcGIS Desktop and QGIS you are wanting to do this in, or if you are asking about a GIS principle then tag it that way instead. – PolyGeo Jun 12 '18 at 20:33

Yes, measure the times it intersects with the polygon. If the times are even, then they're the ones that you want.

  • Is there a tool in any of the programs that does this? – Jonas Jun 14 '18 at 6:04

Not the answer you're looking for? Browse other questions tagged or ask your own question.