- # Get the remaining objects:
- # Fetch the ways (until now only had their ids)
- ways = Way.find(way_ids)
-
- # Fetch any segments needed for our ways (only have matching segments so far)
- seg_ids = Array.new
- ways.each do |way|
- seg_ids += way.segs
- end
- segments += Segment.find(seg_ids)
-
- # Fetch any nodes needed for our segments (only have matching nodes so far)
- node_ids = Array.new
- segments.each do |seg|
- node_ids += seg.node_a
- node_ids += seg.node_b
- end
- nodes += Node.find(node_ids)
-
+ # Fetch any node needed for our ways (only have matching nodes so far)
+ nodes += Node.find(ways.collect { |w| w.nds }.uniq)