package com.revolsys.record.io.format.openstreetmap.model;
import java.util.Date;
import java.util.Map;
import javax.xml.namespace.QName;
import com.revolsys.identifier.Identifier;
import com.revolsys.record.io.format.xml.StaxReader;
public class OsmNode extends OsmElement {
public OsmNode() {
}
public OsmNode(final long id, final boolean visible, final int version, final long changeset,
final Date timestamp, final String user, final int uid, final Map<String, String> tags,
final double x, final double y) {
super(id, visible, version, changeset, timestamp, user, uid, tags);
setGeometryValue(OsmConstants.WGS84_2D.point(x, y));
}
public OsmNode(final OsmElement element) {
super(element);
}
public OsmNode(final StaxReader in) {
super(in);
final double lon = in.getDoubleAttribute(null, "lon");
final double lat = in.getDoubleAttribute(null, "lat");
setGeometryValue(OsmConstants.WGS84_2D.point(lon, lat));
while (in.skipToChildStartElements(NODE_XML_ELEMENTS)) {
final QName name = in.getName();
if (name.equals(TAG)) {
parseTag(in);
} else {
in.skipSubTree();
}
}
}
@Override
public Identifier getIdentifier() {
final long id = getId();
return new OsmNodeIdentifier(id);
}
}