-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Google Summer of Code 2022 #11
Comments
Some other ideas to be considered:
|
I have drafted the project proposals for this year - https://github.com/geopandas/geopandas/wiki/Google-Summer-of-Code-2022 with 4 projects:
Three of those are either reused or adapted from the last year (2 were not done and I have slightly modified dask-geopandas one). On top of those, I have included one on S2. I will submit them to NumFOCUS as they are now (we have a deadline coming on Monday) but we can edit them as we want later. I have tentatively kept mentors from the last year. @jorisvandenbossche and @brendan-ward have a look and let me know if you're fine with that. We may adapt/limit projects if some of you have a limited availability this year. @benbovy I think it would also be great if you could be part of the S2 project (if we'll find a good student/contributor of course). Would you be willing to be one of the mentors of that project? |
Also, if you have any suggestions, feel free to edit the wiki! |
Yes I'd be happy to help. |
Thanks! I've edited the wiki accordingly. |
During the last community call, we agreed that we should try to participate in the GSoC again this year. Note that the rules are a bit different and more flexible that they were before. See this blog for more.
The deadline for our application will be around end of March I guess (we'll participate via NumFOCUS umbrella org as before).
Until then, we can brainstorm some project ideas. Some can be reused from the last year (below).
Topics that can be reused
Pure Python GeoPackage IO
GeoPandas currently depends on fiona to read and write geospatial file formats. fiona, in turn, depends on GDAL, a mighty C library which allows reading almost any GIS file. However, installing fiona and GDAL can be cumbersome due to various dependency conflicts, which are not always easy to resolve.
To make it easier to get started with GeoPandas, we would like to make fiona an optional dependency. In order to do so, GeoPandas needs to support alternative file I/O that does not depend on GDAL or any additional C library; it should support this functionality purely in Python. We do not want to replace the full capability of fiona; fiona can still be optionally installed by those that need the full suite of capabilities.
We would like to enable native Python support for reading and writing the three most widely used geospatial file formats:
GeoPandas can already generate GeoJSON-like output and create GeoDataFrames from JSON, and the methods need only minor amendments to fully support GeoJSON I/O.
Preliminary support for ESRI Shapefiles has been developed (see PR #1580) using a relatively light-weight implementation based on pyshp, which deals with the file format itself.
We have started prototyping GeoPackage support in a package called
pgpkg
and we believe this could become the basis for support within GeoPandas.The GSoC project should expand and refine
pgpkg
and turn it into a production-ready library linked directly to GeoPandas to deliver pure Python interface to GeoPackage, limited to the reading and writing of vector data. Major tasks include updating the code to correctly support the GeoPackage specification, adding tests, and integrating within GeoPandas.This project will contribute toward enabling GeoPandas to natively read and write vector files without fiona or GDAL.
Skills
Difficulty level
Resources
GeoPackage implementation
pygeos
; needs update and validation against the spec)Relevant Python projects
ESRI Shapefile implementation
Beautiful maps made simple: a static plotting project
GeoPandas currently covers a broad range of geospatial tasks, from data exploration to advanced analysis. However, one moment may tempt the user to use different software - plotting. GeoPandas can create static maps based on matplotlib, but they are a bit basic at the moment. It isn't straightforward to generate a complex map in a production-quality which can go straight to an academic journal or an infographic. We want to change this and remove barriers which we currently have and make it simple to create beautiful maps.
The project is composed of multiple tasks. We need to link matplotlib functionality better, to remove existing limitations of plot customisation. We should rework how the legend works and allow its easy adaptation to users' needs. Adding scale bar, north arrow, and other cartographic features (e.g. graticules) should be straightforward. And more, depending on the student's analysis.
We need to diagnose what is required, fix bugs we are aware of and bring new features closely linked to the existing plotting ecosystem built around matplotlib and GeoPandas.
The project is a cooperation with matplotlib team.
Skills
Difficulty level
Resources
GeoPandas plotting issues
Relevant Python packages
The text was updated successfully, but these errors were encountered: