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


Java Id.create方法代码示例

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


在下文中一共展示了Id.create方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1:

import org.matsim.api.core.v01.Id; //导入方法依赖的package包/类
/**
 * Constructor. All primitive attribute values of the transitRouteStop are stored
 * to make access easier during stop facility replacement.
 */
/*package*/ PseudoRouteStopImpl(int order, TransitRouteStop routeStop, LinkCandidate linkCandidate) {
	this.id = Id.create("[" + Integer.toString(order) + "]" + linkCandidate.toString(), PseudoRouteStop.class);
	this.linkId = linkCandidate.getLink().getId();

	// stop facility values
	this.coord = routeStop.getStopFacility().getCoord();
	this.parentStopFacilityId = routeStop.getStopFacility().getId();
	this.isBlockingLane = routeStop.getStopFacility().getIsBlockingLane();
	this.facilityName = routeStop.getStopFacility().getName();
	this.stopPostAreaId = routeStop.getStopFacility().getStopPostAreaId();

	// route stop values
	this.departureOffset = routeStop.getDepartureOffset();
	this.arrivalOffset = routeStop.getArrivalOffset();
	this.awaitDepartureTime = routeStop.isAwaitDepartureTime();

	// link value
	this.linkCandidate = linkCandidate;
}
 
开发者ID:matsim-org,项目名称:pt2matsim,代码行数:24,代码来源:PseudoRouteStopImpl.java

示例2: createStops

import org.matsim.api.core.v01.Id; //导入方法依赖的package包/类
private void createStops() throws IOException {
	log.info("  Read transit stops...");
		BufferedReader readsLines = new BufferedReader(new InputStreamReader(new FileInputStream(pathToBFKOORD_GEOFile), "latin1"));
		String newLine = readsLines.readLine();
		while (newLine != null) {
			/*
			1−7 INT32 Nummer der Haltestelle
			9−18 FLOAT X-Koordinate
			20−29 FLOAT Y-Koordinate
			31−36 INT16 Z-Koordinate (Tunnel und andere Streckenelemente ohne eigentliche Haltestelle haben keine Z-Koordinate)
			38ff CHAR Kommentarzeichen "%"gefolgt vom Klartext des Haltestellennamens (optional zur besseren Lesbarkeit)
			 */
			Id<TransitStopFacility> stopId = Id.create(newLine.substring(0, 7), TransitStopFacility.class);
			double xCoord = Double.parseDouble(newLine.substring(8, 18));
			double yCoord = Double.parseDouble(newLine.substring(19, 29));
			Coord coord = new Coord(xCoord, yCoord);
			if (this.transformation != null) {
				coord = this.transformation.transform(coord);
			}
			String stopName = newLine.substring(39, newLine.length());
			createStop(stopId, coord, stopName);
			newLine = readsLines.readLine();
		}
		readsLines.close();
	log.info("  Read transit stops... done.");
}
 
开发者ID:matsim-org,项目名称:pt2matsim,代码行数:27,代码来源:StopReader.java

示例3: PseudoRouteStopImpl

import org.matsim.api.core.v01.Id; //导入方法依赖的package包/类
/**
 * This constructor is only used to set dummy stops
 */
public PseudoRouteStopImpl(String id) {
	if(id.equals(PseudoGraphImpl.SOURCE)) {
		this.id = Id.create(PseudoGraphImpl.SOURCE, PseudoRouteStop.class);
		this.travelCostToSource = 0;
	} else {
		this.id = Id.create(PseudoGraphImpl.DESTINATION, PseudoRouteStop.class);
	}

	previous = null;

	this.linkId = null;

	// stop facility values
	this.coord = null;
	this.parentStopFacilityId = null;
	this.isBlockingLane = false;
	this.facilityName = null;
	this.stopPostAreaId = null;

	// route stop values
	this.departureOffset = 0.0;
	this.arrivalOffset = 0.0;
	this.awaitDepartureTime = false;

	// link value
	this.linkCandidate = null;
}
 
开发者ID:matsim-org,项目名称:pt2matsim,代码行数:31,代码来源:PseudoRouteStopImpl.java

