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


Java OsmHandler类代码示例

本文整理汇总了Java中de.topobyte.osm4j.core.access.OsmHandler的典型用法代码示例。如果您正苦于以下问题:Java OsmHandler类的具体用法?Java OsmHandler怎么用?Java OsmHandler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


OsmHandler类属于de.topobyte.osm4j.core.access包,在下文中一共展示了OsmHandler类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: OsmSaxHandler

import de.topobyte.osm4j.core.access.OsmHandler; //导入依赖的package包/类
private OsmSaxHandler(OsmHandler handler, boolean parseMetadata) {
    this.handler = handler;
    this.parseMetadata = parseMetadata;
    if (parseMetadata) {
        this.dateParser = new DateParser();
    }
    this.setRoot(this.createRoot(), true);
}
 
开发者ID:gegy1000,项目名称:Earth,代码行数:9,代码来源:OsmSaxHandler.java

示例2: read

import de.topobyte.osm4j.core.access.OsmHandler; //导入依赖的package包/类
public static InMemorySetIdDataSet read(OsmReader reader)
        throws OsmInputException {
    final InMemorySetIdDataSet dataSet = new InMemorySetIdDataSet();

    final TLongSet nodeIds = dataSet.getNodeIds();
    final TLongSet wayIds = dataSet.getWayIds();
    final TLongSet relationIds = dataSet.getRelationIds();

    reader.setHandler(new OsmHandler() {

        @Override
        public void handle(OsmBounds bounds) throws IOException {
            dataSet.setBounds(bounds);
        }

        @Override
        public void handle(OsmNode node) throws IOException {
            nodeIds.add(node.getId());
        }

        @Override
        public void handle(OsmWay way) throws IOException {
            wayIds.add(way.getId());
        }

        @Override
        public void handle(OsmRelation relation) throws IOException {
            relationIds.add(relation.getId());
        }

        @Override
        public void complete() throws IOException {
            // nothing to do here
        }
    });

    reader.read();

    return dataSet;
}
 
开发者ID:gegy1000,项目名称:Earth,代码行数:41,代码来源:IdDataSetReader.java

示例3: setHandler

import de.topobyte.osm4j.core.access.OsmHandler; //导入依赖的package包/类
@Override
public void setHandler(OsmHandler handler) {
    this.handler = handler;
}
 
开发者ID:gegy1000,项目名称:Earth,代码行数:5,代码来源:OsmXmlReader.java

示例4: createInstance

import de.topobyte.osm4j.core.access.OsmHandler; //导入依赖的package包/类
static OsmSaxHandler createInstance(OsmHandler handler,
                                    boolean parseMetadata) {
    return new OsmSaxHandler(handler, parseMetadata);
}
 
开发者ID:gegy1000,项目名称:Earth,代码行数:5,代码来源:OsmSaxHandler.java

示例5: setHandler

import de.topobyte.osm4j.core.access.OsmHandler; //导入依赖的package包/类
void setHandler(OsmHandler handler) {
    this.handler = handler;
}
 
开发者ID:gegy1000,项目名称:Earth,代码行数:4,代码来源:OsmSaxHandler.java

示例6: read

import de.topobyte.osm4j.core.access.OsmHandler; //导入依赖的package包/类
public static InMemoryListDataSet read(OsmReader reader,
                                       final boolean keepNodeTags, final boolean keepWayTags,
                                       final boolean keepRelationTags) throws OsmInputException {
    final InMemoryListDataSet dataSet = new InMemoryListDataSet();

    final List<OsmNode> nodes = dataSet.getNodes();
    final List<OsmWay> ways = dataSet.getWays();
    final List<OsmRelation> relations = dataSet.getRelations();

    reader.setHandler(new OsmHandler() {

        @Override
        public void handle(OsmBounds bounds) throws IOException {
            dataSet.setBounds(bounds);
        }

        @Override
        public void handle(OsmNode node) throws IOException {
            if (!keepNodeTags) {
                node = new Node(node.getId(), node.getLongitude(), node
                        .getLatitude());
            }
            nodes.add(node);
        }

        @Override
        public void handle(OsmWay way) throws IOException {
            if (!keepWayTags) {
                TLongArrayList ids = new TLongArrayList();
                for (int i = 0; i < way.getNumberOfNodes(); i++) {
                    ids.add(way.getNodeId(i));
                }
                way = new Way(way.getId(), ids);
            }
            ways.add(way);
        }

        @Override
        public void handle(OsmRelation relation) throws IOException {
            if (!keepRelationTags) {
                List<OsmRelationMember> members = new ArrayList<>();
                for (int i = 0; i < relation.getNumberOfMembers(); i++) {
                    members.add(relation.getMember(i));
                }
                relation = new Relation(relation.getId(), members);
            }
            relations.add(relation);
        }

        @Override
        public void complete() throws IOException {
            // nothing to do here
        }
    });

    reader.read();

    return dataSet;
}
 
开发者ID:gegy1000,项目名称:Earth,代码行数:60,代码来源:ListDataSetLoader.java

示例7: read

import de.topobyte.osm4j.core.access.OsmHandler; //导入依赖的package包/类
public static InMemoryMapDataSet read(OsmReader reader,
                                      final boolean keepNodeTags, final boolean keepWayTags,
                                      final boolean keepRelationTags) throws OsmInputException {
    final InMemoryMapDataSet dataSet = new InMemoryMapDataSet();

    final TLongObjectMap<OsmNode> nodes = dataSet.getNodes();
    final TLongObjectMap<OsmWay> ways = dataSet.getWays();
    final TLongObjectMap<OsmRelation> relations = dataSet.getRelations();

    reader.setHandler(new OsmHandler() {

        @Override
        public void handle(OsmBounds bounds) throws IOException {
            dataSet.setBounds(bounds);
        }

        @Override
        public void handle(OsmNode node) throws IOException {
            if (!keepNodeTags) {
                node = new Node(node.getId(), node.getLongitude(), node
                        .getLatitude());
            }
            nodes.put(node.getId(), node);
        }

        @Override
        public void handle(OsmWay way) throws IOException {
            if (!keepWayTags) {
                TLongArrayList ids = new TLongArrayList();
                for (int i = 0; i < way.getNumberOfNodes(); i++) {
                    ids.add(way.getNodeId(i));
                }
                way = new Way(way.getId(), ids);
            }
            ways.put(way.getId(), way);
        }

        @Override
        public void handle(OsmRelation relation) throws IOException {
            if (!keepRelationTags) {
                List<OsmRelationMember> members = new ArrayList<>();
                for (int i = 0; i < relation.getNumberOfMembers(); i++) {
                    members.add(relation.getMember(i));
                }
                relation = new Relation(relation.getId(), members);
            }
            relations.put(relation.getId(), relation);
        }

        @Override
        public void complete() throws IOException {
            // nothing to do here
        }
    });

    reader.read();

    return dataSet;
}
 
开发者ID:gegy1000,项目名称:Earth,代码行数:60,代码来源:MapDataSetLoader.java


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