Your city zip code

When choosing where to rent or buy housing (when there is a large choice in different areas, city quarters), we are guided either by our idea of ​​a “good area” or by the advice of friends/acquaintances. In order to base the choice a little more on specific facts than feelings, the idea was born to build map with quantitative indicators (indices) that will help to form a decision on buying/renting real estate. These indicators can also be used to help in choosing a location for opening, for example, a catering outlet.

Idea

Areas with multi-story buildings are divided into hexagons based on Uber H3 Geoindex. The building density is calculated based on the area and number of storeys of buildings in the corresponding hexagon. The accessibility of objects is calculated based on the distance to the centre of the hexagon. The index is constructed as a comparative characteristic for the city (map area), not the number of objects.

The overall index is calculated as the sum of individual indices with weights and subsequent normalization. Weights can be selected from -5 to 5. If 0 is specified, the index will not be used in calculations. Indices are normalized by city or selected region (only the overall index is normalized, individual indices remain normalized by city). Before normalization, extreme values ​​(max, min) are replaced with boundary values ​​using the approach IQR to find index spikes.

Calculations are based on data from OpenStreetMap (OSM). All information about buildings, transport, schools, bars and other things is taken from tags of various OSM objects. Yes, the information is not always accurate and there is a delay in relevance, but it can be edited independently (if an inaccuracy is found) and in a month (due to the frequency of unloading pbf – approximately on the 20th of the month) it will get to this map and there is no need for licenses-payment of data from geoinformation/urban planning databases.

At the moment the map contains data for major cities of the Republic of Belarus (simply because I'm from there), Moscow and St. Petersburg.

Implementation

Currently available indices:

  • Building density – The lower the index value, the denser the development, taking into account the number of storeys.

  • Availability of kindergartens – The higher the index value, the more kindergartens are within reach (up to 1 km). The closer the object, the greater its contribution to the index value.

  • Accessibility of schools – The higher the index value, the more schools are within reach (up to 1 km). The closer the object, the greater its contribution to the index value.

  • Accessibility of transport – The higher the index value, the more public transport routes are within reach (up to 1 km). The closer the stop, the greater its contribution to the index value.

  • Parking availability – The higher the index value, the more public (without controlled access) parking for vehicles within the radius of availability (up to 1 km). The closer the parking, the greater its contribution to the index value.

  • Availability of bars and restaurants – The higher the index value, the more cafes, bars, restaurants and other food outlets are within reach (up to 1 km). The closer the food outlet, the greater its contribution to the index value.

A description of all functions can be found in Description to the site.

Map with all controls

Map with all controls

The data layer is implemented as a vector set of tiles. The map base is OSM raster tiles. Tiles are built on the fly based on the data in the database and the transferred parameters (city, region, parameters). The general index is not stored, but is calculated at the time of access to the tile.

Plans

If anyone follows the map, the following improvements are planned (most likely in the order indicated):

  • Add major cities of the “near abroad”.

  • Make the application interface more modern.

  • Move to a more productive server – so that it is not expensive and is enough.

  • Add more indexes and ready-made parameter combinations.

  • Prepare and open the source code.

Technical component

Access to the map is free for everyone (as long as there is a reasonable load – not millions of users :)). No monetization is expected, so forgive me if a license or mention of someone is forgotten somewhere. I will not give a link to the source code yet – everything is not very beautiful there (for now it was done to make it work).

Data sources, tools and libraries:

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *