{"id":13468528,"url":"https://github.com/geopandas/geopandas","last_synced_at":"2025-05-12T05:16:11.327Z","repository":{"id":37431603,"uuid":"11002815","full_name":"geopandas/geopandas","owner":"geopandas","description":"Python tools for geographic data","archived":false,"fork":false,"pushed_at":"2025-05-10T09:17:16.000Z","size":59267,"stargazers_count":4744,"open_issues_count":443,"forks_count":955,"subscribers_count":105,"default_branch":"main","last_synced_at":"2025-05-11T02:53:32.211Z","etag":null,"topics":["geoparquet","geospatial","pandas","python","spatial"],"latest_commit_sha":null,"homepage":"http://geopandas.org/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geopandas.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["numfocus"],"open_collective":"geopandas","custom":"https://numfocus.org/donate-for-geopandas"}},"created_at":"2013-06-27T17:03:47.000Z","updated_at":"2025-05-10T22:08:17.000Z","dependencies_parsed_at":"2023-10-11T09:01:56.107Z","dependency_job_id":"3e6babc3-7ea5-49f9-87c7-194e10aea976","html_url":"https://github.com/geopandas/geopandas","commit_stats":{"total_commits":1850,"total_committers":236,"mean_commits":7.838983050847458,"dds":0.7821621621621622,"last_synced_commit":"d88e60fc281ecd3269532be24371abd4bec5ea3a"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geopandas%2Fgeopandas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geopandas%2Fgeopandas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geopandas%2Fgeopandas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geopandas%2Fgeopandas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geopandas","download_url":"https://codeload.github.com/geopandas/geopandas/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253509775,"owners_count":21919587,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["geoparquet","geospatial","pandas","python","spatial"],"created_at":"2024-07-31T15:01:12.885Z","updated_at":"2025-05-11T02:53:44.642Z","avatar_url":"https://github.com/geopandas.png","language":"Python","funding_links":["https://github.com/sponsors/numfocus","https://opencollective.com/geopandas","https://numfocus.org/donate-for-geopandas"],"categories":["Python","Uncategorized","Spatial Analysis","Simultaneous Localization and Mapping","地理Geo处理","Data Processing/Anslysis","others","Geospatial Library","Geospatial Library (non-web)","کتابخانه هاي جغرافيا","Feature Extraction","ГИС софтуер","Geolocation","🐍 Python","Language based Geospatial Libraries"],"sub_categories":["Uncategorized","Synthetic Data","Vector Map","Python","NLP","کار با زمان و تقویم","Geolocation","Библиотеки :snake:","Useful Python Tools for Data Analysis"],"readme":"[![pypi](https://img.shields.io/pypi/v/geopandas.svg)](https://pypi.python.org/pypi/geopandas/)\n[![Actions Status](https://github.com/geopandas/geopandas/workflows/Tests/badge.svg)](https://github.com/geopandas/geopandas/actions?query=workflow%3ATests)\n[![Coverage Status](https://codecov.io/gh/geopandas/geopandas/branch/main/graph/badge.svg)](https://codecov.io/gh/geopandas/geopandas)\n[![Join the chat at https://gitter.im/geopandas/geopandas](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/geopandas/geopandas?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n[![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/geopandas/geopandas/main)\n[![DOI](https://zenodo.org/badge/11002815.svg)](https://zenodo.org/badge/latestdoi/11002815)\n[![Powered by NumFOCUS](https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat\u0026colorA=E1523D\u0026colorB=007D8A)](https://numfocus.org)\n\nGeoPandas\n---------\n\nPython tools for geographic data\n\nIntroduction\n------------\n\nGeoPandas is a project to add support for geographic data to\n[pandas](http://pandas.pydata.org) objects.  It currently implements\n`GeoSeries` and `GeoDataFrame` types which are subclasses of\n`pandas.Series` and `pandas.DataFrame` respectively.  GeoPandas\nobjects can act on [shapely](http://shapely.readthedocs.io/en/latest/)\ngeometry objects and perform geometric operations.\n\nGeoPandas geometry operations are cartesian.  The coordinate reference\nsystem (crs) can be stored as an attribute on an object, and is\nautomatically set when loading from a file.  Objects may be\ntransformed to new coordinate systems with the `to_crs()` method.\nThere is currently no enforcement of like coordinates for operations,\nbut that may change in the future.\n\nDocumentation is available at [geopandas.org](http://geopandas.org)\n(current release) and\n[Read the Docs](http://geopandas.readthedocs.io/en/latest/)\n(release and development versions).\n\n[//]: # (numfocus-fiscal-sponsor-attribution)\n\nThe GeoPandas project uses an [open governance model](https://github.com/geopandas/governance/blob/main/Governance.md)\nand is fiscally sponsored by [NumFOCUS](https://numfocus.org/). Consider making\na [tax-deductible donation](https://numfocus.org/donate-for-geopandas) to help the project\npay for developer time, professional services, travel, workshops, and a variety of other needs.\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://numfocus.org/project/geopandas\"\u003e\n    \u003cimg height=\"60px\"\n         src=\"https://raw.githubusercontent.com/numfocus/templates/master/images/numfocus-logo.png\"\n         align=\"center\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\nInstall\n--------\n\nSee the [installation docs](https://geopandas.readthedocs.io/en/latest/install.html)\nfor all details. GeoPandas depends on the following packages:\n\n- ``pandas``\n- ``shapely``\n- ``pyogrio``\n- ``pyproj``\n- ``packaging``\n\nFurther, ``matplotlib`` is an optional dependency, required for plotting.\nThose packages depend on several low-level libraries for geospatial analysis, which can be a challenge to install. Therefore, we recommend to install GeoPandas using the [conda package manager](https://conda.io/en/latest/). See the [installation docs](https://geopandas.readthedocs.io/en/latest/install.html) for more details.\n\nGet in touch\n------------\n\n- Ask usage questions (\"How do I?\") on [StackOverflow](https://stackoverflow.com/questions/tagged/geopandas) or [GIS StackExchange](https://gis.stackexchange.com/questions/tagged/geopandas).\n- Get involved in [discussions on GitHub](https://github.com/geopandas/geopandas/discussions)\n- Report bugs, suggest features or view the source code [on GitHub](https://github.com/geopandas/geopandas).\n- For a quick question about a bug report or feature request, or Pull Request, head over to the [gitter channel](https://gitter.im/geopandas/geopandas).\n- For less well defined questions or ideas, or to announce other projects of interest to GeoPandas users, ... use the [mailing list](https://groups.google.com/forum/#!forum/geopandas).\n\nExamples\n--------\n\n    \u003e\u003e\u003e import geopandas\n    \u003e\u003e\u003e from shapely.geometry import Polygon\n    \u003e\u003e\u003e p1 = Polygon([(0, 0), (1, 0), (1, 1)])\n    \u003e\u003e\u003e p2 = Polygon([(0, 0), (1, 0), (1, 1), (0, 1)])\n    \u003e\u003e\u003e p3 = Polygon([(2, 0), (3, 0), (3, 1), (2, 1)])\n    \u003e\u003e\u003e g = geopandas.GeoSeries([p1, p2, p3])\n    \u003e\u003e\u003e g\n    0         POLYGON ((0 0, 1 0, 1 1, 0 0))\n    1    POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))\n    2    POLYGON ((2 0, 3 0, 3 1, 2 1, 2 0))\n    dtype: geometry\n\n![Example 1](doc/source/gallery/test.png)\n\nSome geographic operations return normal pandas objects.  The `area` property of a `GeoSeries` will return a `pandas.Series` containing the area of each item in the `GeoSeries`:\n\n    \u003e\u003e\u003e print(g.area)\n    0    0.5\n    1    1.0\n    2    1.0\n    dtype: float64\n\nOther operations return GeoPandas objects:\n\n    \u003e\u003e\u003e g.buffer(0.5)\n    0    POLYGON ((-0.3535533905932737 0.35355339059327...\n    1    POLYGON ((-0.5 0, -0.5 1, -0.4975923633360985 ...\n    2    POLYGON ((1.5 0, 1.5 1, 1.502407636663901 1.04...\n    dtype: geometry\n\n![Example 2](doc/source/gallery/test_buffer.png)\n\nGeoPandas objects also know how to plot themselves. GeoPandas uses\n[matplotlib](http://matplotlib.org) for plotting. To generate a plot of a\n`GeoSeries`, use:\n\n    \u003e\u003e\u003e g.plot()\n\nGeoPandas also implements alternate constructors that can read any data format recognized by [pyogrio](http://pyogrio.readthedocs.io/en/latest/). To read a zip file containing an ESRI shapefile with the [boroughs boundaries of New York City](https://data.cityofnewyork.us/City-Government/Borough-Boundaries/tqmj-j8zm) (the example can be fetched using the [`geodatasets`](https://geodatasets.readthedocs.io/en/latest/) package):\n\n    \u003e\u003e\u003e import geodatasets\n    \u003e\u003e\u003e nybb_path = geodatasets.get_path('nybb')\n    \u003e\u003e\u003e boros = geopandas.read_file(nybb_path)\n    \u003e\u003e\u003e boros.set_index('BoroCode', inplace=True)\n    \u003e\u003e\u003e boros.sort_index(inplace=True)\n    \u003e\u003e\u003e boros\n                   BoroName     Shape_Leng    Shape_Area  \\\n    BoroCode\n    1             Manhattan  359299.096471  6.364715e+08\n    2                 Bronx  464392.991824  1.186925e+09\n    3              Brooklyn  741080.523166  1.937479e+09\n    4                Queens  896344.047763  3.045213e+09\n    5         Staten Island  330470.010332  1.623820e+09\n\n                                                       geometry\n    BoroCode\n    1         MULTIPOLYGON (((981219.0557861328 188655.31579...\n    2         MULTIPOLYGON (((1012821.805786133 229228.26458...\n    3         MULTIPOLYGON (((1021176.479003906 151374.79699...\n    4         MULTIPOLYGON (((1029606.076599121 156073.81420...\n    5         MULTIPOLYGON (((970217.0223999023 145643.33221...\n\n![New York City boroughs](doc/source/gallery/nyc.png)\n\n    \u003e\u003e\u003e boros['geometry'].convex_hull\n    BoroCode\n    1    POLYGON ((977855.4451904297 188082.3223876953,...\n    2    POLYGON ((1017949.977600098 225426.8845825195,...\n    3    POLYGON ((988872.8212280273 146772.0317993164,...\n    4    POLYGON ((1000721.531799316 136681.776184082, ...\n    5    POLYGON ((915517.6877458114 120121.8812543372,...\n    dtype: geometry\n\n![Convex hulls of New York City boroughs](doc/source/gallery/nyc_hull.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeopandas%2Fgeopandas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeopandas%2Fgeopandas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeopandas%2Fgeopandas/lists"}