本文整理汇总了Java中org.openstreetmap.osmosis.osmbinary.Osmformat.Info方法的典型用法代码示例。如果您正苦于以下问题:Java Osmformat.Info方法的具体用法?Java Osmformat.Info怎么用?Java Osmformat.Info使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.openstreetmap.osmosis.osmbinary.Osmformat
的用法示例。
在下文中一共展示了Osmformat.Info方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: parseNodes
import org.openstreetmap.osmosis.osmbinary.Osmformat; //导入方法依赖的package包/类
@Override
protected void parseNodes(List<Osmformat.Node> pbfNodes) {
for (Osmformat.Node pbfNode : pbfNodes) {
Map<String, String> tags = new HashMap<String, String>();
for (int j = 0; j < pbfNode.getKeysCount(); j++) {
tags.put(getStringById(pbfNode.getKeys(j)), getStringById(pbfNode.getVals(j)));
}
Node osmNode = null;
long id = pbfNode.getId();
double latf = parseLat(pbfNode.getLat()), lonf = parseLon(pbfNode.getLon());
boolean visible = true;
if (pbfNode.hasInfo()) {
Osmformat.Info info = pbfNode.getInfo();
if (info.hasVisible()) visible = info.getVisible();
osmNode = new Node(OsmElementType.NODE, id, info.getUid(), getStringById(info.getUserSid()),
getDate(info), (int) info.getChangeset(), (short) info.getVersion(), visible, tags,
(info.getVisible() ? new Coordinate(lonf, latf) : null));
}
osmDataConsumer.process(osmNode);
}
}
示例2: getPrimitive
import org.openstreetmap.osmosis.osmbinary.Osmformat; //导入方法依赖的package包/类
private Primitive getPrimitive(
Osmformat.Info info ) {
Primitive p = new Primitive();
p.setVersion((long) info.getVersion());
p.setTimestamp(info.getTimestamp());
p.setUserId((long) info.getUid());
try {
p.setUserName(getStringById(info.getUid()));
}
catch (Exception ex) {
LOGGER.warn(
"Error, input file doesn't contain a valid string table for user id: " + info.getUid(),
ex);
p.setUserName(String.valueOf(info.getUid()));
}
p.setChangesetId(info.getChangeset());
p.setVisible(info.getVisible());
return p;
}
示例3: parseRelations
import org.openstreetmap.osmosis.osmbinary.Osmformat; //导入方法依赖的package包/类
@Override
protected void parseRelations(List<Osmformat.Relation> pbfRelations) {
for (Osmformat.Relation pbfRelation : pbfRelations) {
Map<String, String> tags = new HashMap<String, String>();
for (int j = 0; j < pbfRelation.getKeysCount(); j++) {
tags.put(getStringById(pbfRelation.getKeys(j)), getStringById(pbfRelation.getVals(j)));
}
long lastMemberId = 0;
List<RelationMember> nodes = new ArrayList<RelationMember>();
for (int j = 0; j < pbfRelation.getMemidsCount(); j++) {
long memberId = lastMemberId + pbfRelation.getMemids(j);
lastMemberId = memberId;
OsmElementType elementType = OsmElementType.UNKOWN;
if (pbfRelation.getTypes(j) == Osmformat.Relation.MemberType.NODE) {
elementType = OsmElementType.NODE;
} else if (pbfRelation.getTypes(j) == Osmformat.Relation.MemberType.WAY) {
elementType = OsmElementType.WAY;
} else if (pbfRelation.getTypes(j) == Osmformat.Relation.MemberType.RELATION) {
elementType = OsmElementType.RELATION;
}
nodes.add(new RelationMember(memberId, elementType, getStringById(pbfRelation.getRolesSid(j))));
}
boolean visible = true;
Relation osmRelation = null;
if (pbfRelation.hasInfo()) {
Osmformat.Info info = pbfRelation.getInfo();
if (info.hasVisible()) visible = info.getVisible();
osmRelation = new Relation(OsmElementType.RELATION, pbfRelation.getId(), info.getUid(), getStringById(info.getUserSid()), getDate(info), (int) info.getChangeset(), (short) info.getVersion(), visible, tags, nodes);
}
osmDataConsumer.process(osmRelation);
}
}
示例4: getPrimitive
import org.openstreetmap.osmosis.osmbinary.Osmformat; //导入方法依赖的package包/类
private Primitive getPrimitive(Osmformat.Info info){
Primitive p = new Primitive();
p.setVersion((long)info.getVersion());
p.setTimestamp(info.getTimestamp());
p.setUserId((long) info.getUid());
try {
p.setUserName(getStringById(info.getUid()));
} catch (Exception ex) {
LOGGER.warn("Error, input file doesn't contain a valid string table for user id: " + info.getUid());
p.setUserName(String.valueOf(info.getUid()));
}
p.setChangesetId(info.getChangeset());
p.setVisible(info.getVisible());
return p;
}