BlocksNet

Your logo

Documentation Statusarrow-up-right PythonVersionarrow-up-right Blackarrow-up-right Readme_ru

BlocksNet is an open-source library that includes methods of modeling urbanized areas for the generation of value-oriented master planning requirements. The library is provided for generating a universal information city model based on the accessibility of urban blocks. The library also provides tools for working with the information city model, which allow: to generate a layer of urban blocks, to calculate provisioning based on regulatory requirements, to obtain optimal requirements for master planning of territories.

BlocksNet Features

BlocksNet β€” a library for modeling urban development scenarios (e.g. creating a master plan), supporting the following tools:

  1. The method of generating a layer of urban blocks is the division of the territory into the smallest elements for the analysis of the urban area - blocks. The method of generating a layer of urban blocks is based on clustering algorithms taking into account additional data on land use.

  2. The Universal Information City Model is used to further analyze urban areas and to obtain information on the accessibility of urban blocks. The City Model includes aggregated information on services, intermodal accessibility and urban blocks.

  3. Methods for assessing urban provision of different types of services with regard to normative requirements and value attitudes of the population. The estimation of provisioning is performed by iterative algorithm on graphs, as well as by solving linear optimization problem.

  4. A method for computing the function for evaluating the optimality of master planning projects based on the value attitudes of the population and systems of external limitations. The method is based on solving an optimization problem: it is necessary to find an optimal development to increase the provision. The problem is solved with the help of genetic algorithm, user scenarios support is added.

Main differences from existing solutions:

  • The method of generating a layer of urban blocks considers the type of land use, which makes it possible to define limitations for the development of the territory in the context of master planning.

  • The universal information city model can be built on open data; the smallest spatial unit for analysis is a block, which makes it possible to analyze on a city scale.

  • Not only normative documents are taken into account when assessing provisioning, but also the value attitudes of the population.

  • Genetic algorithm for optimization of development supports user-defined scenarios.

  • Support for different regulatory requirements.

Installation

BlocksNet can be installed with pip:

How to use

Then use the library by importing classes from blocksnet:

Next, use the necessary functions and modules:

For more detailed use case see our examples below.

Data

Before running the examples, you must download the input dataarrow-up-right and place it in the examples/data directory. You can use your own data, but it must follow the structure described in the specificationarrow-up-right.

Examples

Next examples will help to get used to the library:

  1. City blocks generatingarrow-up-right - city blocks generating according to landuse and buildings clustering.

  2. Aggregating city blocks informationarrow-up-right - how to fill blocks with aggregated information and also generate the accessibility matrix between blocks.

  3. City model creationarrow-up-right - how to create the city model and visualize it (to make sure it is real and correct).

  4. Linear optimization provision assessmentarrow-up-right - how to assess provision of certain city service type.

  5. Iterative algorithm provision assessmentarrow-up-right - another example of how to assess provision, but using different iterative method.

  6. Genetic algorithm master plan optimizationarrow-up-right - how to optimize the search for master planning requirements for a specific area or the entire city in a specific scenario.

  7. Balancing territory parametersarrow-up-right - how to increase certain territory population without decreasing the quality of life of the city.

We advice to start with city model creationarrow-up-right example, if you downloaded the input dataarrow-up-right we prepared.

Documentation

Detailed information and description of BlocksNet is available in documentationarrow-up-right.

Project Structure

The latest version of the library is available in the main branch.

The repository includes the following directories and modules:

Developing

To start developing the library, one must perform following actions:

  1. Clone repository (git clone https://github.com/iduprojects/blocksnet)

  2. (optionally) create a virtual environment as the library demands exact packages versions: python -m venv venv and activate it.

  3. Install the library in editable mode: python -m pip install -e '.[dev]' --config-settings editable_mode=strict

  4. Install pre-commit hooks: pre-commit install

  5. Create a new branch based on develop: git checkout -b develop <new_branch_name>

  6. Add changes to the code

  7. Make a commit, push the new branch and create a pull-request into develop

Editable installation allows to keep the number of re-installs to the minimum. A developer will need to repeat step 3 in case of adding new files to the library.

License

The project has BSD-3-Clause licensearrow-up-right

Acknowledgments

The library was developed as the main part of the ITMO University project #622280 "Machine learning algorithms library for the tasks of generating value-oriented requirements for urban areas master planning"

Contacts

You can contact us:

Publications on library tools

Published:

Accepted:

  1. Churiakova T., Starikov V., Sudakova V., Morozov A. and Mityagin S. Digital Master Plan as a tool for generating territory development requirements // International Conference on Advanced Research in Technologies, Information, Innovation and Sustainability 2023 – ARTIIS 2023

  2. Natykin M.V., Budenny S., Zakharenko N. and Mityagin S.A. Comparison of solution methods the maximal covering location problem of public spaces for teenagers in the urban environment // International Conference on Advanced Research in Technologies, Information, Innovation and Sustainability 2023 – ARTIIS 2023

  3. Natykin M.V., Morozov A., Starikov V. and Mityagin S.A. A method for automatically identifying vacant area in the current urban environment based on open source data // 12th International Young Scientists Conference in Computational Science – YSC 2023

  4. Kontsevik G., Churiakova T., Markovskiy V., Antonov A. and Mityagin S. Urban blocks modelling method // 12th International Young Scientists Conference in Computational Science – YSC 2023

Last updated