Package crosby.binary

Examples of crosby.binary.Osmformat$Way


   *            Way to be sent.
   */
  private void emitWay(WayContainer wayContainer) {
    if (clipIncompleteEntities) {
      WayContainer filteredWayContainer;
      Way filteredWay;
     
      filteredWayContainer = wayContainer.getWriteableInstance();
      filteredWay = filteredWayContainer.getEntity();
     
      // Remove node references for nodes that are unavailable.
      for (Iterator<WayNode> i = filteredWay.getWayNodes().iterator(); i.hasNext();) {
        WayNode nodeReference = i.next();
       
        if (!availableNodes.get(nodeReference.getNodeId())) {
          i.remove();
        }
      }
     
      // Only add ways that contain nodes.
      if (filteredWay.getWayNodes().size() > 0) {
        sink.process(filteredWayContainer);
      }
     
    } else {
      sink.process(wayContainer);
View Full Code Here


  /**
   * Test processing a Bound after a Way.
   */
  @Test(expected = OsmosisRuntimeException.class)
  public final void testProcess7() {
    Way testWay;
   
    testWay = new Way(new CommonEntityData(3456, 0, new Date(), new OsmUser(12, "OsmosisTest"), 0));
    testWay.getWayNodes().add(new WayNode(1234));
    testWay.getWayNodes().add(new WayNode(1235));
    testWay.getTags().add(new Tag("test_key1", "test_value1"));
   
    testOsmWriter.process(new WayContainer(testWay));
    testOsmWriter.process(new BoundContainer(new Bound("source")));
  }
View Full Code Here

  private void selectWayNodes() {
    ReleasableIterator<WayContainer> i = allWays.iterate();
   
    try {
      while (i.hasNext()) {
        Way way = i.next().getEntity();
        long wayId = way.getId();
       
        // Only examine available relations.
        if (availableWays.get(wayId)) {
          // Select all nodes within the way.
          for (WayNode wayNode : way.getWayNodes()) {
            availableNodes.set(wayNode.getNodeId());
          }
        }
      }
     
View Full Code Here

  /**
   * {@inheritDoc}
   */
  @Override
  public Way mapRow(ResultSet rs, int rowNumber) throws SQLException {
    Way way;
    Array nodeIdArray;
    Long[] nodeIds;
    List<WayNode> wayNodes;
   
    way = new Way(mapCommonEntityData(rs));
   
    nodeIdArray = rs.getArray("nodes");
   
    if (nodeIdArray != null) {
      nodeIds = (Long[]) nodeIdArray.getArray();
      wayNodes = way.getWayNodes();
      for (long nodeId : nodeIds) {
        wayNodes.add(new WayNode(nodeId));
      }
    }
   
View Full Code Here

    // within the bounding box.
    tileWayIndexValues = getWayIdsForTileRange(bboxCtx.minimumTile, bboxCtx.maximumTile);
    try {
      while (tileWayIndexValues.hasNext()) {
        long wayId;
        Way way;
        List<Node> nodes;
       
        // Load the current way.
        wayId = tileWayIndexValues.next();
        way = getWay(wayId);
       
        // Load the nodes within the way.
        nodes = new ArrayList<Node>();
        for (WayNode wayNode : way.getWayNodes()) {
          try {
            nodes.add(getNode(wayNode.getNodeId()));
          } 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 " + wayNode.getNodeId() + "."
              );
            }
          }
        }
       
        // Determine if the way lies within the required bounding box.
        if (isWayInsideBox(bboxCtx.boundingBox, nodes)) {
          bboxCtx.wayIdTracker.set(wayId);
         
          // If we want complete ways, we need to check the list of nodes
          // adding any nodes that haven't already been selected (ie.
          // those that are outside the box).
          if (completeWays) {
            for (WayNode wayNode : way.getWayNodes()) {
              long nodeId;
             
              nodeId = wayNode.getNodeId();
             
              if (!bboxCtx.nodeIdTracker.get(nodeId)) {
View Full Code Here

    // already been selected (ie. those that are outside the box).
    // This is done outside the main loop so that ways are loaded
    // in ascending order which utilises index caching more effectively
    if (completeWays) {
      for (Long wayId : bboxCtx.wayIdTracker) {
        Way way;
       
        way = getWay(wayId);
       
        for (WayNode wayNode : way.getWayNodes()) {
          long externalNodeId;
         
          externalNodeId = wayNode.getNodeId();
         
          if (!bboxCtx.nodeIdTracker.get(externalNodeId)) {
View Full Code Here

    tags = new ArrayList<Tag>();
    taglessNode = new Node(new CommonEntityData(1102, 0, new Date(), user, 0, tags), 3, 4);
    taglessNodeContainer = new NodeContainer(taglessNode);

    tags = Arrays.asList(new Tag("highway", "motorway"), new Tag("Bkey", "Bvalue"));
    motorwayWay = new Way(new CommonEntityData(2201, 0, new Date(), user, 0, tags), new ArrayList<WayNode>());
    motorwayWayContainer = new WayContainer(motorwayWay);

    tags = Arrays.asList(new Tag("highway", "residential"), new Tag("Ckey", "Cvalue"));
    residentialWay =
      new Way(new CommonEntityData(2202, 0, new Date(), user, 0, tags), new ArrayList<WayNode>());
    residentialWayContainer = new WayContainer(residentialWay);

    tags = Arrays.asList(new Tag("Dkey", "Dvalue"));
    testRelation =
      new Relation(new CommonEntityData(3301, 0, new Date(), user, 0, tags), new ArrayList<RelationMember>());
View Full Code Here

TOP

Related Classes of crosby.binary.Osmformat$Way

Copyright © 2018 www.massapicom. 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.