# are IDs only.
def whichways(xmin, ymin, xmax, ymax) #:doc:
- xmin -= 0.01; ymin -= 0.01
- xmax += 0.01; ymax += 0.01
+ enlarge = [(xmax-xmin)/8,0.01].min
+ xmin -= enlarge; ymin -= enlarge
+ xmax += enlarge; ymax += enlarge
if POTLATCH_USE_SQL then
way_ids = sql_find_way_ids_in_area(xmin, ymin, xmax, ymax)
if mid < 0
mid = renumberednodes[mid] if m[0] == 'node'
mid = renumberedways[mid] if m[0] == 'way'
- if mid
- typedmembers << [m[0], mid, m[2]]
- end
+ end
+ if mid
+ typedmembers << [m[0], mid, m[2]]
end
end
nodes.push(id)
end
+ # -- Save revised way
+
+ way.tags = attributes
+ way.nds = nodes
+ way.user_id = uid
+ way.visible = true
+ way.save_with_history!
+
# -- Delete any unique nodes
uniques.each do |n|
node.save_with_history!
end
- # -- Save revised way
-
- way.tags = attributes
- way.nds = nodes
- way.user_id = uid
- way.visible = true
- way.save_with_history!
-
[0, originalway, way.id, renumberednodes]
end
way.unshared_node_ids.each do |n|
deleteitemrelations(n, 'node')
end
+ deleteitemrelations(way_id, 'way')
way.delete_with_relations_and_nodes_and_history(user)