-
Notifications
You must be signed in to change notification settings - Fork 305
Google Summer of Code 2025
PySAL is inviting students to join in PySAL's development by applying for Google Summer of Code 2025. This is the ninth year PySAL will be seeking to participate.
PySAL is an open source library of spatial analysis functions written in Python intended to support the development of high level applications. See our documentation for more details. The developer guide describes in more details how to make contributions to PySAL and our work flow for contributing to the project. Our issues are also on github, which include bug reports and 'wishlist' items and enhancement plans and ideas.
If you are interested in participating in GSoC as a student, the best approach is to become an active and engaged contributor to the project right away. You should take a look at some of the existing issues on GitHub and see if there are any you think you might be able to take a crack at. Try submitting a pull request for something and start getting the hang of the process and interacting with the PySAL code base and development community. It is a good idea to start on your proposal early, post a draft to the pysal discord and iterate based on the feedback you receive. This will not only improve the quality of your proposal, but also help you find a suitable mentor.
Below is a listing of possible projects that students might consider. We also encourage students to propose their own projects, though several of the following topics are relatively high on our priority list. Our priority list is flexible, and it is important that the topic matches the interest and background of the student.
When considering the following projects, don't be put off by the knowledge prerequisites -- you don't need to be an expert, and there is some scope for research and learning within the GSoC period. However, familiarity with and interest in the subject area and involved technologies will be helpful!
Street-Based Tessellation (momepy)
An urban space
In momepy, we have a definition of Morphological Tesselation (MT) and Enclosed Tessellation (ET) which are crucial for capturing urban morphology characteristics. MT is generated based on voronoi diagrams given building footprints, while ET is an enhanced version of MT that considers natural barriers such as street network, rivers and railways. However, street-based tessellation (ST) is a intuitive way to define a tessellation given natural barriers. ST is a tessellation version that inputs a street network and output city blocks containing geographic entities.
- Morphological Tesselation (Code)
- See example of ST code in Jupyter Notebook
Enhance momepy adding support to Street-Based Tessellation (ST)
It is considered medium
-level project. Note that it will depend on the familiarity with python packaging development.
- knowledge of python (required)
- familiarity with python packaging - OOP, tests, docs - (preferred)
- spatial data science (preferred)
Short (~175 hours)
Routing Engine (Spatial Optimization - spopt)
Spopt is one of the subpackages of PySAL which solves spatial optimization problems provinding regionalization, and facility-location models through region and locate modules, respectively. Spatial optimization is a wide research area which also covers routing problems such as vehicle routing. VRP problem aims at determine a set of vehicle routes to perform all (or some) transportation requests with the given set fleet at minimum cost. This problem has many variants and it is a widely research topic.
Develop route engine for spopt. Look at the draft PR.
- Feasibility Check of CVRP
- Split Delivery VRP
- Prize-Collecting VRP
- Vehicle Routing Problems, Methods, and Applications - Daniele Vigo and Paulo Toth
- PyVRP Resources (Docs, Paper)
- interest in vehicle routing and spatial optimization
- knowledge and experience with vehicle routing theories (preferred)
- familiarity with python packaging - OOP, tests, docs - (preferred)
- spatial data science (preferred)
It is considered hard
-level project. This project combine python packaging, spatial optimization theories (operations research and linear algebra)
350 hours
Flow Refueling Location Models (Spatial Optimization - spopt)
Spopt is one of the subpackages of PySAL, which solves spatial optimization problems providing regionalization, and facility-location models through region and locate modules, respectively. Spatial optimization is a wide research area which not only covers facility location modeling, but also includes network coverage problems. Instead of locating central facilities to serve demand at fixed points in space in the traditional location-allocation problems, the flow-capturing location models (FCLM) designed by Hodgson (1990) aim to serve demand consisting of origin-destination flows along their shortest paths. The Flow Refueling Location models (FRLM) was extended from FCLM and was designed originally by Kuby & Lim (2005) to optimise the alternative fuel vehicles (i.e. EVs, hydrogen vehicles) refuelling problems.
Various extensions and better solution techniques of the models have been designed later on, including deviation FRLM, and the arc-cover-path-cover FRLM formulation. This problem has many variants, and it is a widely researched topic.
Develop FRLM and DFRLM for spopt.
- Develop FRLM based on the arc-cover-path-cover formulation
- Develop DFRLM
- Integrate the input and output for effective open science workflow for similar types of analysis
- FCLM publication: Hodgson, M. J. (1990). A Flow-Capturing Location-Allocation Model. Geographical Analysis, 22(3), 270–279. https://doi.org/10.1111/j.1538-4632.1990.tb00210.x
- Original FRLM publication: Kuby, M., & Lim, S. (2005). The flow-refueling location problem for alternative-fuel vehicles. Socio-Economic Planning Sciences, 39(2), 125–145. https://doi.org/10.1016/j.seps.2004.03.001
- DFRLM publication: Kim, J.-G., & Kuby, M. (2012). The deviation-flow refueling location model for optimizing a network of refueling stations. International Journal of Hydrogen Energy, 37(6), 5406–5420. https://doi.org/10.1016/j.ijhydene.2011.08.108
- Arc-cover-path-cover FRLM publication: Capar, I., Kuby, M., Leon, V. J., & Tsai, Y.-J. (2013). An arc cover–path-cover formulation and strategic analysis of alternative-fuel station locations. European Journal of Operational Research, 227(1), 142–151. https://doi.org/10.1016/j.ejor.2012.11.033
- interest in transportation network location-allocation problems and spatial optimization
- knowledge and experience with network location-allocation theories (preferred)
- familiarity with python packaging - OOP, tests, docs - (preferred)
- spatial data science (preferred)
It is considered medium
-level project. This project combine python packaging, spatial optimization theories (operations research and linear algebra)
350 hours
PySAL is an open source project and as such we invite contributions from any interested developer. If you have an idea for an enhancement for PySAL please contact one of the developers to discuss the possibilities for the project in GSOC25.