with ease-of-use API and Sklearn-alike Shareable & Reproducible Urban Pipeline
Important
- ๐ฃ
UrbanMapper
is on PyPi! - ๐ Documentation is out ! Check it out here
- ๐ค We support JupyterGIS following one of your
Urban Pipeline
's analysis for collaborative in real-time exploration on Jupyter ๐ Shout-out to @mfisher87 andJGIS
team for their tremendous help.
UrbanMapper
โโ f(.)
โโ brings urban layers (e.g. Street Roads
/ Intersections
or Sidewalks
/ Cross Walks
) โโ
X
โโ
and your urban datasets โโ Y
โโ together through the function f(X, Y) = X โ Y, allowing you to spatial-join
these components, and enrich X
given Y
attributes, features and information.
While UrbanMapper
is built with a Scikit-Learn-like philosophy โ i.e., (I) from loading
to viz.
passing by
mapping
and enriching
, we want to cover as much as usersโ wishes in a welcoming way without having to code 20+/50+
lines of code for one, non-reproducible, non-shareable, non-updatable piece of code; and (II) the libraryโs
flexibility allows for easy
contributions to sub-modules without having to start from scratch โall the timeโ.
This means that UrbanMapper
is allowing you to build a reproducible, shareable, and updatable urban pipeline in a
few lines of code ๐ This could therefore be seen as a stepping-stone / accelerator to further analysis such as machine
learning-based ones.
The only thing we request from you is to be sure that your datasets Y
are spatial datasets (i.e. with latitude and
longitude coordinates) and let's
urban proceed with enriching your urban layer of interests from insights your datasets comes with.
Install UrbanMapper
via pip
(works in any environment):
pip install urban-mapper
Then launch Jupyter Lab to explore UrbanMapper
:
jupyter lab
Tip
We recommend installing UrbanMapper
in a virtual environment to keep things tidy and avoid dependency conflicts. You can find detailed instructionsโincluding how to install within a virtual environment using uv, conda or from sourceโ
in the UrbanMapper Installation Guide.
UrbanMapper
currently supports the following urban layers:
- Streets Roads โโ
UrbanMapper
can load street road networks fromOpenStreetMap
(OSM) usingOSMNx
. - Streets Intersections โโ
UrbanMapper
can load street intersections fromOpenStreetMap
(OSM) usingOSMNx
. - Sidewalks โโ
UrbanMapper
can load sidewalk viaTile2Net
using Deep Learning for automated mapping of pedestrian infrastructure from aerial imagery. - Cross Walks โโ
UrbanMapper
can load crosswalk viaTile2Net
using Deep Learning for automated mapping of pedestrian infrastructure from aerial imagery. - Cities' Features --
Urban Mapper
can load OSM cities features such as buildings, parks, Bike Lanes etc. viaOSMNx
API. - Region Neighborhoods โโ
UrbanMapper
can load neighborhoods boundaries fromOpenStreetMap
(OSM) usingOSMNx
Features module. - Region Cities โโ
UrbanMapper
can load cities boundaries fromOpenStreetMap
(OSM) usingOSMNx
Features module. - Region States โโ
UrbanMapper
can load states boundaries fromOpenStreetMap
(OSM) usingOSMNx
Features module. - Region Countries โโ
UrbanMapper
can load countries boundaries fromOpenStreetMap
(OSM) usingOSMNx
Features module.
More will be added in the future, e.g Subway
/Tube
networks, etc. If you have any suggestions, please feel free to
open an issue or a pull request on our GitHub repository.
References
- OSMNx โโ Tile2Net โโ OSM Cities Features
Are you ready to dive into urban data analysis? The simplest approach to get started with UrbanMapper
is to look
through the two getting-started examples available in the documentation then walk through the hands-on examples in the
examples/
directory. These Jupyter notebooks walk you through the library's features, from loading
and
prepping data
to enriching
urban layers and visualising
the results.
Documentation is available at UrbanMapper Documentation.
UrbanMapper
is released under the MIT Licence.