Package org.onebusaway.geospatial.model

Examples of org.onebusaway.geospatial.model.CoordinatePoint


  }

  public static ProjectedPoint reverse(double x, double y, int srid) {
    UTMProjection projection = new UTMProjection(srid);
    XYPoint p = new XYPoint(x, y);
    CoordinatePoint latlon = projection.reverse(p);
    return new ProjectedPoint(latlon.getLat(), latlon.getLon(), x, y, srid);
  }
View Full Code Here


      TPState pathState = tpV.getPathState();
      TransferNode node = pathState.getNode();

      boolean isFromSourceStop = tpV.isDeparture() ^ pathState.isReverse();

      CoordinatePoint dest = new CoordinatePoint(target.getY(), target.getX());
      Set<TransferNode> visitedNodes = new HashSet<TransferNode>();
      return getWeightForTransferNode(null, node, isFromSourceStop, dest,
          visitedNodes);
    }
View Full Code Here

        }
      }
      Collection<HubNode> hubs = node.getHubs();
      for (HubNode hubNode : hubs) {
        StopEntry hubStop = hubNode.getHubStop();
        CoordinatePoint hubLocation = hubStop.getStopLocation();
        double transferWeight = computeTransferWeight(
            node.getToStop().getStopLocation(), hubLocation);
        double transitWeight = computeTransitWeight(hubLocation, target);
        double subWeight = transferWeight + transitWeight;
        minOption = Math.min(subWeight, minOption);
View Full Code Here

      for (PointAndIndex pindex : assignments)
        m.add(pindex.distanceFromTarget, pindex);
      if (m.getMinValue() > _maxDistanceFromStopToShapePoint) {
        StopTimeEntry stopTime = stopTimes.get(stIndex);
        PointAndIndex pindex = m.getMinElement();
        CoordinatePoint point = shapePoints.getPointForIndex(pindex.index);
        throw new StopIsTooFarFromShapeException(stopTime, pindex, point);
      }
      stIndex++;
    }
  }
View Full Code Here

  }

  public CoordinatePoint getLocation() {
    if (!isLocationSet())
      return null;
    return new CoordinatePoint(locationLat, locationLon);
  }
View Full Code Here

  public void setShapeId(AgencyAndId shapeId) {
    _shapeId = shapeId;
  }

  public void addPoint(double lat, double lon) {
    CoordinatePoint point = new CoordinatePoint(lat, lon);
    _points.add(point);
  }
View Full Code Here

    double[] lats = new double[_points.size()];
    double[] lons = new double[_points.size()];
    double[] distances = new double[_points.size()];
    for (int i = 0; i < _points.size(); i++) {
      CoordinatePoint p = _points.get(i);
      lats[i] = p.getLat();
      lons[i] = p.getLon();
    }
    shapePoints.setLats(lats);
    shapePoints.setLons(lons);
    shapePoints.setDistTraveled(distances);
    shapePoints.ensureDistTraveled();
