Home Data: how data analysis is used in architecture and urban planning
In GoTo, we taught our neurons, XGBoos, SVMs, and other random forests, and then something came up to us - we talk a lot about technology and tell almost nothing about the areas in which they can be applied.
We decided to correct this oversight with a series of articles in which we will talk about different areas with unexpectedly large amounts of data, interview analysts and developers, tell you about the projects that we decided to try to do at school and so on.
And we will start with a bit of exotic spheres - urban planning and architecture.
If you want to know the details, read the interview with the technical director of the analytical company Habidatum and the curator of the programming and architectural projects from MARCHI - welcome under cat.
Let's start with urbanism.
Urbanism is a science that studies the development of various urban systems (transport, pedestrian infrastructure, ecology, health care and others), their interaction with each other and with the residents of the city.
Analysts in this area collect data from a large number of sources: for example, data on the movement of public transport, data of mobile operators, soc. networks - and use them to study the functioning of the environment (who uses it and when, which streets are the most loaded, etc.) and to predict its behavior after innovations. Everything that is moving and not moving on the streets is an object of study for urbanists.
Technical director of Habidatum analyst Vadim Smakhtin will tell you more about this area.
Interview: Vadim Smakhtin
So, let's begin. Please tell us who you are and what you do?
My name is Vadim, I am the Technical Director of Habidatum. I am engaged in designing various systems, services and devices for working with data. For more than five years I have been developing software for visualizing and analyzing data related to urban topics. Sometimes directly involved in analytical projects.
In fact, in the company I am a “layer” between programmers and urbanists.
Tell us about Habidatum. What do you do?
My friends and I founded Habidatum about five years ago. Both then and now we are engaged in data analytics for architects and city planners who have questions about the characteristics of the environment. If they want to know how the environment is used, how it will react to innovations (construction of new buildings, conversion of the roadway to the pedestrian zone ...), how to optimize its use, etc., they come to us. Also recently we sell our analytical software.
As a technical director, I am responsible for the architecture and specification of our software solutions and oversee their development. Now we have a whole line of internal and external products, one of which is the Chronotop data visualization system.
What a chronotope?
This software is for architects and city planners who need to analyze different data streams not only in the spatial aspect, but also temporal. We have developed methods, such as the space-time cube, that allow you to do this without serious consequences.
In addition, Chronotope is also used by companies that need to provide access to their data for analysts and the press, but who cannot do it directly for reasons of confidentiality. In any case, when raw data cannot be shared, we help clients create ready-made visualization.
Are there analogs of Chronotope?
A chronotope is a fairly niche system, so it’s very difficult to talk about any direct competitors. There are GIS systems like QGIS and ArcGIS, there are data visualization systems like, for example, “Tableau”; there are analytical packages that do not have their own visualization - and there are practically no products that would combine both functions. There are of course ArcGIS, which even released their space-time cube, but they have it static, so the functionality is extremely limited. Plus they have this desktop app, and everything works in the cloud.
But you need to understand that we basically do not sell the Chronotope as a separate product. We mainly use it as a sale of data access with great functionality for analysis. This is a rather innovative idea, it seems no one else does. The idea is that we have some sources of data from partners with whom we have entered into an agreement (for example, cellular operators or fiscal data operators), and we sell to designers access to them not in raw form, but in the interface. So our business model regarding Chronotope is such a hybrid model of selling software and data together. Yes, other companies have their own marketplace data, but there you get just pieces of data that are not synchronized in time, and with us you get everything in a convenient way and aligned with each other in time and space.
Are there any mathematical or statistical models in Chronotope or is it just about visualization?
Initially, yes, it was only about visualization. Of course, there were some basic statistics calculations, but nothing like that. But now, after we managed to successfully launch the graphics engine in the cloud, we screwed the anomaly detection system to it, which indicates to the analyst interesting places that you should pay attention to. The system also has an open API that allows you to write your own detectors. This is still quite an experimental thing, but the release is coming soon.
Also now we are trying to use “Chronotope” to simulate the behavior of the environment, analyze post-effects and predictively construct a space-time cube.
Post-effects are changes in the state of the environment after the execution of some design decisions. For example, here we set a cafe at this point and want to predict how this will affect the flow of people in the district, the profits of other businesses and so on. Those. we make a change to the system and look at the changes in all of its indicators.
Can you tell me about your stack?
The rendering engine itself is written on the pros, we actively use CUDA and OpenGL shaders, which draw a voxel volume. The back is mostly written in Python (Django). Of course, perhaps this is not the best design solution, but, since at first we tried to lower the entry threshold for new developers as much as possible; Python seemed like the best choice. Of course, Python is convenient for writing analytical modules, but the entire infrastructure is rather strange to write on it. Now we are using microservice infrastructure, so soon we will most likely rewrite the service modules. On the frontend, everything is fairly standard, except, perhaps, TypeScript, which we introduced in one of the first release versions. From frameworks - React and Redux
What kind of research does the research department do?
Basically, it is an analysis of the functions of a territory, at what time they work, an analysis of sociodemography in a territory — what people consume and when a territory; as they say about her and so on.
Can you tell a couple of examples?
In principle, all projects are on our website, where you can see more.
From the interesting - we did analytics for several areas of London, where we studied the dependence of the cost of land and apartments on the behavior of people on the streets, their feedback on local establishments, and so on. This allows you to determine the most important factors when a person chooses a place of residence and improves the quality of new areas.
There are projects for sports events . Here we are engaged in space-time coordination. For example, if we have a match with a large number of fans, then we can understand how we can dissolve both the local population and the fans in space and time. This allows you to increase the density of space use and, of course, avoids conflicts.
There is a project in Dubai , where we examined mobile data and looked at how different patterns of people's behavior could be analyzed on their basis. As, for example, the behavior pattern inside a shopping center is different from a residential area.
What kind of people do analysts have for you?
Basically, all analysts are geographers or people who have graduated from the Urban High School. There are also architects who are often involved in project management. All these people do not necessarily know how to program, but we are trying to develop an atmosphere in which people will be closer to technology — we develop communication between developers and analysts. This allows a little "smear" expertise, so people are much easier to catch bugs and problems at their level. And of course, developers cannot develop a system for data visualization, the nature of which they do not understand at all.
Are programmers involved in the work of analysts?
They are mainly engaged in the development of tools. Although, of course, we have a date of the Sains team, which is developing the needs of analysts for specific projects. Those. Analysts look at the project, analyze it through the toolkit, and then make up the TC, if they need to do something that goes beyond.
There is a sentiment analysis, word2vec to search for synonyms, topic modeling and other NLP. This, of course, is not a super advandst of things, but our work is not so much in developing bleeding edge methods, but in using ready-made algorithms for the needs of the city and construction. Therefore, we are also looking for developers who are interested in urban design and everything connected with it. It would be hard for us to work, for example, for people interested in sports machine learning, in which the nature of the data is almost not important. Our tasks are not in knocking out extra percent from the model, but in understanding the specifics of the data; therefore, it is the interest to the topic and the ability to communicate with relevant specialists that are important.
In general, how much do analysts need to be able to program if you have special commands for this?
Of course, we always had the idea to create a kind of universal soldier who knows how to program and analyze, but in general this concept does not quite work. Anyway, the team as a result is balanced, therefore people who program better - program more, those who write stories well according to data write stories. But in general, of course, yes, programming will not hurt anyone. It is easier to calculate some statistics yourself or to make a simple data preprocessing, the only question is how much time to devote to it.
Where do you advise to go to study the future analyst from the world of urbanism?
We have a large number of children from the Higher School of Urban Studies. I don’t know how there is in terms of programming, but in terms of urban education, this is a good education. Well, for programming there is a huge amount of online and just courses.
From the point of view of a programmer, it seems to me that you can go to any school that analyzes data (like a SAD, for example), get the basics of machine learning and statistics there and then start doing some projects related to the city.
But not a single urbanist, comrades.
The architecture also has a number of tasks in which IT greatly simplifies life. These are tasks related to the study of building exploitation and the tasks of automated design.
Milan Stankevich, Associate Professor of the Center for Architecture and Computer Technology at Moscow Architectural Institute, will tell us about this.
Please tell us who you are and what you do?
Architect, Master of Architecture,
Associate Professor of the Educational and Scientific Center of Architecture and Computer Technology MARHI.
Member of the Union of Moscow Architects.
Curator Intensiv-Pro “Algorithmic Design and Digital Production” in MARSH.
Main Architect of the projects in Tsimailo-Lyashenko and Partners.
Mainly engaged in the design of buildings and everything that can be called architecture.
Head of the master's theses at the Moscow Institute of Architecture.
All that is higher is a formality.
In fact, I work as part of an architectural bureau in a team of architects on various projects. Mostly residential and public buildings. In addition to architectural solutions, we are engaged in building information modeling tasks. As part of working with students, we most often deal with research projects that involve the use of digital tools, both in the design process and in the concepts themselves.
Why did you become an architect?
I entered the architectural one on the advice of relatives, but only in the third year I understood what kind of architect I wanted to become, after joining the group to the German prof. Michael Aichner.
Also, having been a guest in Munich, Barcelona, Rotterdam, Delft, London, namely, in the architectural schools located there, it was strongly inspired by the ideas and worldview of local schools.
Why did you decide to engage in IT architecture? What attracts you to this?
I am interested in the root causes of certain processes and why they are so arranged. Therefore, at the moment when everyone was interested in the result obtained in 3Ds max, for example, (spectacular visualization), it seemed that it was much more important to find out why and how the computer simulates this or that three-dimensional form, why it is digitized in this way. At this moment, more and more interest began to show to Rhinoceros 3D, where the literacy of the construction of geometric forms is inextricably linked with an understanding of the logic of the program itself.
About AD in architecture
We found out why programming for urbanists. And why is it for architects?
This question is best answered with examples.
In general, without knowledge and understanding of the principles of programming, it is not so easy for architects to understand the possibilities of computer technology, shaping, for example, how a computer simulates a three-dimensional environment, works through information.
Some examples of application:
In general, during the design process, architects are faced with various kinds of data and information they need. Architecture as a profession requires working with quantitative and qualitative parameters, therefore there are a lot of scales and levels in which programming takes place and can take place.
The clearest thing about programming in architecture is likely to be
Michael Michel Hansmeier
or Mark Burri .
At the moment, more and more directions in the architectural activities in which programming is taking place.
The architecture operates with patterns, elements and blocks, therefore, when designing, the interaction between “patterns” or patterns is very good at programming tasks, the main thing is to know how to formalize tasks.
What area of research at the interface of programming and architecture interests you most? Tell us about interesting projects in your area.
Analysis of environmental data and adaptation of architectural elements to individual needs, if in general.
Of the areas of interest can be identified those engaged in some of the European companies.
The company unsense is engaged in an interesting direction. They explore the possibilities of integrating digital technology into architecture in order to connect it somehow with human feelings.
Or a project for London in which it is proposed to make it more pedestrian. The entire analytical part made it possible to identify the final “pattern” of pedestrian zones in the city and to find unsightly spaces in order to improve them.
Do you have any ideas about the application of IT technologies in architecture, which have not yet reached out?
If in general: modeling of particles and the formation of spaces, taking into account energy flows and emotional states. A complex combination of knowledge modeling the dynamics of fluids (particles), environmental analysis and effective and comfortable use of space for each person.
But in particular, the topic touched upon in my dissertation is more interesting now, namely, the renovation of residential low-rise blocks and their transition to a smart “regenerating” environment. In practice, this is an effective use of architectural elements in a smart city, Iot connection (internet of things, Industry 4.0 with the capabilities of existing residential buildings, self-organization of society, participation of residents in the architecture of renovation of their homes)
Can ordinary programmers help you in your research?
They can, if the architects realize that the programmers themselves can. While this understanding is very small, at least in the Russian Federation.
More specifically, the tasks of the architect need to be differentiated.
Some are conceptual-analytical — help in making decisions where data collection and analysis is required, i.e. consideration of the initial information about the site or area of design. There are many subtasks for analytics, depending on the scale, city planning is a level or a very elemental, level of a door handle.
Other conceptual and technical - preliminary calculations, conclusions, allowing to make a decision, constructive calculations, climate and other calculations, flows of people, economic indicators, etc.
Third conceptual and artistic- those related to architecture as a discipline using mathematics, geometry, physics and chemistry to express the artistic image of space, i.e. let's call it shape programming.
In any tasks there are also two aspects - the presentation of information (any calculation, analysis, etc.) and the calculation itself, its reliability, the possibility of processing information).
So programmers often just need to understand which niche to integrate into from a complex task.
The above are only project tasks.
And there are still a number of tasks that are needed both in the construction process and in the operation of facilities. Well, design and production are getting closer, because, for example, for digital production of architectural elements, programmers are certainly needed - without them, there is no way to set up communication between machines and architects.
As far as exploitation is concerned, we are moving to smart systems, a smart city, etc. which separately touches the topic of work in a bundle of architects and programmers for the organization of devices, honey technological solutions and a host of other systems, automation, security, and management of buildings, space, etc.
What does your department do?
At the department we carry out various educational and research activities.
Basically, all activities are aimed at studying the relationship of architects and computer technology. I would like to deal more with the relationship of the architecture itself, people and digital technologies.
So far, we have a fairly wide profile of studying various tasks.
In particular, from our department there are 4 disciplines for students of the Moscow Institute of Architecture, as well as we are preparing our own Masters. For Bachelors 1,2 course we have - Computer Compositional Combinatorial Course. There, students through a series of tasks from the compilation of abstract compositions are transferred to architectural fantasies. They do 3D modeling in 3dsmax.
For the 3rd course - Computer graphics, where students get acquainted with a large number of software that allows you to analyze projects and draw up architectural documentation.
And for masters - Digital Parametric Forming Tools and Urban Planning Studies with the help of GIS.
In these courses, students become familiar with a wider range of software and begin to use elements of visual programming.
Where to study programming architects? How? Where to run? What to study before that? Are there open-source projects / studies on this topic?
In this case, it is worth talking about one and the other. And about programmers, and about architects. In fact, it is easier for programmers to see what tasks and research architects need.
Firstly, it seems that architects need a general knowledge of computer science and IT technologies.
You can start with school years or with open courses on the Internet and free access.
Secondly, of course, there is a specialization, and on each topic, of course, there are also open source projects and studies, but they are less common.
At times they go into the format of seminars and workshops.
If we talk about high-quality resources, they are mainly conducted by foreign schools.
True, if this is a format of a workshop, and especially a thematic one, then it often turns into a commercial story and costs participants money.
And so basically you can see projects in the field of architecture and IT technologies at various festivals such as https://www.smartgeometry.org/
or in directions on the portals of technology institutes
MIT Department of Architecture
AA School of Lonson, DRL
The same institutes conduct numerous workshops that examine a particular topic in the field of architecture and IT.
If we talk about the Russian Federation, then all research projects, courses on this topic, as well as events are mainly local initiatives and are not institutional.
There are a few areas that carry out:
Intensive PRO: Algorithmic design in MARSH, SimplexNoise, ShukhovLab, Softculture.
Or a bunch of IT and architecture takes place within the framework of individual disciplines within the process of teaching architecture at MARHI and MARCH.
The list of online resources is also small, because It is more about getting skills and learning how to work in programs like Grasshopper, Dynamo for Revit. To a lesser extent, you can find online courses in a particular area of architecture, mostly they are common.
There are few open research resources. One of these in 2011 worked - The branch point .
As for online courses abroad, you can remember
http: / /digitaltoolbox.info/ , etc.
they focus more on learning skills.
There are resources that launch individual companies
https: // theverymany .com /
How fast do architects learn programming?
In general - hard and long.
In particular, it depends on at what stage of its development a person starts studying.
Most of the work of the architect is in combining elements and information about them, obtaining the necessary parameters (areas and volumes), because the study of programming as another layer of information is quite complex, it can be a laborious task.
Also, the specificity of computer-aided design programs assumes an already defined set of elements and rules with which the architect operates (there are plenty of them too). The further and more the architect works in this or that program, the more familiar he is to him, and the new (programming languages) can be more easily perceived. But, due to the fact that the software market for design does not stand still, once every three or five years, architects have to adapt to new interfaces or new program features.
Therefore, programming is easier to master before mastering the design software or already after. So it seems more humane and easier to adapt.
And vice versa? Is it hard for a programmer to get into the field of architecture? Is it worth it?
It is worth it, only you need to choose the right sphere for yourself, where there are clear tasks.
The question about the goals and objectives that a person sets himself.
In architecture, as in programming, there are a lot of different areas where you can be part of the process.
Roughly can be divided into design, production and use.
Each of the three has its own subsections of course.
Design is part of the manufacturing process of architecture, which for architects is unnecessarily strongly important, although in theory it should not be separated from the production of architecture.
Is there something in common between a programmer and an architect?
What kind of programmers and architects to consider.
But if we are talking about those who work in the field of “designing” new “products”, then they are united by a systematic approach.
The difference is that the work of the architect has a different temporal and spatial scale. From idea to execution can take from two to three days to a couple of decades. On average, a year or two.
In this regard, the programmer sees the result of his work earlier.
But both the one and the second are both part of large complex tasks and can be independent creators.
And also their work is “scalable”, the programmer has slightly more opportunities, true, because if architecture is perceived as a physical medium, then it has significant limitations, as long as the programmer’s result can go on a planetary scale.
And finally - what can be read to understand what architecture really is and why it is important. Such a naupop Architecture 101.
Perhaps you can start from common ontological things, for example, any book about the history of architecture.
Or to those that are a bit more philosophical,
but I would start right away from
“From postmodernism to non-linear architecture. Architecture in the context of modern philosophy and science. Dobritsyna I.A. 2006
Charles Jenks -
Viliama Mitchell's Language of Postmodern Architecture - “I ++”,
Parametricism 2.0: Rethinking Architecture for the 21st Century
Or more applied - Christopher Alexander - The Language of Patterns.
Branko Kolarevic Architecture in the Digital Age: Design and Manufacturing
For awareness of what is happening in the world of IT and architecture, you should skip to refer to magazines AD .
And what have GoTo to do with it?
Recently, another GoTo Sabbath was held within the walls of the Moscow Architectural Institute.
We took in a few architects, who plunged into the wonderful world of programming, listened to lectures on urban analytics from Habidatum, on parametric modeling from local experts, and implemented several projects for architectural needs.
From architects to programmers.
At the school, we had a few guys from MARHI, who for the first time plunged into the world of cycles, iphs and other goto (sorry). There were a lot of impressions.
In general, it was incredibly interesting, they didn’t fully understand what direction we wanted, and spontaneously together with Olya decided to participate at the last moment and hooked Cyril with him) And in general, it was cool, if earlier programming was scary, now I want to understand it and start to use, there is an understanding of what you can do and how to act in the initial stages. For architects, it is important to understand how information works and what lies behind endless numbers. Thanks to this course, we began to understand how a python works, where you can download data, and generally how to associate it with programs like grass and what can be useful) for me it was difficult, because I don’t know English well, it was very interesting to talk with pyrogramists, I think You need to start communicating from the very beginning of school)
First, we received portions of the theory of syntax, key concepts, operations in Python. We learned more about how the Internet is built, about the relationship between providers and users, how interaction takes place, for example, the transfer of packets and keys.
We used Microsoft's Face API service to make filters for photos. We learned how to obtain data about the users of the social network vk.com and tried to analyze this information on a sample of students of marches, visualizing it in different ways: in the form of circular, column, bubble diagrams.
We got acquainted with a large number of young purposeful people, this gave an incentive to develop further in the field of programming as quickly as possible.
We also made several projects related to architectural themes or aimed at the needs of the Moscow Architectural Institute. Here are descriptions of some of them.
Modifying and generating facades.
Imagine you are an architect, and a customer comes to you, who does not know at all what houses he likes and what exactly he wants from the project. You make your own design with a clear conscience, but after some hesitation, he sends you to redo everything. And now, after 100 iterations, the project is grieved in half. Imagine how great it would be if there was an opportunity to understand right away what the customer likes or dislikes, and not rely on his explanations (which often do not coincide with his real tastes).
We have been developing a piece that can generate facade designs based on styles that the customer likes and change existing designs in their direction.
To do this, we trained the VAE on the photos of the facades, trained the classifier that would predict the facade style, and then with the help of the gradient descent changed the Hidden State vector with the objective function in the form of cross-entropy on the target distribution of the styles and on the actual.
However, the data with photographs of the facades turned out to be too diverse and small to properly train VAEs on them, so I had to reformulate the task a bit.
We generated new letters (ala a mixture of B c H) and changed one letter to others (for example, to make F from E). Yes, this task seems far from the target, but here we had good data (notMNIST), and the specific nature of the task is no different. Accordingly, after assembling a good dataset with photos of facades, it will be possible to set the same model on the first task.
Implementation of the Proof of concept can be found here .
Now we are planning several more projects on urbanism. So stay tuned!
Generating drawings from sketches
Architecture is a creative profession.
Architects constantly generate new ideas for the design of facades, interiors and other bourgeois excesses. The flow of fantasy is good, but it has one unpleasant side effect - a huge number of unfinished draft drawings, which then have to be long and painfully brought into a divine form. We decided to come to the rescue.
We have trained the neuron, which takes a rough draft and draws on it details in the form of walls, doorways and other interior details. This allows you to speed up the early stages of design.
Network Architecture: CycleGAN. We made the training set by removing the target parts from the finished drawings.
The project can be viewed here .
All university students and teachers are familiar with the eternal problem of class schedules. You have to wade through difficult lectures all day long, then go over the entire campus for a lecture for a ten-minute break - darkness. We decided to relieve (or at least start the deliverance) of the team of the Moscow Architectural Institute from these problems.
To do this, we made a chatbot, which can send students a schedule for a specific day and allows teachers to book audiences for consultations or lectures. The main feature of the bot is that communication with it takes place in a natural language!
The principle of operation of the bot can be read here , and see the implementation here .
We hope that you have learned something new from this article and, maybe, even wanted to have a hand in these cities, villages and houses.
In turn, we will discover new areas in which analysts and data scientists are needed, rivet projects on our knees and tell you about it.