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


Java Osmformat.Node方法代码示例

本文整理汇总了Java中org.openstreetmap.osmosis.osmbinary.Osmformat.Node方法的典型用法代码示例。如果您正苦于以下问题:Java Osmformat.Node方法的具体用法?Java Osmformat.Node怎么用?Java Osmformat.Node使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.openstreetmap.osmosis.osmbinary.Osmformat的用法示例。


在下文中一共展示了Osmformat.Node方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: parseNodes

import org.openstreetmap.osmosis.osmbinary.Osmformat; //导入方法依赖的package包/类
@Override
protected void parseNodes(List<Osmformat.Node> nodes) {
	for (Osmformat.Node n : nodes) {
		Node n2 = new Node();
		Primitive p = getPrimitive(n.getInfo());
		p.setId(n.getId());
		p.setTags(getTags(n.getKeysList(), n.getValsList()));
		n2.setCommon(p);
		n2.setLatitude(parseLat(n.getLat()));
		n2.setLongitude(parseLon(n.getLon()));
		try {
			nodeWriter.append(n2);
		}
		catch (IOException e) {
			LOGGER.error("Unable to write node", e);
		}
	}
}
 
开发者ID:ngageoint,项目名称:geowave-osm,代码行数:19,代码来源:OsmPbfParser.java

示例3: parseNodes

import org.openstreetmap.osmosis.osmbinary.Osmformat; //导入方法依赖的package包/类
/** Note that in many PBF files this function is never called because all nodes are dense. */
@Override
protected void parseNodes(List<Osmformat.Node> nodes) {
    try {
        for (Osmformat.Node n : nodes) {
            if (nodeCount++ % 10000000 == 0) {
                LOG.info("node {}", human(nodeCount));
            }
            Node node = new Node(parseLat(n.getLat()), parseLon(n.getLon()));
            for (int k = 0; k < n.getKeysCount(); k++) {
                String key = getStringById(n.getKeys(k));
                String val = getStringById(n.getVals(k));
                if (retainTag(key)) node.addTag(key, val);
            }
            entitySink.writeNode(n.getId(), node);
        }
    } catch (IOException ex) {
        LOG.error("An I/O exception occurred in the OSM entity sink.");
        ex.printStackTrace();
    }
}
 
开发者ID:conveyal,项目名称:osm-lib,代码行数:22,代码来源:PBFInput.java

示例4: parseNodes

import org.openstreetmap.osmosis.osmbinary.Osmformat; //导入方法依赖的package包/类
@Override
protected void parseNodes(
		List<Osmformat.Node> nodes ) {
	for (Osmformat.Node n : nodes) {
		Node n2 = new Node();
		Primitive p = getPrimitive(n.getInfo());
		p.setId(n.getId());
		p.setTags(getTags(
				n.getKeysList(),
				n.getValsList()));
		n2.setCommon(p);
		n2.setLatitude(parseLat(n.getLat()));
		n2.setLongitude(parseLon(n.getLon()));
		try {
			nodeWriter.append(n2);
		}
		catch (IOException e) {
			LOGGER.error(
					"Unable to write node",
					e);
		}
	}
}
 
开发者ID:locationtech,项目名称:geowave,代码行数:24,代码来源:OsmPbfParser.java

示例5: processNodes

import org.openstreetmap.osmosis.osmbinary.Osmformat; //导入方法依赖的package包/类
private void processNodes( List<Osmformat.Node> nodes, BPbfFieldDecoder fieldDecoder )
{
    for (Osmformat.Node node : nodes)
    {
        Map<String, String> tags = buildTags(node.getKeysList(), node.getValsList(), fieldDecoder);

        parser.addNode( node.getId(), tags, fieldDecoder.decodeLatitude(node
                .getLat()), fieldDecoder.decodeLatitude(node.getLon()));
    }
}
 
开发者ID:abrensch,项目名称:brouter,代码行数:11,代码来源:BPbfBlobDecoder.java

示例6: parseNodes

import org.openstreetmap.osmosis.osmbinary.Osmformat; //导入方法依赖的package包/类
@Override
protected void parseNodes(List<Osmformat.Node> nodes) {
	for (Osmformat.Node i : nodes) {
		int tagCnt = i.getKeysCount();

		TagSet tags = new TagSet(tagCnt);

		//  List<Tag> tags = new ArrayList<Tag>();
		for (int j = 0; j < tagCnt; j++) {
			tags.add(new Tag(getStringById(i.getKeys(j)), getStringById(i.getVals(j))));
		}
		// long id, int version, Date timestamp, OsmUser user,
		// long changesetId, Collection<Tag> tags,
		// double latitude, double longitude
		OsmNode tmp;
		long id = i.getId();
		double latf = parseLat(i.getLat()), lonf = parseLon(i.getLon());

		//			if (i.hasInfo()) {
		//				Osmformat.Info info = i.getInfo();
		//				tmp = new OsmNode(new CommonEntityData(id, info.getVersion(), getDate(info),
		//						getUser(info), info.getChangeset(), tags), latf, lonf);
		//			} else {
		tmp = new OsmNode(latf, lonf, tags, id);
		//				tmp = new Node(new CommonEntityData(id, NOVERSION, NODATE, OsmUser.NONE,
		//						NOCHANGESET, tags), latf, lonf);
		//			}
		//sink.process(new NodeContainer(tmp));
		mNodeMap.put(Long.valueOf(id), tmp);
	}
}
 
开发者ID:opensciencemap,项目名称:vtm,代码行数:32,代码来源:OsmPbfParser.java

示例7: parseNodes

import org.openstreetmap.osmosis.osmbinary.Osmformat; //导入方法依赖的package包/类
@Override
protected void parseNodes(List<Osmformat.Node> nodes) {
	for (Osmformat.Node i : nodes) {
		int tagCnt = i.getKeysCount();

		TagSet tags = new TagSet(tagCnt);

		//  List<Tag> tags = new ArrayList<Tag>();
		for (int j = 0; j < tagCnt; j++) {
			tags.add(new Tag(getStringById(i.getKeys(j)), getStringById(i.getVals(j))));
		}
		// long id, int version, Date timestamp, OsmUser user,
		// long changesetId, Collection<Tag> tags,
		// double latitude, double longitude
		OSMNode tmp;
		long id = i.getId();
		double latf = parseLat(i.getLat()), lonf = parseLon(i.getLon());

		//			if (i.hasInfo()) {
		//				Osmformat.Info info = i.getInfo();
		//				tmp = new OSMNode(new CommonEntityData(id, info.getVersion(), getDate(info),
		//						getUser(info), info.getChangeset(), tags), latf, lonf);
		//			} else {
		tmp = new OSMNode(latf, lonf, tags, id);
		//				tmp = new Node(new CommonEntityData(id, NOVERSION, NODATE, OsmUser.NONE,
		//						NOCHANGESET, tags), latf, lonf);
		//			}
		//sink.process(new NodeContainer(tmp));
		mNodeMap.put(Long.valueOf(id), tmp);
	}
}
 
开发者ID:opensciencemap,项目名称:vtm-android,代码行数:32,代码来源:OsmPbfParser.java


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