View Full Code Here

    BlockInstance blockInstance = new BlockInstance(blockConfig,
        System.currentTimeMillis());

    SortedMap<Long, BlockLocationRecord> records = new TreeMap<Long, BlockLocationRecord>();

    CoordinatePoint p1 = new CoordinatePoint(47.0, -122.0);
    CoordinatePoint p2 = new CoordinatePoint(47.1, -122.1);
    CoordinatePoint p3 = new CoordinatePoint(47.2, -122.2);

    EVehiclePhase inProgress = EVehiclePhase.IN_PROGRESS;
    EVehiclePhase layover = EVehiclePhase.LAYOVER_DURING;

    addRecord(records, record(t(4, 10), 10.0, 100.0, p1, 0.0, inProgress, "ok"));
    addRecord(records,
        record(t(8, 20), 18.0, 200.0, p2, 90.0, layover, "not ok"));
    addRecord(records,
        record(t(12, 30), 15.0, 300.0, p3, 45.0, inProgress, "ok"));

    BlockLocationRecordCollection entry = new BlockLocationRecordCollection(t(
        3, 20), t(13, 20), records);

    assertEquals(t(3, 20), entry.getFromTime());
    assertEquals(t(13, 20), entry.getToTime());

    assertEquals(10, entry.getScheduleDeviationForTargetTime(t(3, 20)), 0.0);
    assertEquals(10, entry.getScheduleDeviationForTargetTime(t(4, 10)), 0.0);
    assertEquals(12, entry.getScheduleDeviationForTargetTime(t(5, 12)), 0.0);
    assertEquals(14, entry.getScheduleDeviationForTargetTime(t(6, 15)), 0.0);
    assertEquals(16, entry.getScheduleDeviationForTargetTime(t(7, 18)), 0.0);
    assertEquals(18, entry.getScheduleDeviationForTargetTime(t(8, 20)), 0.0);
    assertEquals(17, entry.getScheduleDeviationForTargetTime(t(10, 0)), 0.0);
    assertEquals(15, entry.getScheduleDeviationForTargetTime(t(12, 30)), 0.0);
    assertEquals(15, entry.getScheduleDeviationForTargetTime(t(13, 20)), 0.0);

    assertEquals(80, entry.getDistanceAlongBlockForTargetTime(t(3, 20)), 0.0);
    assertEquals(100, entry.getDistanceAlongBlockForTargetTime(t(4, 10)), 0.0);
    assertEquals(124.8, entry.getDistanceAlongBlockForTargetTime(t(5, 12)), 0.0);
    assertEquals(150, entry.getDistanceAlongBlockForTargetTime(t(6, 15)), 0.0);
    assertEquals(175.2, entry.getDistanceAlongBlockForTargetTime(t(7, 18)), 0.0);
    assertEquals(200, entry.getDistanceAlongBlockForTargetTime(t(8, 20)), 0.0);
    assertEquals(240, entry.getDistanceAlongBlockForTargetTime(t(10, 0)), 0.0);
    assertEquals(300, entry.getDistanceAlongBlockForTargetTime(t(12, 30)), 0.0);
    assertEquals(320, entry.getDistanceAlongBlockForTargetTime(t(13, 20)), 0.0);

    assertNull(entry.getLastLocationForTargetTime(t(3, 20)));
    assertNull(entry.getLastLocationForTargetTime(t(4, 9)));
    assertEquals(p1, entry.getLastLocationForTargetTime(t(4, 10)));
    assertEquals(p1, entry.getLastLocationForTargetTime(t(5, 12)));
    assertEquals(p1, entry.getLastLocationForTargetTime(t(8, 19)));
    assertEquals(p2, entry.getLastLocationForTargetTime(t(8, 20)));
    assertEquals(p2, entry.getLastLocationForTargetTime(t(10, 0)));
    assertEquals(p2, entry.getLastLocationForTargetTime(t(12, 29)));
    assertEquals(p3, entry.getLastLocationForTargetTime(t(12, 30)));
    assertEquals(p3, entry.getLastLocationForTargetTime(t(16, 40)));

    assertTrue(Double.isNaN(entry.getLastOrientationForTargetTime(t(3, 20))));
    assertTrue(Double.isNaN(entry.getLastOrientationForTargetTime(t(4, 9))));
    assertEquals(0.0, entry.getLastOrientationForTargetTime(t(4, 10)), 0.0);
    assertEquals(0.0, entry.getLastOrientationForTargetTime(t(5, 12)), 0.0);
    assertEquals(0.0, entry.getLastOrientationForTargetTime(t(8, 19)), 0.0);
    assertEquals(90.0, entry.getLastOrientationForTargetTime(t(8, 20)), 0.0);
    assertEquals(90.0, entry.getLastOrientationForTargetTime(t(10, 0)), 0.0);
    assertEquals(90.0, entry.getLastOrientationForTargetTime(t(12, 29)), 0.0);
    assertEquals(45.0, entry.getLastOrientationForTargetTime(t(12, 30)), 0.0);
    assertEquals(45.0, entry.getLastOrientationForTargetTime(t(16, 40)), 0.0);

    assertNull(entry.getPhaseForTargetTime(t(3, 20)));
    assertNull(entry.getPhaseForTargetTime(t(4, 9)));
    assertEquals(inProgress, entry.getPhaseForTargetTime(t(4, 10)));
    assertEquals(inProgress, entry.getPhaseForTargetTime(t(5, 12)));
    assertEquals(inProgress, entry.getPhaseForTargetTime(t(8, 19)));
    assertEquals(layover, entry.getPhaseForTargetTime(t(8, 20)));
    assertEquals(layover, entry.getPhaseForTargetTime(t(10, 0)));
    assertEquals(layover, entry.getPhaseForTargetTime(t(12, 29)));
    assertEquals(inProgress, entry.getPhaseForTargetTime(t(12, 30)));
    assertEquals(inProgress, entry.getPhaseForTargetTime(t(16, 40)));

    assertNull(entry.getStatusForTargetTime(t(3, 20)));
    assertNull(entry.getStatusForTargetTime(t(4, 9)));
    assertEquals("ok", entry.getStatusForTargetTime(t(4, 10)));
    assertEquals("ok", entry.getStatusForTargetTime(t(5, 12)));
    assertEquals("ok", entry.getStatusForTargetTime(t(8, 19)));
    assertEquals("not ok", entry.getStatusForTargetTime(t(8, 20)));
    assertEquals("not ok", entry.getStatusForTargetTime(t(10, 0)));
    assertEquals("not ok", entry.getStatusForTargetTime(t(12, 29)));
    assertEquals("ok", entry.getStatusForTargetTime(t(12, 30)));
    assertEquals("ok", entry.getStatusForTargetTime(t(16, 40)));

    CoordinatePoint p4 = new CoordinatePoint(47.15, -122.15);
    entry = entry.addRecord(blockInstance,
        record(t(10, 0), 20, 220, p4, 270.0, layover, "not ok"), t(5, 0));

    assertEquals(t(6, 40), entry.getFromTime());
    assertEquals(t(11, 40), entry.getToTime());

    assertEquals(18, entry.getScheduleDeviationForTargetTime(t(6, 40)), 0.0);
    assertEquals(18, entry.getScheduleDeviationForTargetTime(t(8, 20)), 0.0);
    assertEquals(19, entry.getScheduleDeviationForTargetTime(t(9, 10)), 0.0);
    assertEquals(20, entry.getScheduleDeviationForTargetTime(t(10, 00)), 0.0);
    assertEquals(20, entry.getScheduleDeviationForTargetTime(t(10, 50)), 0.0);
    assertEquals(20, entry.getScheduleDeviationForTargetTime(t(11, 40)), 0.0);

    assertEquals(180, entry.getDistanceAlongBlockForTargetTime(t(6, 40)), 0.0);
    assertEquals(200, entry.getDistanceAlongBlockForTargetTime(t(8, 20)), 0.0);
    assertEquals(210, entry.getDistanceAlongBlockForTargetTime(t(9, 10)), 0.0);
    assertEquals(220, entry.getDistanceAlongBlockForTargetTime(t(10, 00)), 0.0);
    assertEquals(230, entry.getDistanceAlongBlockForTargetTime(t(10, 50)), 0.0);
    assertEquals(240, entry.getDistanceAlongBlockForTargetTime(t(11, 40)), 0.0);

    assertNull(entry.getLastLocationForTargetTime(t(6, 40)));
    assertEquals(p2, entry.getLastLocationForTargetTime(t(8, 20)));
    assertEquals(p2, entry.getLastLocationForTargetTime(t(9, 10)));
    assertEquals(p4, entry.getLastLocationForTargetTime(t(10, 00)));
    assertEquals(p4, entry.getLastLocationForTargetTime(t(10, 50)));

    assertTrue(Double.isNaN(entry.getLastOrientationForTargetTime(t(6, 40))));
    assertEquals(90.0, entry.getLastOrientationForTargetTime(t(8, 20)), 0.0);
    assertEquals(90.0, entry.getLastOrientationForTargetTime(t(9, 10)), 0.0);
    assertEquals(270.0, entry.getLastOrientationForTargetTime(t(10, 00)), 0.0);
    assertEquals(270.0, entry.getLastOrientationForTargetTime(t(10, 50)), 0.0);

    assertNull(entry.getPhaseForTargetTime(t(6, 40)));
    assertEquals(layover, entry.getPhaseForTargetTime(t(8, 20)));
    assertEquals(layover, entry.getPhaseForTargetTime(t(9, 10)));
    assertEquals(layover, entry.getPhaseForTargetTime(t(10, 00)));
    assertEquals(layover, entry.getPhaseForTargetTime(t(10, 50)));

    assertNull(entry.getStatusForTargetTime(t(6, 40)));
    assertEquals("not ok", entry.getStatusForTargetTime(t(8, 20)));
    assertEquals("not ok", entry.getStatusForTargetTime(t(9, 10)));
    assertEquals("not ok", entry.getStatusForTargetTime(t(10, 00)));
    assertEquals("not ok", entry.getStatusForTargetTime(t(10, 50)));

    CoordinatePoint p5 = new CoordinatePoint(47.4, -122.4);
    entry = entry.addRecord(blockInstance,
        record(t(16, 40), 14, 500, p5, 180.0, inProgress, "ok"), t(6, 40));

    assertEquals(t(10, 00), entry.getFromTime());
    assertEquals(t(16, 40), entry.getToTime());
View Full Code Here

    ScheduledBlockLocation p = new ScheduledBlockLocation();
    p.setActiveTrip(blockConfig.getTrips().get(0));
    p.setClosestStop(blockConfig.getStopTimes().get(0));
    p.setClosestStopTimeOffset(0);
    p.setDistanceAlongBlock(0);
    p.setLocation(new CoordinatePoint(stopA.getStopLat(), stopA.getStopLon()));
    p.setInService(true);

    Mockito.when(
        _blockLocationService.getScheduledBlockLocationFromScheduledTime(
            blockConfig, 1800)).thenReturn(p);
View Full Code Here

      }

      double[] lats = shapePoints.getLats();
      double[] lons = shapePoints.getLons();

      CoordinatePoint prev = null;

      for (int i = 0; i < shapePoints.getSize(); i++) {

        CoordinatePoint loc = new CoordinatePoint(lats[i], lons[i]);
        if (prev != null && !prev.equals(loc)) {
          Edge edge = new Edge(prev, loc);
          if (!edges.add(edge)) {
            if (currentLine.size() > 1)
              polylines.add(PolylineEncoder.createEncodings(currentLine));
View Full Code Here

TOP

Related Classes of org.onebusaway.geospatial.model.CoordinatePoint

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.