org.matsim.api.core.v01.network.Node类的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(7.4k)|赞(0)|评价(0)|浏览(160)

本文整理了Java中org.matsim.api.core.v01.network.Node类的一些代码示例,展示了Node类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Node类的具体详情如下:
包路径:org.matsim.api.core.v01.network.Node
类名称: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

  1. @Override
  2. public Coord getCoord() {
  3. return node.getCoord();
  4. }

代码示例来源:origin: matsim-org/matsim

  1. private SimpleFeature getFeature(Node node) {
  2. Point p = MGC.coord2Point(node.getCoord());
  3. try {
  4. return this.builder.buildFeature(null, new Object[]{p,node.getId().toString()});
  5. } catch (IllegalArgumentException e) {
  6. throw new RuntimeException(e);
  7. }
  8. }

代码示例来源:origin: matsim-org/matsim

  1. @Override
  2. public Node removeNode(final Id<Node> nodeId) {
  3. Node n = this.nodes.remove(nodeId);
  4. if (n == null) {
  5. return null;
  6. }
  7. HashSet<Link> links1 = new HashSet<>();
  8. links1.addAll(n.getInLinks().values());
  9. links1.addAll(n.getOutLinks().values());
  10. for (Link l : links1) {
  11. removeLink(l.getId());
  12. }
  13. if (this.nodeQuadTree != null) {
  14. this.nodeQuadTree.remove(n.getCoord().getX(),n.getCoord().getY(),n);
  15. }
  16. return n;
  17. }

代码示例来源:origin: matsim-org/matsim

  1. public static Map<Id<Link>, ? extends Link> getIncidentLinks(Node node) {
  2. Map<Id<Link>, Link> links = new TreeMap<>(node.getInLinks());
  3. links.putAll(node.getOutLinks());
  4. return links;
  5. }

代码示例来源:origin: matsim-org/matsim

  1. public static Map<Id<Node>, ? extends Node> getInNodes(Node node) {
  2. Map<Id<Node>, Node> nodes = new TreeMap<>();
  3. for (Link link : node.getInLinks().values()) {
  4. Node inNode = link.getFromNode();
  5. nodes.put(inNode.getId(), inNode);
  6. }
  7. return nodes;
  8. }

代码示例来源:origin: matsim-org/matsim

  1. public static Map<Id<Node>, ? extends Node> getOutNodes(Node node) {
  2. Map<Id<Node>, Node> nodes = new TreeMap<>();
  3. for (Link link : node.getOutLinks().values()) {
  4. Node outNode = link.getToNode();
  5. nodes.put(outNode.getId(), outNode);
  6. }
  7. return nodes;
  8. }

代码示例来源:origin: matsim-org/matsim

  1. /**
  2. * Removes nodes from the network that have no incoming or outgoing links attached to them.
  3. */
  4. public void removeNodesWithoutLinks() {
  5. List<Node> toBeRemoved = new ArrayList<>();
  6. for (Node node : this.network.getNodes().values()) {
  7. if ((node.getInLinks().size() == 0) && (node.getOutLinks().size() == 0)) {
  8. toBeRemoved.add(node);
  9. }
  10. }
  11. for (Node node : toBeRemoved) {
  12. this.network.removeNode(node.getId());
  13. }
  14. }

代码示例来源:origin: matsim-org/matsim

  1. @Override
  2. public String toString() {
  3. if (node == null) {
  4. return "[id=" + " null " + "]" +
  5. "[initialCost=" + this.initialCost + "]" +
  6. "[initialTime=" + this.initialTime + "]";
  7. } else {
  8. return "[id=" + this.node.getId() + "]" +
  9. "[initialCost=" + this.initialCost + "]" +
  10. "[initialTime=" + this.initialTime + "]";
  11. }
  12. }
  13. }

代码示例来源:origin: matsim-org/matsim

  1. @Override
  2. public void run(final Network network) {
  3. for (Node n : network.getNodes().values()) {
  4. Coord coord = n.getCoord();
  5. Coord new_coord = transformer.transform(coord);
  6. // coord.setXY(new_coord.getX(), new_coord.getY());
  7. n.setCoord(new_coord);
  8. }
  9. }
  10. }

代码示例来源:origin: matsim-org/matsim

  1. public static Link getConnectingLink(final Node fromNode, final Node toNode) {
  2. for (Link link : fromNode.getOutLinks().values()) {
  3. if (link.getToNode() == toNode) {
  4. return link;
  5. }
  6. }
  7. return null;
  8. }

