- node.lat = pt['lat'].to_f
- node.lon = pt['lon'].to_f
- raise OSM::APIBadXMLError.new("node", pt, "changeset id missing") if pt['changeset'].nil?
+ begin
+ node.lat = Float(pt['lat'])
+ rescue
+ raise OSM::APIBadXMLError.new("node", pt, "lat not a number")
+ end
+ begin
+ node.lon = Float(pt['lon'])
+ rescue
+ raise OSM::APIBadXMLError.new("node", pt, "lon not a number")
+ end
+ raise OSM::APIBadXMLError.new("node", pt, "Changeset id is missing") if pt['changeset'].nil?