raise OSM::APIBadXMLError.new("node", pt, "lat missing") if pt['lat'].nil?
raise OSM::APIBadXMLError.new("node", pt, "lon missing") if pt['lon'].nil?
- node.lat = pt['lat'].to_f
- node.lon = pt['lon'].to_f
+ 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?
node.changeset_id = pt['changeset'].to_i
def to_xml_node(changeset_cache = {}, user_display_name_cache = {})
el1 = XML::Node.new 'node'
el1['id'] = self.id.to_s
- el1['lat'] = self.lat.to_s
- el1['lon'] = self.lon.to_s
el1['version'] = self.version.to_s
el1['changeset'] = self.changeset_id.to_s
+ if self.visible?
+ el1['lat'] = self.lat.to_s
+ el1['lon'] = self.lon.to_s
+ end
+
if changeset_cache.key?(self.changeset_id)
# use the cache if available
else