示例4: createId

import org.matsim.api.core.v01.Id; //导入方法依赖的package包/类
static Id<PublicTransitStop> createId(TransitLine transitLine, TransitRoute transitRoute, TransitRouteStop transitRouteStop) {
	return Id.create("[line:" + transitLine.getId() +
			"][route:" + transitRoute.getId() +
			"][stop:" + transitRouteStop.getStopFacility().getId() +
			" arr:" + transitRouteStop.getArrivalOffset() +
			" dep:" + transitRouteStop.getDepartureOffset() + "]",
			PublicTransitStop.class);
}
 
开发者ID:matsim-org,项目名称:pt2matsim,代码行数:9,代码来源:PublicTransitStop.java

示例5: getTransitRouteStops

import org.matsim.api.core.v01.Id; //导入方法依赖的package包/类
/**
 * @return the transit route stops of this route. Static schedule needs to be set.
 */
public List<TransitRouteStop> getTransitRouteStops() {
	if(schedule == null) {
		throw new RuntimeException("Schedule and stopFacilities not yet defined for FPLANRoute!");
	}

	for(Object[] t : tmpStops) {
		Id<TransitStopFacility> stopFacilityId = Id.create((String) t[0], TransitStopFacility.class);
		int arrivalTime = (int) t[1];
		int departureTime = (int) t[2];

		double arrivalDelay = 0.0;
		if(arrivalTime > 0 && firstDepartureTime > 0) {
			arrivalDelay = arrivalTime + initialDelay - firstDepartureTime;
		}
		double departureDelay = 0.0;
		if(departureTime > 0 && firstDepartureTime > 0) {
			departureDelay = departureTime + initialDelay - firstDepartureTime;
		} else if(arrivalDelay > 0) {
			departureDelay = arrivalDelay + initialDelay;
		}

		TransitStopFacility stopFacility = schedule.getFacilities().get(stopFacilityId);
		TransitRouteStop routeStop = scheduleFactory.createTransitRouteStop(stopFacility, arrivalDelay, departureDelay);
		routeStop.setAwaitDepartureTime(true); // Only *T-Lines (currently not implemented) would have this as false...
		transitRouteStops.add(routeStop);
	}

	return transitRouteStops;
}
 
开发者ID:matsim-org,项目名称:pt2matsim,代码行数:33,代码来源:FPLANRoute.java

示例6: createLineId

import org.matsim.api.core.v01.Id; //导入方法依赖的package包/类
private static Id<TransitLine> createLineId(FPLANRoute route) {
	if(route.getOperator().equals("SBB")) {
		long firstStopId;
		long lastStopId;

		// possible S-Bahn number
		String sBahnNr = (route.getVehicleTypeId().toString().equals("S") && route.getRouteDescription() != null) ? route.getRouteDescription() : "";

		try {
			firstStopId = Long.parseLong(route.getFirstStopId());
			lastStopId = Long.parseLong(route.getLastStopId());
		} catch (NumberFormatException e) {
			firstStopId = 0;
			lastStopId = 1;
		}

		if(firstStopId < lastStopId) {
			return Id.create("SBB_" + route.getVehicleTypeId() + sBahnNr + "_" + route.getFirstStopId() + "-" + route.getLastStopId(), TransitLine.class);
		} else {
			return Id.create("SBB_" + route.getVehicleTypeId() + sBahnNr + "_" + route.getLastStopId() + "-" + route.getFirstStopId(), TransitLine.class);
		}
	}
	else if(route.getRouteDescription() == null) {
		return Id.create(route.getOperator(), TransitLine.class);
	} else {
		return Id.create(route.getOperator() + "_line" + route.getRouteDescription(), TransitLine.class);
	}
}
 
开发者ID:matsim-org,项目名称:pt2matsim,代码行数:29,代码来源:HafasConverter.java

示例7: createStopFacilityFromOsmNode

import org.matsim.api.core.v01.Id; //导入方法依赖的package包/类
/**
 * creates a TransitStopFacility from an Node
 *
 * @return the created facility
 */
