Vindaar / ggplotnim

A port of ggplot2 for Nim
https://vindaar.github.io/ggplotnim
MIT License
175 stars 15 forks source link

possibility of implementing geom_sf #167

Open curioussavage opened 1 year ago

curioussavage commented 1 year ago

Hello!

I was just looking at the ggplot2 documentation and source trying to figure out how difficult it would be to implement the geom_sf and related dependencies in ggplotnim. Thought I would just ask here how difficult it would be.

Vindaar commented 1 year ago

Hey,

sorry too busy at the moment and didn't look into Github. geom_sf is used to plot maps (country outlines etc.), right? I'd say it depends. The one thing that I've wondered in the past, but never looked up is how the data that represents the countries is actually structured. Depending on what it contains it might be quite simple. Or it may not be. In addition one might want to implement different projections. Those are not too difficult in principle either, but it's possible one might want to restructure some code here or there for it (e.g. scTransformedData might not be flexible enough; not sure).

Anyhow, it's definitely not a trivial 1h task. If you could provide me with some references about how this kind of map data is usually represented, that would be much appreciated.

In case you feel like trying to implement something yourself, feel free to ping me on matrix/discord (better than github at the moment) and I'll try to help.

pietroppeter commented 1 year ago

I am also interested in these type of "geospatial" features and some time ago collected some references. Here is a brief summary of my notes on how this type of stuff is implemented in R:

from the above my take on how hard it is to add this feature in ggplotnim I would say that it definitely requires some work. In particular it seems that starting from an independent repo to provide sf functionalities could be a good option. I guess that as a first step one could define a minimal set of target plots that one would want to implement in the first release on sf-related functionalities and implement just what is needed (also to know what one would need to implement in sf package).

And to specify above the kind of interest I have is more on the happy-to-see-it-implemented side than on the I-plan-to-work-on-it side that (at least for this year), sorry! :)

Vindaar commented 1 year ago

Thanks for the references! That's super valuable. :)