Skip to content
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

Package development #95

Open
rafapereirabr opened this issue Sep 25, 2024 · 8 comments
Open

Package development #95

rafapereirabr opened this issue Sep 25, 2024 · 8 comments

Comments

@rafapereirabr
Copy link
Contributor

Hi all,

I've recently started looking a spatial allocation problems in R and came across this package, which looks like one of the most promising R packages on the topic. Is there any perspective the package will continue to be developed? Are there any particular or important issues you would like help from the community ?

@mpadge
Copy link
Contributor

mpadge commented Sep 25, 2024

Hey Rafa! The places people pop up! And ping @njtierney for an answer to that. Nick, time to revive this project?

@njtierney
Copy link
Owner

Hi @rafapereirabr !

Sorry I haven't been very responsive here.

Currently the package hasn't seen much maintenance as I haven't needed to use it again - But I'm interested to help maintain it if there are specific use cases! Does it currently work for your needs or are there other things that you'd like to see implemented?

@rafapereirabr
Copy link
Contributor Author

Hi @njtierney ! My team and I are currently involved in a project with spatial allocation problems related to the spatial distribution / coverage of social services (but the issue can be extended to other projects we have on health or education services). As of today, there are three main features that are not currently available in {maxcovr} and that we think would not only address our particular needs but would also make the package more general / flexible to address the needs of various other users.

Here are the three features, in no particular order. Two of them have been raised before in previous issues.

  1. Allow users input a custom travel cost matrix: As far as we've managed to use/understand the package, {maxcovr} will calculate the (Euclidian) distances of the input data based onn their lat/long columns. In many cases , though, users already have a data frame with some estimates of travel costs that have been previously calculated. In our case, we estimate travel times by different transport modes using the {r5r} package. This is somewhat related to issue Add support for OSM dodgr distances #77 . The difference here is that my suggestion would be to allow users to input a travel cost matrix that has been previously calculated. My suggestion has been raised before in issue Adding new features: demand weight and distance matrix #93.

  2. Add option of demand weights: this would allow one to represent population count of potential demand from each origin. I know this has been raised in issues Add weights as an option for maxcovr #85 and Adding new features: demand weight and distance matrix #93

  3. Allow users to account for constraints in service capacity: the idea here is that some facilities can only serve a maximum number of users/customers. Ideally, the allocation solver should be able to account for these constraints as long as the input data from users bring some information about the max capacity of existing and proposed facilities. I haven't seen this issue been raised in previous issues, but I might have missed something.

ps 1. I'm happy to see if my project partner (@gregorioluz) or I could help with any of these particular issues. Our use case will ultimately lead to the publication of (a) a policy report to the Brazilian Ministry of Social Development, and (b) an academic paper in journal. As I see it, the implementation of these features woud be a good platform to collaborate / co-author these outputs;

ps 2. I also have lots of experience with {data.table} so I could help with #68

@njtierney
Copy link
Owner

Hi @rafapereirabr !

Thank you for taking the time to clearly outline the features that would be of most use to you, this is super helpful. I also really appreciate you taking time to work through the issues and see what we've discussed - there are a lot of issues!

I'd be happy to help integrate these features into maxcovr, but I can appreciate maybe there are parts that might be tricky to navigate. Would it be of interest to you / do you have capacity to start pull requests for these features? I'd be happy to work out a time to talk over video chat to discuss these features and how we can integrate them?

Overall one of my goals with maxcovr would be to submit it as a JOSS paper. I'm very interested in helping you get maxcovr to do what you need for your work - I think there's a good win-win here, where the package gets an excuse for some maintenance from myself as I dust it off during code review that will happen as we add some of these features, and we get to add features that are useful for you and your work.

Let me know if you'd like to chat over video call some time, or I'm also happy if you feel that you might be in a place where you can make a pull request. @mpadge let me know if you have anything you'd like to add :)

@mpadge
Copy link
Contributor

mpadge commented Oct 31, 2024

This all sounds great, and I'm very pleased to see this package getting a new momentum kick ⚽ And FYI Nick, Rafa and I have worked together on several other packages and projects, and I can certainly vouch that it is always an enormous pleasure to work with him. I'm definitely happy to help in any way I can, including participating in a video chat. The user-defined weight and distance matrices were always something i wanted to see implemented here.

@rafapereirabr
Copy link
Contributor Author

rafapereirabr commented Nov 1, 2024

Hi @njtierney and @njtierney . I talked to @gregorioluz and we're glad to help. We'll first focus on intem 2 (Add option of demand weights).

Before working on that, I think we need some housekeeping, though :) The last commit over 4 years ago and somethings changed in R packae development since then, including documentation with {Roxygen}. I've just updated the documentation of the package and ran a CMD check and now everything seems fine.

If that's Ok, I'll open this as my 1st pull request just to make sure we have everythig working, Is that Ok @njtierney ?

❯ checking package subdirectories ... NOTE
Problems with news in 'NEWS.md':
Cannot extract version info from the following section titles:
Minor changes
Minor Changes
NEW FEATURES

0 errors ✔ | 0 warnings ✔ | 2 notes ✖

R CMD check succeeded

@njtierney
Copy link
Owner

Hi @rafapereirabr !

Yes, absolutely! I'm keen to give this a little makeover. I'll get to this as soon as I can, ideally within the next 2 weeks, if that works for you?

I've made a note of some things to fix here: #96

Let me know if there's anything else you'd like to talk about

Thanks again for helping move this project along, I'm excited to see where things go!

@njtierney
Copy link
Owner

Hi @rafapereirabr !

I've just fixed up the general package clean up in #98

There's a couple of CRAN notes, but I think we can ignore them for the time being - let me know if there's anything here you'd like a hand with?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants