Examples of LongLongIndexElement


Examples of org.openstreetmap.osmosis.core.store.LongLongIndexElement

   
    // Write the node to the object store and save the file offset in an
    // index keyed by node id.
    objectOffset = nodeObjectStore.add(node);
    nodeObjectOffsetIndexWriter.write(
      new LongLongIndexElement(nodeId, objectOffset)
    );
   
    // Write the node id to an index keyed by tile.
    nodeTileIndexWriter.write(
      new IntegerLongIndexElement((int) tileCalculator.calculateTile(node.getLatitude(), node.getLongitude()),
View Full Code Here

Examples of org.openstreetmap.osmosis.core.store.LongLongIndexElement

   
    // Write the way to the object store and save the file offset in an
    // index keyed by way id.
    objectOffset = wayObjectStore.add(way);
    wayObjectOffsetIndexWriter.write(
      new LongLongIndexElement(wayId, objectOffset)
    );
   
    if (enableWayTileIndex) {
    // Calculate the minimum and maximum tile indexes for the way.
    tilesFound = false;
    minimumTile = 0;
    maximumTile = 0;
    for (WayNode wayNode : way.getWayNodes()) {
      long nodeId;
      Node node;
      int tile;
     
      nodeId = wayNode.getNodeId();
     
      try {
      node = nodeObjectReader.get(
        nodeObjectOffsetIndexReader.get(nodeId).getValue()
      );
     
      tile = (int) tileCalculator.calculateTile(node.getLatitude(), node.getLongitude());
     
      if (tilesFound) {
        if (uintComparator.compare(tile, minimumTile) < 0) {
          minimumTile = tile;
        }
        if (uintComparator.compare(maximumTile, tile) < 0) {
          maximumTile = tile;
        }
       
      } else {
        minimumTile = tile;
        maximumTile = tile;
       
        tilesFound = true;
      }
       
      } catch (NoSuchIndexElementException e) {
        // Ignore any referential integrity problems.
        if (LOG.isLoggable(Level.FINER)) {
          LOG.finest(
            "Ignoring referential integrity problem where way " + wayId
            + " refers to non-existent node " + nodeId + "."
          );
    }
      }
    }
   
    // Write the way id to an index keyed by tile but only if tiles were
    // actually found.
    if (tilesFound) {
    wayTileIndexWriter.write(wayId, minimumTile, maximumTile);
      }
     
    } else {
      for (WayNode wayNode : way.getWayNodes()) {
        long nodeId;
       
        nodeId = wayNode.getNodeId();
       
        nodeWayIndexWriter.write(new LongLongIndexElement(nodeId, wayId));
      }
  }
  }
View Full Code Here

Examples of org.openstreetmap.osmosis.core.store.LongLongIndexElement

   
    // Write the relation to the object store and save the file offset in an
    // index keyed by relation id.
    objectOffset = relationObjectStore.add(relation);
    relationObjectOffsetIndexWriter.write(
      new LongLongIndexElement(relationId, objectOffset)
    );
   
    // Write the relation id to indexes keyed by each of the relation members.
    for (RelationMember member : relation.getMembers()) {
      EntityType memberType;
     
      memberType = member.getMemberType();
     
      if (memberType.equals(EntityType.Node)) {
        nodeRelationIndexWriter.write(new LongLongIndexElement(member.getMemberId(), relationId));
      } else if (memberType.equals(EntityType.Way)) {
        wayRelationIndexWriter.write(new LongLongIndexElement(member.getMemberId(), relationId));
      } else if (memberType.equals(EntityType.Relation)) {
        relationRelationIndexWriter.write(new LongLongIndexElement(member.getMemberId(), relationId));
      } else {
        throw new OsmosisRuntimeException("Member type " + memberType + " is not recognised.");
      }
    }
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.