private TransitStopFacility createStopFacilityFromOsmNode(Osm.Node node, String stopPostAreaId) {
	Id<TransitStopFacility> id = Id.create(node.getId(), TransitStopFacility.class);
	Coord coord = transformation.transform(node.getCoord());
	TransitStopFacility newStopFacility = factory.createTransitStopFacility(id, coord, false);
	newStopFacility.setName(node.getValue(Osm.Key.NAME));
	if(stopPostAreaId != null) {
		newStopFacility.setStopPostAreaId(stopPostAreaId);
	}
	return newStopFacility;
}
 
开发者ID:matsim-org,项目名称:pt2matsim,代码行数:16,代码来源:OsmTransitScheduleConverter.java

示例8: useCloserRefLinkForChildStopFacility

import org.matsim.api.core.v01.Id; //导入方法依赖的package包/类
/**
 * If a link of <tt>comparingLinks</tt> is closer to the stop facility than
 * its currently referenced link, the closest link is used.
 *
 * @return The id of the new closest link or <tt>null</tt> if the existing ref link
 * was used.
 */
private static Id<Link> useCloserRefLinkForChildStopFacility(TransitSchedule schedule, Network network, TransitRoute transitRoute, TransitStopFacility stopFacility, Collection<? extends Link> comparingLinks) {
	// check if previous link is closer to stop facility
	double minDist = CoordTools.distanceStopFacilityToLink(stopFacility, network.getLinks().get(stopFacility.getLinkId()));
	Link minLink = null;

	for(Link comparingLink : comparingLinks) {
		double distCompare = CoordTools.distanceStopFacilityToLink(stopFacility, comparingLink);
		if(distCompare < minDist) {
			minDist = distCompare;
			minLink = comparingLink;
		}
	}

	if(minLink != null) {
		TransitStopFacility newChildStopFacility;
		String[] split = stopFacility.getId().toString().split(suffixChildStopFacilitiesRegex);
		Id<TransitStopFacility> newChildStopFacilityId = Id.create(split[0] + suffixChildStopFacilities + minLink.getId(), TransitStopFacility.class);
		if(schedule.getFacilities().containsKey(newChildStopFacilityId)) {
			newChildStopFacility = schedule.getFacilities().get(newChildStopFacilityId);
		} else {
			newChildStopFacility = schedule.getFactory().createTransitStopFacility(newChildStopFacilityId, stopFacility.getCoord(), false);
			newChildStopFacility.setName(stopFacility.getName());
			newChildStopFacility.setStopPostAreaId(stopFacility.getStopPostAreaId());
			newChildStopFacility.setLinkId(minLink.getId());
			schedule.addStopFacility(newChildStopFacility);
		}
		transitRoute.getStop(stopFacility).setStopFacility(newChildStopFacility);
		return minLink.getId();
	} else {
		return null;
	}
}
 
开发者ID:matsim-org,项目名称:pt2matsim,代码行数:40,代码来源:PTMapperTools.java

示例9: integrateNetwork

import org.matsim.api.core.v01.Id; //导入方法依赖的package包/类
/**
 * Integrates <tt>network B</tt> into <tt>network A</tt>. Network
 * A contains all links and nodes of both networks
 * after integration.
 */
public static void integrateNetwork(final Network networkA, final Network networkB) {
	final NetworkFactory factory = networkA.getFactory();

	// Nodes
	for(Node node : networkB.getNodes().values()) {
		Id<Node> nodeId = Id.create(node.getId().toString(), Node.class);
		if(!networkA.getNodes().containsKey(nodeId)) {
			Node newNode = factory.createNode(nodeId, node.getCoord());
			networkA.addNode(newNode);
		}
	}

	// Links
	double capacityFactor = networkA.getCapacityPeriod() / networkB.getCapacityPeriod();
	for(Link link : networkB.getLinks().values()) {
		Id<Link> linkId = Id.create(link.getId().toString(), Link.class);
		if(!networkA.getLinks().containsKey(linkId)) {
			Id<Node> fromNodeId = Id.create(link.getFromNode().getId().toString(), Node.class);
			Id<Node> toNodeId = Id.create(link.getToNode().getId().toString(), Node.class);
			Link newLink = factory.createLink(linkId, networkA.getNodes().get(fromNodeId), networkA.getNodes().get(toNodeId));
			newLink.setAllowedModes(link.getAllowedModes());
			newLink.setCapacity(link.getCapacity() * capacityFactor);
			newLink.setFreespeed(link.getFreespeed());
			newLink.setLength(link.getLength());
			newLink.setNumberOfLanes(link.getNumberOfLanes());
			networkA.addLink(newLink);
		}
	}
}
 