代码示例来源:origin: matsim-org/matsim

  1. Node from = l.getFromNode();
  2. Node to = l.getToNode();
  3. Coord cFrom = from.getCoord();
  4. Coord cTo = to.getCoord();
  5. double xTo = cTo.getX();
  6. double yTo = cTo.getY();
  7. double thetaL = Math.atan2(yTo - cFrom.getY(), xTo - cFrom.getX());
  8. Collection<? extends Link> outLinks = to.getOutLinks().values();
  9. absDeltaThetas.clear();
  10. if (outLinks.size() > 1) {
  11. Coord cOut = out.getToNode().getCoord();
  12. double deltaTheta = Math.atan2(cOut.getY() - yTo, cOut.getX() - xTo) - thetaL;
  13. while (deltaTheta < -Math.PI) {

代码示例来源:origin: matsim-org/matsim

  1. /**
  2. * Loads the inLinks-array with the corresponding links.
  3. * Cannot be called in constructor, as the queueNetwork does not yet know
  4. * the queueLinks. Should be called by QueueNetwork, after creating all
  5. * QueueNodes and QueueLinks.
  6. */
  7. @Override
  8. public void init() {
  9. int i = 0;
  10. for (Link l : this.node.getInLinks().values()) {
  11. QNetwork network = netsimEngine.getNetsimNetwork() ;
  12. this.inLinksArrayCache[i] = network.getNetsimLinks().get(l.getId());
  13. i++;
  14. }
  15. /* As the order of links has an influence on the simulation results,
  16. * the nodes are sorted to avoid indeterministic simulations. dg[april08]
  17. */
  18. Arrays.sort(this.inLinksArrayCache, new Comparator<NetsimLink>() {
  19. @Override
  20. public int compare(NetsimLink o1, NetsimLink o2) {
  21. return o1.getLink().getId().compareTo(o2.getLink().getId());
  22. }
  23. });
  24. }

代码示例来源:origin: matsim-org/matsim

  1. @Override
  2. public Node createNode(final Id<Node> id, final Coord coord) {
  3. Node node = NetworkUtils.createNode(id);
  4. node.setCoord(coord) ;
  5. return node ;
  6. }

代码示例来源:origin: matsim-org/matsim

  1. private int getNOfIncidentNodes(final Node node) {
  2. HashMap<Id<Node>, Node> nodes = new HashMap<>();
  3. for (Link link : node.getInLinks().values()) {
  4. nodes.put(link.getFromNode().getId(), link.getFromNode());
  5. }
  6. for (Link link : node.getOutLinks().values()) {
  7. nodes.put(link.getToNode().getId(), link.getToNode());
  8. }
  9. return nodes.size();
  10. }
  11. }

代码示例来源:origin: matsim-org/matsim

  1. @Override
  2. public Id<Node> getId() {
  3. return node.getId();
  4. }

代码示例来源:origin: matsim-org/matsim

  1. @Override
  2. public void run(Network network) {
  3. for (Node n : network.getNodes().values()) {
  4. Iterator<? extends Link> l1_it = n.getOutLinks().values().iterator();
  5. while (l1_it.hasNext()) {
  6. Link l1 = l1_it.next();
  7. Iterator<? extends Link> l2_it = n.getOutLinks().values().iterator();
  8. while (l2_it.hasNext()) {
  9. Link l2 = l2_it.next();
  10. if (!l2.equals(l1)) {
  11. if (l2.getToNode().equals(l1.getToNode())) {
  12. if (logInfoLevel.equals(LogInfoLevel.MAXIMUM)) {
  13. log.info(" Node id=" + n.getId());
  14. }
  15. this.mergeLink2IntoLink1(l1, l2, network);
  16. // restart
  17. l1_it = n.getOutLinks().values().iterator();
  18. l2_it = n.getOutLinks().values().iterator();
  19. }
  20. }
  21. }
  22. }
  23. }
  24. }
  25. }

代码示例来源:origin: matsim-org/matsim

  1. @Override
  2. protected void setOrModifyNodeAttributes(Node n, OsmNode node) {
  3. if (this.elevationDataParser==null) return;
  4. Coord coord = n.getCoord();
  5. double elevation = elevationDataParser.getElevation(n.getCoord());
  6. Coord elevationCoord = CoordUtils.createCoord(coord.getX(), coord.getY(), elevation);
  7. n.setCoord(elevationCoord);
  8. }

代码示例来源:origin: matsim-org/matsim

  1. List<TurnInfo> turnInfosForInLink = null;
  2. for (Node node : scenario.getNetwork().getNodes().values()) {
  3. for (Link inLink : node.getInLinks().values()) {
  4. turnInfosForInLink = inLinkTurnInfoMap.get(inLink.getId());
  5. if (turnInfosForInLink == null) {
  6. for (Link outLink : node.getOutLinks().values()) {
  7. if (! inLink.getAllowedModes().isEmpty() && ! outLink.getAllowedModes().isEmpty()) {
  8. if (inLink.getAllowedModes().contains(mode) && outLink.getAllowedModes().contains(mode)) {

代码示例来源:origin: matsim-org/matsim

  1. RoutingNetworkNode routingNode = createRoutingNetworkNode(node, node.getInLinks().size());
  2. routingNetwork.addNode(routingNode);
  3. RoutingNetworkNode fromNode = routingNetwork.getNodes().get(link.getToNode().getId());
  4. RoutingNetworkNode toNode = routingNetwork.getNodes().get(link.getFromNode().getId());
  5. RoutingNetworkLink[] outLinks = new RoutingNetworkLink[node.getInLinks().size()];
  6. for (Link inLink : node.getInLinks().values()) {
  7. outLinks[i] = routingLinks.remove(inLink.getId());
  8. i++;
  9. RoutingNetworkNode dijkstraNode = routingNetwork.getNodes().get(node.getId());
  10. dijkstraNode.setOutLinksArray(outLinks);

代码示例来源:origin: matsim-org/matsim

  1. private static Link findLink(Node prevNode, Node node) {
  2. for (Link link : prevNode.getOutLinks().values()) {
  3. if (link.getToNode().equals(node)) {
  4. return link;
  5. }
  6. }
  7. return null;
  8. }

相关文章