本文整理了Java中org.matsim.api.core.v01.network.Node.getCoord()
方法的一些代码示例,展示了Node.getCoord()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Node.getCoord()
方法的具体详情如下:
包路径:org.matsim.api.core.v01.network.Node
类名称:Node
方法名:getCoord
暂无
代码示例来源:origin: matsim-org/matsim
/**
* Estimates the remaining travel cost from fromNode to toNode using the euclidean distance between them.
*
* @param fromNode The first node.
* @param toNode The second node.
* @return The travel cost when traveling between the two given nodes.
*/
protected double estimateRemainingTravelCost(final Node fromNode, final Node toNode) {
double dist = CoordUtils.calcEuclideanDistance(fromNode.getCoord(), toNode.getCoord()) * getMinTravelCostPerLength();
return dist * this.overdoFactor;
}
代码示例来源:origin: matsim-org/matsim
@Override
public Link createLink(Id<Link> id, Node fromNode, Node toNode) {
return this.linkFactory.createLink(id, fromNode, toNode,
this.network, CoordUtils.calcEuclideanDistance(fromNode.getCoord(), toNode.getCoord()), 1.0, 1.0, 1.0);
}
@Override
代码示例来源:origin: matsim-org/matsim
ImaginaryNode(Collection<? extends InitialNode> initialNodes) {
this.initialNodes = initialNodes;
double sumX = 0.0;
double sumY = 0.0;
for (InitialNode initialNode : initialNodes) {
sumX += initialNode.node.getCoord().getX();
sumY += initialNode.node.getCoord().getY();
}
sumX /= initialNodes.size();
sumY /= initialNodes.size();
this.coord = new Coord(sumX, sumY);
}
代码示例来源:origin: matsim-org/matsim
private Set<Node> circularCut(Network network) {
Set<Node> nodesToRemove = new HashSet<>();
for (Node n : network.getNodes().values()) {
Coord coord = n.getCoord();
double distance = CoordUtils.calcEuclideanDistance(coord, center);
if (distance > radius) {
nodesToRemove.add(n);
}
}
return nodesToRemove;
}
}
代码示例来源:origin: matsim-org/matsim
private Set<Node> rectangularCut(Network network) {
Set<Node> nodesToRemove = new HashSet<>();
for (Node n : network.getNodes().values()) {
Coord coord = n.getCoord();
double x = coord.getX();
double y = coord.getY();
if (!((x < this.maxX) && (this.minX < x) && (y < this.maxY) && (this.minY < y))) {
nodesToRemove.add(n);
}
}
return nodesToRemove;
}
代码示例来源:origin: matsim-org/matsim
public static Map<Id<Node>, Zone> createNodeToZoneMap(Network network, ZoneFinder zoneFinder) {
Map<Id<Node>, Zone> nodeToZone = new HashMap<>();
for (Node n : network.getNodes().values()) {
nodeToZone.put(n.getId(), zoneFinder.findZone(n.getCoord()));
}
return nodeToZone;
}
}
代码示例来源:origin: matsim-org/matsim
/**
*
* @param l
* @return {@code true} if the Link is not farther away than the
* distance specified by the distance filter from the center node of the filter.
*/
@Override
public boolean judgeLink(Link l) {
double dist = CoordUtils.calcEuclideanDistance(l.getCoord(), this.distanceFilterNode.getCoord());
return dist < this.distanceFilter;
}
代码示例来源: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
public static Map<Id<Link>, Zone> createLinkToZoneMap(Network network, ZoneFinder zoneFinder) {
Map<Id<Link>, Zone> linkToZone = new HashMap<>();
for (Link l : network.getLinks().values()) {
linkToZone.put(l.getId(), zoneFinder.findZone(l.getToNode().getCoord()));
}
return linkToZone;
}
代码示例来源:origin: matsim-org/matsim
/**
* Helper method for type conversion.
*
* @param link
* @return
*/
public static LineString createGeotoolsLineString(Link link) {
Coordinate fromCoord = MGC.coord2Coordinate( link.getFromNode().getCoord() ) ;
Coordinate toCoord = MGC.coord2Coordinate( link.getToNode().getCoord() ) ;
LineString theSegment = new GeometryFactory().createLineString(new Coordinate[]{ fromCoord, toCoord });
return theSegment;
}
代码示例来源:origin: matsim-org/matsim
private static Coord getVector(Link link){
double x = link.getToNode().getCoord().getX() - link.getFromNode().getCoord().getX();
double y = link.getToNode().getCoord().getY() - link.getFromNode().getCoord().getY();
return new Coord(x, y);
}
代码示例来源: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
public static double getGradientFactor(Link link) {
double gradient = 0.;
Double fromNodeZ = link.getFromNode().getCoord().getZ();
Double toNodeZ = link.getToNode().getCoord().getZ();
if ((fromNodeZ != null) && (toNodeZ != null)) {
if (toNodeZ > fromNodeZ) { // No positive utility for downhill, only negative for uphill
gradient = (toNodeZ - fromNodeZ) / link.getLength();
}
}
return gradient;
}
代码示例来源:origin: matsim-org/matsim
public SquareGridSystem(Network network, double cellSize) {
this.grid = new SquareGrid(network, cellSize);
for (Node n : network.getNodes().values()) {
Zone zone = grid.getZone(n.getCoord());
zones.put(zone.getId(), zone);
}
}
代码示例来源:origin: matsim-org/matsim
private boolean linkToNodeInServiceArea(Link link) {
Point p = factory.createPoint(MGC.coord2Coordinate(link.getToNode().getCoord()));
if(this.include.contains(p)){
if(exclude.contains(p)){
return false;
}
return true;
}
return false;
}
代码示例来源:origin: matsim-org/matsim
private boolean linkToNodeInServiceArea(Link link) {
Point p = factory.createPoint(MGC.coord2Coordinate(link.getToNode().getCoord()));
if(this.include.contains(p)){
if(exclude.contains(p)){
return false;
}
return true;
}
return false;
}
代码示例来源:origin: matsim-org/matsim
@Override
public Coord getCoord() {
Coord fromXY = getFromNode().getCoord();
Coord toXY = getToNode().getCoord();
return new Coord((fromXY.getX() + toXY.getX()) / 2.0, (fromXY.getY() + toXY.getY()) / 2.0);
}
代码示例来源:origin: matsim-org/matsim
private Node addNode(Network net, Node n){
Node newNode = net.getFactory().createNode(n.getId(), n.getCoord());
net.addNode(newNode);
return newNode;
}
代码示例来源:origin: matsim-org/matsim
private Network reshuffleNodesAndReturnNetwork(List<Node> nodes) {
Network network = NetworkUtils.createNetwork();
Collections.shuffle(nodes);
for (Node n : nodes) {
System.out.println("Adding node "+ n.getId());
network.addNode(NetworkUtils.createNode(n.getId(), n.getCoord()));
}
return network;
}
代码示例来源:origin: matsim-org/matsim
@Test
public void testNo3DCoord() {
// should be done through once "mixed" network as soon as possible
final Scenario sc = createTestNetwork( false );
new NetworkWriter( sc.getNetwork() ).writeV2( utils.getOutputDirectory()+"network.xml" );
final Scenario read = ScenarioUtils.createScenario( ConfigUtils.createConfig() );
new MatsimNetworkReader( read.getNetwork() ).readFile( utils.getOutputDirectory()+"network.xml" );
final Id<Node> zh = Id.createNodeId( "Zurich" );
final Coord zhCoord = read.getNetwork().getNodes().get( zh ).getCoord();
Assert.assertFalse( "did not expect Z",
zhCoord.hasZ() );
}
内容来源于网络,如有侵权,请联系作者删除!