当前位置: 首页>>代码示例>>Java>>正文


Java Osmformat.Info方法代码示例

本文整理汇总了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);
	}
}
 
开发者ID:SGroe,项目名称:vgi-analytics-framework,代码行数:24,代码来源:OsmPbfParser.java

示例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;
}
 
开发者ID:locationtech,项目名称:geowave,代码行数:20,代码来源:OsmPbfParser.java

示例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);
    }
}
 
开发者ID:SGroe,项目名称:vgi-analytics-framework,代码行数:39,代码来源:OsmPbfParser.java

示例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;
}
 
开发者ID:ngageoint,项目名称:geowave-osm,代码行数:16,代码来源:OsmPbfParser.java


注:本文中的org.openstreetmap.osmosis.osmbinary.Osmformat.Info方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。