开发者ID:matsim-org,项目名称:pt2matsim,代码行数:35,代码来源:NetworkTools.java

示例10: loadShapes

import org.matsim.api.core.v01.Id; //导入方法依赖的package包/类
/**
 * Loads shapes (if available) and puts them in {@link #shapes}. A shape is a sequence of points, i.e. a line.
 * <p/>
 * <br/><br/>
 * shapes.txt <i>[https://developers.google.com/transit/gtfs/reference]</i><br/>
 * Rules for drawing lines on a map to represent a transit organization's routes.
 */
private void loadShapes() {
	// shapes are optional
	log.info("Looking for shapes.txt");
	
	try {
		CSVReader reader = createCSVReader(root + GtfsDefinitions.Files.SHAPES.fileName);

		String[] header = reader.readNext();
		Map<String, Integer> col = getIndices(header, GtfsDefinitions.Files.SHAPES.columns, GtfsDefinitions.Files.SHAPES.optionalColumns);

		String[] line = reader.readNext();
		while(line != null) {
			usesShapes = true; // shape file might exists but could be empty

			Id<RouteShape> shapeId = Id.create(line[col.get(GtfsDefinitions.SHAPE_ID)], RouteShape.class);

			RouteShape currentShape = shapes.get(shapeId);
			if(currentShape == null) {
				currentShape = new GtfsShape(line[col.get(GtfsDefinitions.SHAPE_ID)]);
				shapes.put(shapeId, currentShape);
			}
			Coord point = new Coord(Double.parseDouble(line[col.get(GtfsDefinitions.SHAPE_PT_LON)]), Double.parseDouble(line[col.get(GtfsDefinitions.SHAPE_PT_LAT)]));
			currentShape.addPoint(point, Integer.parseInt(line[col.get(GtfsDefinitions.SHAPE_PT_SEQUENCE)]));
			line = reader.readNext();
		}
		reader.close();
		log.info("...     shapes.txt loaded");
	} catch (IOException e) {
		log.info("...     no shapes file found.");
	} catch (ArrayIndexOutOfBoundsException i) {
		throw new RuntimeException("Emtpy line found in shapes.txt");
	}
}
 
开发者ID:matsim-org,项目名称:pt2matsim,代码行数:41,代码来源:GtfsFeedImpl.java

示例11: createFacilitiesAndLinkSequences

