Load the network modeled with Rhinoceros in Python ①

Network analysis is one of the most popular mathematics of architecture and city planning. It is a common practice to analyze and simulate architecture and cities in a mathematically easy-to-use form by abstractly expressing them as networks.

Goal

  1. Draw a network with Rhinoceros
  2. Export the network drawn in Rhinoceros so that it can be read in Python
  3. Read the exported file with Python and create an adjacent array

This article addresses Section 1.

Network in architecture / city

Various networks are woven into architecture and cities.

Target node Edge
Architectural plane room,Aperture Corridor,aisle
road intersection,Building entrance road
Railroad station line

A network consists of nodes and edges, and the edges (and sometimes nodes) are given "weights". The weight can set the distance traveled, time (time distance), cost (monetary distance), etc. required to pass through the edge. With just one method of weighting, the breadth and fun of the analysis will increase dramatically.

Draw a network with Rhinoceros

Anyway, let's draw a network. This time, I will draw a network using CAD software called Rhinoceros. Some people in the architectural community may be bright in Rhinoceros. Rhinoceros can run Python in it, so it is very convenient for mathematical research on architecture and city planning. This time, I will draw a pedestrian space network based on the map below (Geographical Survey Institute map). [](Fig.1

Unify the rules for drawing networks

If you have public vector data such as the road center line, you can use it, but if you do not have it, you will have to draw the line yourself. At that time, it is important to ** follow the rules you have decided **. Perhaps when you network yourself, you'll have to worry about "what to do with curved roads" and "how to connect buildings to the network." In fact, the results of network analysis can be greatly influenced by how the network is drawn. The important thing is to be able to determine whether the result is a network drawing or an essential one. To that end, it is necessary to unify the rules once decided throughout the network.

This time, I will draw a pedestrian space network, but I will follow the maintenance specification proposal [^ 1] presented by the Ministry of Land, Infrastructure, Transport and Tourism. Then, the network will be as shown in the figure below. This time, the network is on a plane, so there are no self-intersecting edges. If you have a pedestrian bridge or an underpass, you can model it to include them for more detailed analysis.

[Next time] Export the network drawn by Rhinoceros so that it can be read by
Python.

Now that you've finished drawing your network in Rhinoceros, you'll need to translate it into data that your programming language can understand before you analyze it. Next time, I will explain the data structure and how to create the data. → Read the network modeled by Rhinoceros in Python②

Homepage information

The contents of my research on architecture and urban planning mathematics and tips related to the research are available on my personal website. Eventually, I would like to create an analysis tool that can be used easily, so please come and take a look. → Shota Tabata's personal homepage

References

[^ 1]: Ministry of Land, Infrastructure, Transport and Tourism Policy Director, Pedestrian Space Network Data Development Specifications, 2018.3

Recommended Posts

Load the network modeled with Rhinoceros in Python ③
Load the network modeled with Rhinoceros in Python ②
Load the network modeled with Rhinoceros in Python ①
Display Python 3 in the browser with MAMP
[Python] Get the files in a folder with Python
[Automation] Extract the table in PDF with Python
[Python] Get the numbers in the graph image with OCR
Try implementing associative memory with Hopfield network in Python
Crawl the URL contained in the twitter tweet with python
Convert the image in .zip to PDF with Python
Get the result in dict format with Python psycopg2
Write letters in the card illustration with OpenCV python
Load the module with the same name in another location
Scraping with selenium in Python
Working with LibreOffice in Python
Download the file in Python
Scraping with chromedriver in python
Find the difference in Python
Debugging with pdb in Python
Working with sounds in Python
Scraping with Selenium in Python
Tweet with image in Python
Combined with permutations in Python
Call the API with python3.
Network programming with Python Scapy
Try scraping the data of COVID-19 in Tokyo with Python
Calculate the square root of 2 in millions of digits with python
[Homology] Count the number of holes in data with Python
Try to automate the operation of network devices with Python
Get the source of the page to load infinitely with python.
Number recognition in images with Python
Extract the xz file with python
Testing with random numbers in Python
Neural network with OpenCV 3 and Python 3
GOTO in Python with Sublime Text 3
Python in the browser: Brython's recommendation
Save the binary file in Python
Scraping with Selenium in Python (Basic)
Hit the Sesami API in Python
CSS parsing with cssutils in Python
Get the desktop path in Python
Dynamically load json type in python
Get the weather with Python requests
Get the weather with Python requests 2
Open UTF-8 with BOM in Python
Get the script path in Python
In the python command python points to python3.8
Implement the Singleton pattern in Python
Find the Levenshtein Distance with python
Install the Python plugin with Netbeans 8.0.2
Hit the web API in Python
Use Python in pyenv with NeoVim
I liked the tweet with python. ..
Load gif images with Python + OpenCV
Heatmap with Dendrogram in Python + matplotlib
Read files in parallel with Python
I wrote the queue in Python
Examine the object's class in python
Get the desktop path in Python
Password generation in texto with python
Master the type with Python [Python 3.9 compatible]