Skip to content

๐Ÿ—บ๏ธ Spatial Join & Enrich any urban layer given any external urban dataset of interest, streamline your urban analysis with Scikit-Learn-Like pipelines, and share your insights with the urban research community!

License

Notifications You must be signed in to change notification settings

VIDA-NYU/UrbanMapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

UrbanMapper

Enrich Urban Layers Given Urban Datasets

with ease-of-use API and Sklearn-alike Shareable & Reproducible Urban Pipeline

PyPI Version Beartype compliant UV compliant RUFF compliant Jupyter Python 3.10+ Compilation Status

UrbanMapper Cover


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 and JGIS team for their tremendous help.

๐ŸŒ† UrbanMapper โ€“โ€“ In a Nutshell

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.


๐Ÿฅ Installation

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.


๐Ÿ—บ๏ธ Urban Layers Currently Supported

UrbanMapper currently supports the following urban layers:

  1. Streets Roads โ€“โ€“ UrbanMapper can load street road networks from OpenStreetMap (OSM) using OSMNx.
  2. Streets Intersections โ€“โ€“ UrbanMapper can load street intersections from OpenStreetMap (OSM) using OSMNx.
  3. Sidewalks โ€“โ€“ UrbanMapper can load sidewalk via Tile2Net using Deep Learning for automated mapping of pedestrian infrastructure from aerial imagery.
  4. Cross Walks โ€“โ€“ UrbanMapper can load crosswalk via Tile2Net using Deep Learning for automated mapping of pedestrian infrastructure from aerial imagery.
  5. Cities' Features -- Urban Mapper can load OSM cities features such as buildings, parks, Bike Lanes etc. via OSMNx API.
  6. Region Neighborhoods โ€“โ€“ UrbanMapper can load neighborhoods boundaries from OpenStreetMap (OSM) using OSMNx Features module.
  7. Region Cities โ€“โ€“ UrbanMapper can load cities boundaries from OpenStreetMap (OSM) using OSMNx Features module.
  8. Region States โ€“โ€“ UrbanMapper can load states boundaries from OpenStreetMap (OSM) using OSMNx Features module.
  9. Region Countries โ€“โ€“ UrbanMapper can load countries boundaries from OpenStreetMap (OSM) using OSMNx 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

๐Ÿš€ Getting Started with UrbanMapper

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.


Licence

UrbanMapper is released under the MIT Licence.

About

๐Ÿ—บ๏ธ Spatial Join & Enrich any urban layer given any external urban dataset of interest, streamline your urban analysis with Scikit-Learn-Like pipelines, and share your insights with the urban research community!

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •