Open tim-salabim opened 6 years ago
@timelyportfolio an attempt at signaling when features are drawn in a location outside the standard longitude range between -180 & 180. This now emits a warning which is possibly highlighted using crayon (if available) in nasty red background with white text :-) . In my opinion, this is sufficient, but we could make sure to mention somewhere that this warning is generated if features are drawn outside sane bounds (which, for whatever reason, is allowed by leaflet). Any other suggestions? Thoughts?
Very happy it's just a signal and not an error :)
@tim-salabim would this require a dependency on crayon
? Are you thinking an error from JavaScript or R
? Assuming R
, and in this case we could add a test when we mutate the state based on Leaflet.draw
events. Or would you rather delay the test until completion?
@timelyportfolio crayon
is in Suggests:
with a if (requireNamespace("crayon"))
conditional on the warning. In my experience, I pay even less attention to console output in shiny
apps than in interactive mode, that's why I thought highlighting is helpful in this case.
With the above commit, this warning is emitted every time (part of) a feature is drawn outside -180 / 180 longitude. I think this is what you mean with "a test when we mutate the state based on Leaflet.draw events", right? If not, I think I need more clarification.
Regarding a JS warning, I think it would be great as it would provide more direct feedback especially when working in the browser. Though, I would only do this if we can assure that it doesn't interrupt interaction too much (people may intentionally want to draw outside standard bounds, who knows). I first thought of a alert
call, but this would be really annoying I think. If we can find a good place in the window/map to place such a warning, then I would say it is desirable to emit directly via JS (potentially keeping the R warnings as well). But this is something that I would not know how/where to implement.
@tim-salabim I see now. I missed your commit and misunderstood thinking we were discussing in theory. Adding a JavaScript warning should be fairly straightfoward. I will leave this open as a reminder to work on this once we have finished the prioritized open items.
See https://stackoverflow.com/questions/51580551/convert-xy-to-lat-long-in-r
We should probably add a check whether drawing happened / is happening within acceptable
longlat
bounds (-180/180 & -90/90)