I am currently working on a project that involves creating network graphs from indoor floor plans. Specifically, I would like to achieve the following tasks:
Extracting Structural Graphs:
I want to extract structural lines from the floor plan and convert them into a graph form. Each room or space would be represented as a node, and the connections (doors or pathways) between them as edges.
Converting the Structural Graph to a Dual Map:
The next step involves converting the structural graph into a dual map. In the dual map, each room or space would be represented as an edge, and the connections between rooms as nodes.
Creating a Skeleton Exploration Graph:
Finally, I aim to use the dual map to create a skeleton exploration graph. This graph should extract the centerlines of the indoor spaces to represent the main pathways.
Additionally, I have referenced the paper “THEORIES AND MODELS OF INDOOR SPACE” by Liping Yang (B.S. Yunnan Normal University, China, 2006; M.S. Fujian Normal University, China, 2009) in planning this project.
I will also be providing an example image related to these tasks.
Well… I ended up giving this a go after all. Hopefully someone on these forums can improve it!
Please note that it only returns the shortest paths as a the results and you can see that room 5 seems to be favored. In reality, most people would pass through room 6 and 7 threshold to get to rooms 3, 4, and 5.
Hopefully another user can take the visibility skeleton graph and solve the network topology so that we can get each individual leg from start point to end point (point 7)
Thank you for your help.
My goal is to use this algorithm to create a topology network of indoor spaces and assign entities to it. The result will be an algorithm that classifies indoor spaces.
I also hope that someone on the forum can further improve this algorithm.
Your assistance has been of great help in achieving that goal.
Thank you for your response. However, after reviewing it, I still do not fully understand how to use it. I will study further and try to apply it afterward.