本文整理了Java中org.matsim.api.core.v01.network.Node
类的一些代码示例,展示了Node
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Node
类的具体详情如下:
包路径:org.matsim.api.core.v01.network.Node
类名称:Node
[英]A topological representation of an network node. This interface deliberately does NOT have a back pointer ... ... since, at this level, one should be able to get the relevant container from the context. (This becomes clear if you think about a nodeId/linkId given by person.)
[中]网络节点的拓扑表示。这个接口故意没有一个反向指针。。。因为,在这个级别上,应该能够从上下文中获取相关的容器。(如果您想到person提供的nodeId/linkId,这一点就很清楚了。)
代码示例来源:origin: matsim-org/matsim
@Override
public Coord getCoord() {
return node.getCoord();
}
代码示例来源:origin: matsim-org/matsim
private SimpleFeature getFeature(Node node) {
Point p = MGC.coord2Point(node.getCoord());
try {
return this.builder.buildFeature(null, new Object[]{p,node.getId().toString()});
} catch (IllegalArgumentException e) {
throw new RuntimeException(e);
}
}
代码示例来源:origin: matsim-org/matsim
@Override
public Node removeNode(final Id<Node> nodeId) {
Node n = this.nodes.remove(nodeId);
if (n == null) {
return null;
}
HashSet<Link> links1 = new HashSet<>();
links1.addAll(n.getInLinks().values());
links1.addAll(n.getOutLinks().values());
for (Link l : links1) {
removeLink(l.getId());
}
if (this.nodeQuadTree != null) {
this.nodeQuadTree.remove(n.getCoord().getX(),n.getCoord().getY(),n);
}
return n;
}
代码示例来源:origin: matsim-org/matsim
public static Map<Id<Link>, ? extends Link> getIncidentLinks(Node node) {
Map<Id<Link>, Link> links = new TreeMap<>(node.getInLinks());
links.putAll(node.getOutLinks());
return links;
}
代码示例来源:origin: matsim-org/matsim
public static Map<Id<Node>, ? extends Node> getInNodes(Node node) {
Map<Id<Node>, Node> nodes = new TreeMap<>();
for (Link link : node.getInLinks().values()) {
Node inNode = link.getFromNode();
nodes.put(inNode.getId(), inNode);
}
return nodes;
}
代码示例来源:origin: matsim-org/matsim
public static Map<Id<Node>, ? extends Node> getOutNodes(Node node) {
Map<Id<Node>, Node> nodes = new TreeMap<>();
for (Link link : node.getOutLinks().values()) {
Node outNode = link.getToNode();
nodes.put(outNode.getId(), outNode);
}
return nodes;
}
代码示例来源:origin: matsim-org/matsim
/**
* Removes nodes from the network that have no incoming or outgoing links attached to them.
*/
public void removeNodesWithoutLinks() {
List<Node> toBeRemoved = new ArrayList<>();
for (Node node : this.network.getNodes().values()) {
if ((node.getInLinks().size() == 0) && (node.getOutLinks().size() == 0)) {
toBeRemoved.add(node);
}
}
for (Node node : toBeRemoved) {
this.network.removeNode(node.getId());
}
}
代码示例来源:origin: matsim-org/matsim
@Override
public String toString() {
if (node == null) {
return "[id=" + " null " + "]" +
"[initialCost=" + this.initialCost + "]" +
"[initialTime=" + this.initialTime + "]";
} else {
return "[id=" + this.node.getId() + "]" +
"[initialCost=" + this.initialCost + "]" +
"[initialTime=" + this.initialTime + "]";
}
}
}
代码示例来源:origin: matsim-org/matsim
@Override
public void run(final Network network) {
for (Node n : network.getNodes().values()) {
Coord coord = n.getCoord();
Coord new_coord = transformer.transform(coord);
// coord.setXY(new_coord.getX(), new_coord.getY());
n.setCoord(new_coord);
}
}
}
代码示例来源:origin: matsim-org/matsim
public static Link getConnectingLink(final Node fromNode, final Node toNode) {
for (Link link : fromNode.getOutLinks().values()) {
if (link.getToNode() == toNode) {
return link;
}
}
return null;
}
代码示例来源:origin: matsim-org/matsim
Node from = l.getFromNode();
Node to = l.getToNode();
Coord cFrom = from.getCoord();
Coord cTo = to.getCoord();
double xTo = cTo.getX();
double yTo = cTo.getY();
double thetaL = Math.atan2(yTo - cFrom.getY(), xTo - cFrom.getX());
Collection<? extends Link> outLinks = to.getOutLinks().values();
absDeltaThetas.clear();
if (outLinks.size() > 1) {
Coord cOut = out.getToNode().getCoord();
double deltaTheta = Math.atan2(cOut.getY() - yTo, cOut.getX() - xTo) - thetaL;
while (deltaTheta < -Math.PI) {
代码示例来源:origin: matsim-org/matsim
/**
* Loads the inLinks-array with the corresponding links.
* Cannot be called in constructor, as the queueNetwork does not yet know
* the queueLinks. Should be called by QueueNetwork, after creating all
* QueueNodes and QueueLinks.
*/
@Override
public void init() {
int i = 0;
for (Link l : this.node.getInLinks().values()) {
QNetwork network = netsimEngine.getNetsimNetwork() ;
this.inLinksArrayCache[i] = network.getNetsimLinks().get(l.getId());
i++;
}
/* As the order of links has an influence on the simulation results,
* the nodes are sorted to avoid indeterministic simulations. dg[april08]
*/
Arrays.sort(this.inLinksArrayCache, new Comparator<NetsimLink>() {
@Override
public int compare(NetsimLink o1, NetsimLink o2) {
return o1.getLink().getId().compareTo(o2.getLink().getId());
}
});
}
代码示例来源:origin: matsim-org/matsim
@Override
public Node createNode(final Id<Node> id, final Coord coord) {
Node node = NetworkUtils.createNode(id);
node.setCoord(coord) ;
return node ;
}
代码示例来源:origin: matsim-org/matsim
private int getNOfIncidentNodes(final Node node) {
HashMap<Id<Node>, Node> nodes = new HashMap<>();
for (Link link : node.getInLinks().values()) {
nodes.put(link.getFromNode().getId(), link.getFromNode());
}
for (Link link : node.getOutLinks().values()) {
nodes.put(link.getToNode().getId(), link.getToNode());
}
return nodes.size();
}
}
代码示例来源:origin: matsim-org/matsim
@Override
public Id<Node> getId() {
return node.getId();
}
代码示例来源:origin: matsim-org/matsim
@Override
public void run(Network network) {
for (Node n : network.getNodes().values()) {
Iterator<? extends Link> l1_it = n.getOutLinks().values().iterator();
while (l1_it.hasNext()) {
Link l1 = l1_it.next();
Iterator<? extends Link> l2_it = n.getOutLinks().values().iterator();
while (l2_it.hasNext()) {
Link l2 = l2_it.next();
if (!l2.equals(l1)) {
if (l2.getToNode().equals(l1.getToNode())) {
if (logInfoLevel.equals(LogInfoLevel.MAXIMUM)) {
log.info(" Node id=" + n.getId());
}
this.mergeLink2IntoLink1(l1, l2, network);
// restart
l1_it = n.getOutLinks().values().iterator();
l2_it = n.getOutLinks().values().iterator();
}
}
}
}
}
}
}
代码示例来源:origin: matsim-org/matsim
@Override
protected void setOrModifyNodeAttributes(Node n, OsmNode node) {
if (this.elevationDataParser==null) return;
Coord coord = n.getCoord();
double elevation = elevationDataParser.getElevation(n.getCoord());
Coord elevationCoord = CoordUtils.createCoord(coord.getX(), coord.getY(), elevation);
n.setCoord(elevationCoord);
}
代码示例来源:origin: matsim-org/matsim
List<TurnInfo> turnInfosForInLink = null;
for (Node node : scenario.getNetwork().getNodes().values()) {
for (Link inLink : node.getInLinks().values()) {
turnInfosForInLink = inLinkTurnInfoMap.get(inLink.getId());
if (turnInfosForInLink == null) {
for (Link outLink : node.getOutLinks().values()) {
if (! inLink.getAllowedModes().isEmpty() && ! outLink.getAllowedModes().isEmpty()) {
if (inLink.getAllowedModes().contains(mode) && outLink.getAllowedModes().contains(mode)) {
代码示例来源:origin: matsim-org/matsim
RoutingNetworkNode routingNode = createRoutingNetworkNode(node, node.getInLinks().size());
routingNetwork.addNode(routingNode);
RoutingNetworkNode fromNode = routingNetwork.getNodes().get(link.getToNode().getId());
RoutingNetworkNode toNode = routingNetwork.getNodes().get(link.getFromNode().getId());
RoutingNetworkLink[] outLinks = new RoutingNetworkLink[node.getInLinks().size()];
for (Link inLink : node.getInLinks().values()) {
outLinks[i] = routingLinks.remove(inLink.getId());
i++;
RoutingNetworkNode dijkstraNode = routingNetwork.getNodes().get(node.getId());
dijkstraNode.setOutLinksArray(outLinks);
代码示例来源:origin: matsim-org/matsim
private static Link findLink(Node prevNode, Node node) {
for (Link link : prevNode.getOutLinks().values()) {
if (link.getToNode().equals(node)) {
return link;
}
}
return null;
}
内容来源于网络,如有侵权,请联系作者删除!