include GeoRecord
include ConsistencyValidations
+ include NotRedactable
self.table_name = "current_nodes"
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
+ node.lat = OSM.parse_float(pt['lat'], OSM::APIBadXMLError, "node", pt, "lat not a number")
+ node.lon = OSM.parse_float(pt['lon'], OSM::APIBadXMLError, "node", pt, "lon not a number")
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