import org.matsim.api.core.v01.Id; //导入方法依赖的package包/类
@Override
public void createFacilitiesAndLinkSequences(TransitSchedule schedule) {
	TransitScheduleFactory scheduleFactory = schedule.getFactory();

	for(PseudoTransitRoute pseudoTransitRoute : pseudoSchedule) {
		List<PseudoRouteStop> pseudoStopSequence = pseudoTransitRoute.getPseudoStops();
		List<TransitRouteStop> newStopSequence = new ArrayList<>();

		for(PseudoRouteStop pseudoStop : pseudoStopSequence) {
			String idStr = pseudoStop.getParentStopFacilityId() + PublicTransitMappingStrings.SUFFIX_CHILD_STOP_FACILITIES + pseudoStop.getLinkId();
			Id<TransitStopFacility> childStopFacilityId = Id.create(idStr, TransitStopFacility.class);

			// if child stop facility for this link has not yet been generated
			if(!schedule.getFacilities().containsKey(childStopFacilityId)) {
				TransitStopFacility newFacility = scheduleFactory.createTransitStopFacility(
						Id.create(childStopFacilityId, TransitStopFacility.class),
						pseudoStop.getCoord(),
						pseudoStop.isBlockingLane()
				);
				newFacility.setLinkId(pseudoStop.getLinkId());
				newFacility.setName(pseudoStop.getFacilityName());
				newFacility.setStopPostAreaId(pseudoStop.getStopPostAreaId());
				schedule.addStopFacility(newFacility);
			}

			// create new TransitRouteStop and add it to the newStopSequence
			TransitRouteStop newTransitRouteStop = scheduleFactory.createTransitRouteStop(
					schedule.getFacilities().get(childStopFacilityId),
					pseudoStop.getArrivalOffset(),
					pseudoStop.getDepartureOffset());
			newTransitRouteStop.setAwaitDepartureTime(pseudoStop.awaitsDepartureTime());
			newStopSequence.add(newTransitRouteStop);
		}

		// create a new transitRoute
		TransitRoute newTransitRoute = scheduleFactory.createTransitRoute(pseudoTransitRoute.getTransitRoute().getId(), null, newStopSequence, pseudoTransitRoute.getTransitRoute().getTransportMode());

		// add departures
		pseudoTransitRoute.getTransitRoute().getDepartures().values().forEach(newTransitRoute::addDeparture);

		// add link sequence
		List<Id<Link>> l = pseudoTransitRoute.getNetworkLinkIdList();
		newTransitRoute.setRoute(new LinkNetworkRouteImpl(l.get(0), l.subList(1, l.size() - 1), l.get(l.size() - 1)));

		// add description
		newTransitRoute.setDescription(pseudoTransitRoute.getTransitRoute().getDescription());

		// remove the old route
		schedule.getTransitLines().get(pseudoTransitRoute.getTransitLineId()).removeRoute(pseudoTransitRoute.getTransitRoute());

		// add new route to container
		schedule.getTransitLines().get(pseudoTransitRoute.getTransitLineId()).addRoute(newTransitRoute);
		//newRoutes.add(new Tuple<>(pseudoTransitRoute.getTransitLineId(), newRoute));
	}
}
 
开发者ID:matsim-org,项目名称:pt2matsim,代码行数:56,代码来源:PseudoScheduleImpl.java

示例12: createChildStopFacilityId

import org.matsim.api.core.v01.Id; //导入方法依赖的package包/类
/**
 * Creates a standard child facility id
 */
private Id<TransitStopFacility> createChildStopFacilityId(String stopIdStr, String refLinkId) {
	return Id.create(getParentId(stopIdStr) + SUFFIX + refLinkId, TransitStopFacility.class);
}
 
开发者ID:matsim-org,项目名称:pt2matsim,代码行数:7,代码来源:BasicScheduleEditor.java

示例13: AbstractPlausibilityWarning

import org.matsim.api.core.v01.Id; //导入方法依赖的package包/类
public AbstractPlausibilityWarning(Type type, TransitLine transitLine, TransitRoute transitRoute) {
	this.id = Id.create(idLong++, PlausibilityWarning.class);
	this.type = type;
	this.transitLine = transitLine;
	this.transitRoute = transitRoute;
}
 
开发者ID:matsim-org,项目名称:pt2matsim,代码行数:7,代码来源:AbstractPlausibilityWarning.java

示例14: createLineId

import org.matsim.api.core.v01.Id; //导入方法依赖的package包/类
private Id<TransitLine> createLineId(Osm.Relation relation) {
	return Id.create(createStringId(relation), TransitLine.class);
}
 
开发者ID:matsim-org,项目名称:pt2matsim,代码行数:4,代码来源:OsmTransitScheduleConverter.java

示例15: Relation

import org.matsim.api.core.v01.Id; //导入方法依赖的package包/类
public Relation(long id, Map<String, String> tags) {
	this.id = Id.create(id, Osm.Relation.class);
	this.tags = tags;
}
 
开发者ID:matsim-org,项目名称:pt2matsim,代码行数:5,代码来源:OsmElement.java


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