-
-
Notifications
You must be signed in to change notification settings - Fork 104
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
Submission: opentripplanner #295
Comments
Submission after #291 |
Thanks, @melvidoni and @geanders looking forward to your feedback. |
@mem48 : So sorry for the delay in the initial checks from my end! This looks like a very exciting package, and I'm looking forward to managing the submission. I'll start with some results and comments from some standard pre-review checks. Editor checks:
Editor commentsFrom
|
@geanders Thanks for the feedback. I'm trying to reproduce the error you are getting with the tests. Otherwise, I think these are all easy fixes. |
@mem48 : That sounds good. If you are unable to reproduce the test error I got, then I think we'd be okay with seeing if it comes up for the reviewers. |
Just looking at this. Please could you provide info on your system @geanders ? Suspect it may be an OS-specific issue. I'm on Ubuntu and also fails.
|
That seems plausible, @Robinlovelace. I'm using MacOS Mojave 10.14.4. |
Think I've fixed that issue now. |
@geanders I've been chipping away at the to-do list. I think they are all done now, with a few exceptions
I think the otp_stop test is fixed but I don't have a mac so perhaps you or @layik could confirm? Thanks for all your help. |
@mem48 : That sounds great. We've not got one assigned reviewer(@kimnewzealand) and I have a request out for our second reviewer. |
@mem48 I stumbled upon this by chance. GitHub might just be too good or I am not getting proper feeds. I will try it when I can. Just RE
I will see if I can split them, R's |
super excited to help out |
@layik thanks for the help. On the 80+ characters I know you can split and paste together again, but I'm not sure if that is good practice? My impression was that that the 80 character limit was advice rather than a strict limit. |
I have raised an issue (see here ropensci/opentripplanner#28) |
Thanks for the help with the issue #28. That can probably be closed? I have raised another issue ( see here ropensci/opentripplanner#30) |
@kimnewzealand : Thanks so much for this feedback on the package! If you wouldn't mind, would you please copy these issues here in this thread? If possible, we like to try to have a full copy of the discussion during the review process in one place, so we have a record of it that others can easily reference in the future in one place. |
@kimnewzealand opened this issue 2 days ago · 4 comments kimnewzealand commented 2 days ago • I am going through the installation and set up for the package review. I have updated Java to version 8 and installed and attached the R package opentripplanner, as per the vignettes. I am raising this is as an issue as I am unable to progress on the review at this point. I initially suspected there an issue with the OTP connection as the check for OTP did not return TRUE. (I did not change the .Renviron file at that point, as suggested in the vignette, see next). [1] "" The build of a graph object also returned an error message: log <- otp_build_graph(otp = path_otp, dir = path_data) Basic checks completed, building graph, this may take a few minutes I did some Googling and tried this fix on the environment variables in the control panel: Edit Environment Variable path: I now see a successful OTP connection, Sys.getenv("I_have_OTP") [1] "TRUE" I then retried the graph object and perhaps the new variables are good as it looks like it has gone past the initialisation, but there appears to be a Java version issue now. ? I am not familiar with Java so I was wondering if you could advise on what to try next? Run the OTP and Build a graph object Error in otp_checks(otp = otp, dir = dir, router = router, graph = FALSE) : In addition: Warning messages: Also see below the session information: sessionInfo() Matrix products: default locale: attached base packages: other attached packages: loaded via a namespace (and not attached): @kimnewzealand kimnewzealand referenced this issue 2 days ago @mem48 On your first attempt Java tried to allocate 2097152KB of memory and failed (about 2 GB) which is the default. Perhaps you are running on a laptop with low memory? You could try memory = 1 in otp_build_graph. The demo data should build in 1 GB. You make some changes to your path, I'm not quite sure what you did, do you have a link to the instructions you followed? But it now seems that R is unable to check the Java version which would suggest a problem with your java installation. You can check this manually in Comand Prompt with java -version @kimnewzealand I am trying on another laptop now so I will update thread soon @kimnewzealand I will ignore Sys.getenv("I_have_OTP") for now as you suggest. I tried to run this command and received an error: Error in opentripplanner:::otp_checks() : Despite the error with opentripplanner:::otp_checks(), I had success in building the graph by adding memory =1 on both laptops, see below message: Basic checks completed, building graph, this may take a few minutes I removed the path and variables as this didn't appear to be necessary on the other laptop. I suspect that the Java upgrade didn't work the first time round. Potentially Java needed a full uninstall first. java version "1.8.0_211" Any further thoughts? Else this can probably be closed |
Thanks @kimnewzealand! |
I have closed this issue now. See below for copy of the issue. I have successfully created a graph object but it seems like there is a potential issue with setting up the OTP instance. See below error message. log <- otp_build_graph(otp = path_otp, dir = path_data, memory = 1) Basic checks completed, building graph, this may take a few minutes otp_setup(otp = path_otp, dir = path_data) 2019-05-30 11:05:41 OTP is loading and may take a while to be useable Trying the other alternative ports example 2019-05-30 11:11:06 OTP is loading and may take a while to be useable @kimnewzealand kimnewzealand referenced this issue 23 minutes ago O this one does not appear to be an issue. I tried the memory=1 trick again and it worked so I will close otp_setup(otp = path_otp, dir = path_data,memory=1) 2019-05-30 12:02:35 OTP is loading and may take a while to be useable |
@kimnewzealand It seems that your problems are related to using a low power computer. It's good to test the package on a wide range of hardware. On the other hand, running a trip planner is an intrinsically difficult thing so you need a reasonably good computer. I've just updated the prerequisites vignette with a little section about hardware specs. |
On the "OTP is taking an unusually long time to load, releasing R to your control" this might a bit confusing. Because loading OTP takes a while, for my work I have large setups that can take several days to start up. I wrote the code so that R will wait for no more than 5 minutes before giving up. But that does not mean that OTP has stopped, in fact, OTP continues without R. On reflection, this may be confusing for users, so perhaps I should change the behaviour to be the same as otp_build_graph, where R will wait until OTP is ready? |
There is good news! I am at the point where I am set up and running and able to write up the review. I will do this mid to end of next week. I'll also have a think about these messages and add comments/suggestions in the review. |
Thanks again for asking me to perform this review. I have regular user perspective of someone who may be using this package personally or in a consultancy rather than from an academic or research perspective. I spent the bulk of the time working though the Documentation, thinking of points where a new user may face issues using the package. I ran the tests check but I did not use a larger data set as I also only have access to an 8GB RAM laptop. Therefore I did not test for other use cases or edge cases. Let me know if you have any further questions. Package ReviewPlease check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide
DocumentationThe package includes all the following forms of documentation:
For packages co-submitting to JOSS
The package contains a
Functionality
NOTE Only with 8MG Memory and given Isle of Wight sample dataset
Final approval (post-review)
Estimated hours spent reviewing: 6-7 hours for prerquisite set up and 5 hours for review
Review CommentsGeneral CommentsThis is a great package providing an open source alternative for routing, to calculate routes using OTP from OSM, combine with other data and also create visualisations with this data - all within R. As a user, once you get to Package Review Checklist - DocumentationHere are some further notes on the Documentation checklist above. Examples I did not check off the Examples in the checklist above. I couldn't see a function nor find an example for it in the vignettes for this R script The R help files are also comprehensive however the Examples, may need a review and update. They all include I appreciate that there is a sequential nature to most of the functions, perhaps use the vignette examples here or just provide a link to the getting started vignette? Vignettes Initially it took me half day (in total) to get setup due my laptop's memory issues with the Java and OTP tool prerequisites. However the prerequisites vignette has been updated with hardware considerations for the first time user based on issues raised. The vignettes are fairly long and comprehensive which I think is needed for a first time user, given the initial set up required. A comment regarding the target audience is that if the user is also new to R, then they may not be familiar with the different data formats and how to read those into R. From what I understand the Suggested updates I have a couple of documentation suggestions:
Community guidelines I did not check off the Community guidelines in the checklist above. Although there is a Contributor code of conduct there is no markdown Package Review Checklist - For packages co-submitting to JOSSI did not check off the References in the checklist above as it is blank. Should this be populated with the Isle of Wight data source? Suggested update:
Package Review Checklist - FunctionalityI checked all items in the Functionality checklist, however I have made some suggested updates below. Suggested updates I have a couple of functionality suggestions regarding messages:
The success message is simple when running
but the success message for
and the
Results of package checks and tests -- R CMD check results ---------------------------------------------- opentripplanner 0.1.0.0000 ----
otp_get_results: ... may be used in an incorrect context 0 errors √ | 1 warning x | 2 notes x
test_01_without_OTP.R:55: warning: otp_plan input validation test_01_without_OTP.R:61: warning: otp_plan input validation test_01_without_OTP.R:68: warning: otp_plan input validation
|
Thanks @geanders I'll get on it and let you know when I've made the necessary fixes. |
@geanders lots to go through, but I think I've fixed most of these.
I fixed some badly designed tests, the skips are because you don't have Sys.getenv("I_have_OTP") see https://github.com/ITSLeeds/opentripplanner/blob/master/README.md Its a simple toggle to disable tests that require the correct version of Java.
Warning message added giving file path
Updated the vignette with explanation.
Updated the vignette with explanation.
Updated the help with explanation. There is no log file, just printed to console.
Yes you are right, Updated the vignette with explination.
Done
It is, but this is something that will be fixed by the main OTP team. I think giving extra warnings based on the version of OTP is a bit beyond the remit of the R package. The R package is doing its job correctly and OTP provides their own documentation which overs how OTP itself works.
Done
They are rewriting their documentation at the moment, so perhaps best left until later?
Help updated
It is, the vignette only shows a single leg journey, the bug occurs when you get a walk, transit, walk route. You only get elevation data for the first walk leg.
It is not necessary to stop OPT, in most cases, it stops automatically when RStudio is closed. The function is mostly there for testing, allowing users to force OTP to stop if needed. What would happen if a user had two (or more) different versions of Java installed? With multiple versions of java there is still a "default" one. I haven't tested this extensively as users who can install multiple version of java are probably expert users.
package functions in one column and a brief description in the next. Do you mean https://itsleeds.github.io/opentripplanner/reference/index.html ?
Good idea, but then there would need to be a Docker tutorial. I think about it for the long term.
otp_dl_jar() has a url argument that selects the version of OTP. I had assumed that once new versions come out I would update the url once I've checked that the package is working well with the new version.
Updated vignette
Updated vignette
of the created objects would look like, when you can. To do that I will have to actually set up a working instance of OTP when building the vignettes, which is hard to make work on the servers which don't usually have Java. I could put in some screenshots if you think it is important.
All the example should have the \dontrun tag, can you give a specific example?
It doesn't matter, lest digits is just less precise.
I can't reproduce, could your firewall be blocking R from downloading files? |
@mem48 : Overall, I think these responses have satisfied most of my comments and suggestions. The only small follow-ups are (in some cases, these are just clarifications of my original comments or noting where I think my original comment has been satisfactorily addressed):
Thanks! I thought I had set this, but I double checked and I think I had a typo in the name I used for the environmental variable name. I will re-check the tests on my computer. All your updates to helpfiles and vignettes in response to my suggestions on those are great.
Fine, this sounds very reasonable. Could you add the caveat that you have in the helpfile on this to the vignette, as well, though? Since the package's vignettes are so good and comprehensive, I think many users will rely on those and might not read the helpfiles much. This seems like an important caveat for a user to know, even if it is the result right now of a bug in the main OTP software. Right now, unless the user overrides a default in
That sounds reasonable to me.
I see. That sounds fine, then.
That sounds fine. I agree with not needing to make any changes based on my original comment on this, then.
This sounds reasonable.
Yes! Sorry I missed this. Great that it's there.
Sounds reasonable.
Sounds reasonable.
This is fine to leave as-is. It would be nice, but not worth this amount of trouble.
Sorry, I don't think I was clear here. I was trying to say that I think it's fine to have the helpfile examples not run, since the system needs the right set-up with Java to run. I was making this comment because there had been an earlier concern in the reviews on this point, and I just wanted to say that I don't think that's a big problem and I think the current version is reasonable. Sorry I wasn't clearer on that comment.
I will follow up on this and see if it looks like something with my firewall. |
I've added the comment to the isochrones vignette. I think that is everything covered. |
@geanders I've finished spell checking the documentation. I think the package is good to go unless you want any other changes? |
@mem48 : Yes, as a reviewer, I am very happy with the response to all my questions. I think this is a really great package, with especially thoughtful vignettes. Putting my editor hat back on... @kimnewzealand : from your comments, it looks like you are satisfied with the responses and changes for your comments---could you confirm that's right and, if so, check the box on "The author has responded to my review and made changes to my satisfaction. I recommend approving this package" in you original review comment in this thread? |
There are few suggestions to follow up on, please let me know if you had a chance to review these @mem48:
|
I have also updated the checkmark for the Community guidelines given: |
These are done. The getting data and the bits about downloading the .jar file have been rewritten too. In particular I've added a new functions I would prefer to keep the section on "getting your own data" in the getting started vignette, because I think most users would want to go through the vignettes with the demo data first then come back to using their own data. If finding your own data is made part of the prerequisites, then new users may think that they need their own data to complete the rest of the tutorials.
Memory use is now explained in the hardware section of the prerequisites vignette and repeated in the getting started vignette. I've read the readme and added punctuation as required. |
Approved! Thanks @mem48 for submitting and @kimnewzealand for your review! To-dos:
Should you want to acknowledge your reviewers in your package DESCRIPTION, you can do so by making them Welcome aboard! We'd love to host a blog post about your package - either a short introduction to it with one example or a longer post with some narrative about its development or something you learned, and an example of its use. If you are interested, review the instructions, and tag @stefaniebutland in your reply. She will get in touch about timing and can answer any questions. We've put together an online book with our best practice and tips, this chapter starts the 3d section that's about guidance for after onboarding. Please tell us what could be improved, the corresponding repo is here. |
Hi @geanders I've accepted your invitation and moved the package to ropensci but I seem to have lost control of the package. I can start making the changes to links etc locally but I'm unable to commit them to github. Did I do something wrong? |
@mem48 : No, you didn't do anything wrong! You should now have admin access to the package again now. Please let me know if that's not the case. |
Hi @geanders, I think I've done all the tasks on your list. |
Hi @stefaniebutland I'd be happy to write a short introduction to the package. Is it ok to rework some of the vignettes or does it have to completly original content? |
Hi @mem48. It does have to be original content. For something short, you could consider writing a tech note, "Package updates, technical know-how, and small announcements related to rOpenSci software development". fyi @Robinlovelace is writing a big-picture post about stplanr for publication in December. Noting in case that influences your content. |
Yes this should go in there, all these things join up and a big picture overview is just what's needed right now. More soon, xmas deadline noted. By the way huge congratulations Malcolm! |
Closing this, which doesn't prevent the convo about blog posts from continuing. 😉 |
Great to see this, thanks everyone (and sorry @stefaniebutland for being slack on slack and with writing, have been prioritising academic projects and holiday and unfortunately the blog post has suffered). One question where I imagine rOpenSci people can help is release on CRAN. I believe doors open again today for submissions. Any pointers @mem48 on barriers to this being up? Looking forward to https://cran.r-project.org/package=opentripplanner being live! |
wisdom!
rOpenSci Slack is a great place to ask questions like this. Lots of CRAN experience and specific helpful answers When you're ready, email me for blog post follow up Cheers |
@stefaniebutland I've written a short blog post but I can't find your email address. Can you tell me where to find it or email me at m.morgan1@leeds.ac.uk |
Excellent! Here are the instructions for submitting a post: https://github.com/ropensci/roweb2#contributing-a-blog-post Once submitted, I will review and set a publication date. Please set date as 2020-02-04 for now. Happy to answer any questions. |
Submitting Author: Malcolm Morgan (@mem48)
Repository: https://github.com/ITSLeeds/opentripplanner
Version submitted: 0.1.0
Editor: @geanders
Reviewer 1: TBD
Reviewer 2: TBD
Archive: TBD
Version accepted: TBD
Scope
Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):
Explain how and why the package falls under these categories (briefly, 1-2 sentences):
Open Trip Planner is a multimodal route planning tool written in Java, the package allows R users to access the functionality of Open Trip Planner running locally or on a server. So, the package performs the role of data retrieval of geospatial data.
Who is the target audience and what are scientific applications of this package?
Transport planners and people engaging in transport-related research. Route planning is the basis of many different transport related research questions such as traffic management, accessibility measurement, and infrastructure planning. The package is being actively developed to support research at the University of Leeds Institute for Transport Studies.
Are there other R packages that accomplish the same thing? If so, how does yours differ or meet our criteria for best-in-category?
There are many packages that enable route planning in R (e.g. osrmr & dodgr) However there are no packages on CRAN that connect R to the Open Trip Planner. We are aware of one package on GitHub (https://github.com/datasciencecampus/access-to-services/tree/develop/propeR ) which relates to connecting R and OTP although its purpose is more specialised.
A key benefit of OTP over other route planning tools is its integration of public transport and other modes of travel (e.g. bike hire) that are not supported by other tools such as osrm.
If you made a pre-submission enquiry, please paste the link to the corresponding issue, forum post, or other discussion, or @tag the editor you contacted.
Technical checks
Confirm each of the following by checking the box. This package:
Publication options
JOSS Options
paper.md
matching JOSS's requirements with a high-level description in the package root or ininst/
.MEE Options
Code of conduct
The text was updated successfully, but these errors were encountered: