{ "cells": [ { "cell_type": "markdown", "id": "9c0169ef-beb3-4f80-b55a-1152fe068020", "metadata": { "pycharm": { "name": "#%% md\n" }, "tags": [ "full-width" ] }, "source": [ "# Vector libraries\n", "\n", "This page lists Python GIS libraries related to working with **vector data**, categorized into core (data structures), data processing, analysis and visualization. If you see any missing Python tools, please open a PR (see [instructions](contributing.html)). Tools are sorted alphabetically in each category. The [linkages](#linkages) section shows how the tools are connected to the broader Python ecosystem.\n", "\n", "Tables below list relevant information about the libraries, including:\n", " - links to the *Homepage* of the package (redirects after clicking the House character)\n", " - short *Info* (description) of the package: You can see the desciprtion by holding your mouse on top of the ⓘ character for a second \n", " - License\n", " - Latest PyPi and conda-forge version of the package\n", " - Number of downloads from PyPi or conda-forge\n", " - Latest release date " ] }, { "cell_type": "markdown", "id": "4a4838a2-739c-4eac-b4dc-f159658348f5", "metadata": {}, "source": [ "## Libraries" ] }, { "cell_type": "code", "execution_count": 1, "id": "a79f153e-8927-4226-90b3-1c2309476f10", "metadata": { "pycharm": { "name": "#%%\n" }, "tags": [ "full-width", "hide-input" ] }, "outputs": [ { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Analysis / modelling
NameHomepageInfoLicensePyPi versionPyPi downloads (monthly)Conda-forge versionConda-forge downloadsConda-forge latest release
access🏠\"License\"\"PyPI26,600\"Conda\"Conda\"Conda
esda🏠\"License\"\"PyPI43,532\"Conda\"Conda\"Conda
geosnap🏠\"License\"\"PyPI162\"Conda\"Conda\"Conda
giddy🏠\"License\"\"PyPI23,704\"Conda\"Conda\"Conda
inequality🏠\"License\"\"PyPI23,266\"Conda\"Conda\"Conda
mesa🏠\"License\"\"PyPI3,303\"Conda\"Conda\"Conda
mesa-geo🏠NA\"PyPI599NANANA
mgwr🏠\"License\"\"PyPI24,323\"Conda\"Conda\"Conda
momepy🏠\"License\"\"PyPI28,009\"Conda\"Conda\"Conda
movingpandas🏠\"License\"\"PyPI2,904\"Conda\"Conda\"Conda
pandana🏠\"License\"\"PyPI1,643\"Conda\"Conda\"Conda
pointpats🏠\"License\"\"PyPI23,870\"Conda\"Conda\"Conda
pyinterpolate🏠NA\"PyPI117NANANA
pysal🏠\"License\"\"PyPI27,846\"Conda\"Conda\"Conda
r5py🏠\"License\"\"PyPI22\"Conda\"Conda\"Conda
scikit-mobility🏠\"License\"\"PyPI7,724\"Conda\"Conda\"Conda
segregation🏠\"License\"\"PyPI24,599\"Conda\"Conda\"Conda
spaghetti🏠\"License\"\"PyPI23,282\"Conda\"Conda\"Conda
spglm🏠\"License\"\"PyPI24,219\"Conda\"Conda\"Conda
spint🏠\"License\"\"PyPI23,187\"Conda\"Conda\"Conda
splot🏠\"License\"\"PyPI23,734\"Conda\"Conda\"Conda
spopt🏠\"License\"\"PyPI23,186\"Conda\"Conda\"Conda
spreg🏠\"License\"\"PyPI24,569\"Conda\"Conda\"Conda
spvcm🏠\"License\"\"PyPI23,199\"Conda\"Conda\"Conda
tobler🏠\"License\"\"PyPI24,794\"Conda\"Conda\"Conda
trackintel🏠NA\"PyPI349NANANA
transbigdata🏠\"License\"\"PyPI580\"Conda\"Conda\"Conda
urbanaccess🏠\"License\"\"PyPI247\"Conda\"Conda\"Conda
urbansim🏠\"License\"\"PyPI240\"Conda\"Conda\"Conda
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Core / data structures
NameHomepageInfoLicensePyPi versionPyPi downloads (monthly)Conda-forge versionConda-forge downloadsConda-forge latest release
GEOS🏠\"License\"\"PyPI48,017\"Conda\"Conda\"Conda
PDAL🏠\"License\"\"PyPI2,020\"Conda\"Conda\"Conda
cuspatial🏠NA\"PyPI26NANANA
dask-geopandas🏠\"License\"\"PyPI7,160\"Conda\"Conda\"Conda
fiona🏠\"License\"\"PyPI2,605,728\"Conda\"Conda\"Conda
geographiclib🏠\"License\"\"PyPI3,418,834\"Conda\"Conda\"Conda
geopandas🏠\"License\"\"PyPI2,406,025\"Conda\"Conda\"Conda
laspy🏠\"License\"\"PyPI27,799\"Conda\"Conda\"Conda
libpysal🏠\"License\"\"PyPI60,019\"Conda\"Conda\"Conda
pygeos🏠\"License\"\"PyPI171,470\"Conda\"Conda\"Conda
pyogrio🏠\"License\"\"PyPI1,145\"Conda\"Conda\"Conda
pyshp🏠\"License\"\"PyPI356,639\"Conda\"Conda\"Conda
python-igraph🏠\"License\"\"PyPI241,827\"Conda\"Conda\"Conda
rtree🏠\"License\"\"PyPI974,019\"Conda\"Conda\"Conda
shapely🏠\"License\"\"PyPI7,085,616\"Conda\"Conda\"Conda
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Data extraction / processing
NameHomepageInfoLicensePyPi versionPyPi downloads (monthly)Conda-forge versionConda-forge downloadsConda-forge latest release
geopy🏠\"License\"\"PyPI4,544,815\"Conda\"Conda\"Conda
h3🏠\"License\"\"PyPI1,497,900\"Conda\"Conda\"Conda
osmnet🏠\"License\"\"PyPI4,705\"Conda\"Conda\"Conda
osmnx🏠\"License\"\"PyPI70,199\"Conda\"Conda\"Conda
pyntcloud🏠\"License\"\"PyPI8,362\"Conda\"Conda\"Conda
pyrosm🏠\"License\"\"PyPI6,442\"Conda\"Conda\"Conda
snkit🏠NA\"PyPI29NANANA
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Visualization
NameHomepageInfoLicensePyPi versionPyPi downloads (monthly)Conda-forge versionConda-forge downloadsConda-forge latest release
geoplot🏠\"License\"\"PyPI7,769\"Conda\"Conda\"Conda
legendgram🏠\"License\"\"PyPI37\"Conda\"Conda\"Conda
pandas-bokeh🏠NA\"PyPI13,031NANANA
vizent🏠NA\"PyPI12NANANA
\n" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from pygieons import Ecosystem\n", "\n", "# Initialize\n", "e = Ecosystem(plot_type=\"vector\", log=False)\n", "\n", "# Prepare the table and plot it\n", "e.prepare_table().show()" ] }, { "cell_type": "markdown", "id": "9595e1e3-000a-4130-85ed-873e6f3bb130", "metadata": {}, "source": [ "## Linkages" ] }, { "cell_type": "code", "execution_count": 2, "id": "951482b3-5ad9-4e92-8dad-6cc6703804c2", "metadata": { "pycharm": { "name": "#%%\n" }, "tags": [ "hide-input" ] }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "
\n", "

\n", "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "
\n", "
\n", "
0%
\n", "
\n", "
\n", "
\n", "
\n", "
\n", "\n", "\n", "\n", "\n", "" ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Initialize\n", "e = Ecosystem(plot_type=\"vector+generic\", log=False)\n", "\n", "# Prepare the network and plot it\n", "net = e.prepare_net()\n", "net.show()" ] } ], "metadata": { "execution": { "timeout": 360 }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.7" } }, "nbformat": 4, "nbformat_minor": 5 }