I want to generate large regular maps of a tiling on hyperbolic space. How I can do that?
I don’t think I understood what you are trying to do, but GraphHopper does not create maps. If you are looking to create (vector) map tiles from OSM data, maybe take a look at planetiler.
Actully I want to generate hyperbolic lattice {7,3} (can be seen in image) and wants to write its Adjacency matrix for large number of vertices. Any idea how to do that?
So you just want to create a graph? That is possible, of course, try something like this:
// create the graph
BaseGraph graph = new BaseGraph.Builder(0).create();
NodeAccess nodeAccess = graph.getNodeAccess();
for (int i = 0; i < numNodes; i++)
nodeAccess.setNode(i, getY(i), getX(i));
for (int i = 0; i < numEdges; i++)
graph.edge(getNodeFrom(i), getNodeTo(i)).setDistance(calcDistance(getNodeFrom(i), getNodeTo(i)));
// define a weighting
Weighting weighting = new Weighting() {
// ...
};
// ... then you can calculate shortest paths using Dijkstra's algorithm for example
Dijkstra dijkstra = new Dijkstra(graph, weighting, NODE_BASED);
Path path = dijkstra.calcPath(from, to);
Then how I will write its Adjacency matrix? My graph will look like something this: A {p, q} type, which means that they are tessellations of the plane by regular
p–gons such that each vertex/node has coordination number q. In my case p is 7 and q is 3. Now suppose if I have 100 vertices/nodes and I want to find q (3) neighbours of every vertex from 1 to 100, how I can do that.
ps: the graph is regular meaning every vertex has 3 neighbors.
GraphHopper does not use an adjacency matrix. Take a look at BaseGraphNodesAndEdges.java
to learn how it lays out the graph in memory.