public override string ToString()
{
string idStr = id != null ? " id:" + id.ToString() : "";
string amenityStr = amenity != null ? " amenity:" + amenity : "";
string versionStr = version != null ? " version:" + version.ToString() : "";
string timestampStr = timestamp != null ? " timestamp:" + timestamp : "";
string uidStr = uid != null ? " uid:" + uid.ToString() : "";
string userStr = user != null ? " user:" + user : "";
string changesetStr = changeset != null ? " changeset:" + changeset.ToString() : "";
string latStr = lat != null ? " lat:" + lat.ToString() : "";
string lonStr = lon != null ? " lon:" + lon.ToString() : "";
string tagsStr = tags != null ? " tags:" + string.Join(";", tags.Select(x => x.Key + "=" + x.Value).ToArray()) : "";
return "OsmNode:" + idStr + amenityStr + versionStr + timestampStr + uidStr + userStr + changesetStr + latStr + lonStr + tagsStr;
}