Bug 160398 - Add a Map Chart/Graph capability
Summary: Add a Map Chart/Graph capability
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Chart (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL: https://en.wikipedia.org/wiki/Choropl...
Whiteboard:
Keywords: filter:xlsx
Depends on:
Blocks: Chart-Enhancements Additional-Chart-Types
  Show dependency treegraph
 
Reported: 2024-03-27 14:55 UTC by Richard M
Modified: 2024-04-02 02:05 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
sample XLSX with choropleth chart created in MS Office (1.91 MB, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet)
2024-03-28 15:41 UTC, Stéphane Guillou (stragu)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Richard M 2024-03-27 14:55:59 UTC
Description:
The Desktop version of Microsoft Excel has the ability to plot data on a World Map. For example given a dataset of [COUNTRY CODE, COUNT] you could see a "Count" over each country code with highlights. 

This would be a very useful feature for the community.


Steps to Reproduce:
Insert Chart - No option available.

Actual Results:
There is no current option for this feature.

Expected Results:
I expect a world map of my data.


Reproducible: Always


User Profile Reset: No

Additional Info:
This is a feature enhancement request. Otherwise the product(s) work as expected.
Comment 1 Haris 2024-03-28 05:18:29 UTC
Hello Richard M,

I've marked this as RESOLVED MOVED because this is a feature request as you mentioned rather than a bug. This might be a better location to place your feature request: https://ask.libreoffice.org/c/english/5.
Comment 2 Rafael Lima 2024-03-28 13:31:34 UTC
(In reply to Haris from comment #1)
> I've marked this as RESOLVED MOVED because this is a feature request as you
> mentioned rather than a bug. This might be a better location to place your
> feature request: https://ask.libreoffice.org/c/english/5.

Actually no, Bugzilla *is* the place to file enhancement requests. Also, I think this request is valid and should be discussed.

More info in:
https://support.microsoft.com/en-au/office/create-a-map-chart-in-excel-f2cfed55-d622-42cd-8ec9-ec8a358b593b
Comment 3 Stéphane Guillou (stragu) 2024-03-28 15:41:27 UTC
Created attachment 193371 [details]
sample XLSX with choropleth chart created in MS Office

This simple choropleth map was created with MS Excel (desktop). Note that it needed to send data to Bing in order to create it, so not everything is done locally.

When opened in LO, the chart is replaced by the generic placeholder "This chart isn't available in your version of Excel".

No idea how such a chart is defined in OOXML, but supporting displaying it could be a separate ticket to supporting the creation / editing of such charts.

I note that dealing with spatial data is quite the challenge.
In my opinion, as a minimum, an implementation of a new chart type would have to support:
- inclusion of a generic global shapefile of state borders (which might bring in some geopolitical/cultural debate) - could be from Natural Earth: https://www.naturalearthdata.com/
- sensible detail level of such a shapefile, with rendering adapting to different zoom levels
- at least two chart types: choropleth and point/circles
- automatic matching of country names or codes to the features in the shapefile 
- recognition of lat/lon coordinates for point data
- styling of borders, fills, points...
- set of discrete and continuous colour scales to choose from
- a small set of projection options
- labeling of features (e.g. country names on or off)

And all that preferably online.
Comment 4 Stéphane Guillou (stragu) 2024-03-28 15:45:26 UTC
(In reply to Stéphane Guillou (stragu) from comment #3)
> And all that preferably online.
I meant "offline", obviously.
Comment 5 Eyal Rozenberg 2024-03-28 20:11:01 UTC
(In reply to Richard M from comment #0)
> ... plot data on a World Map. For example given a dataset 
> of [COUNTRY CODE, COUNT] you could
> see a "Count" over each country code with highlights. 

This would be useful for sure, but - the question is whether your specific request actually requires a new kind of chart, or can be a variation on an XY


(In reply to Stéphane Guillou (stragu) from comment #3)
> Created attachment 193371 [details]
> sample XLSX with choropleth chart created in MS Office

For those not familiar with the term:

https://en.wikipedia.org/wiki/Choropleth_map

> When opened in LO, the chart is replaced by the generic placeholder "This
> chart isn't available in your version of Excel".

Do we have an "Excel feature parity" tracker meta-bug? I couldn't find one...

> No idea how such a chart is defined in OOXML, but supporting displaying it
> could be a separate ticket to supporting the creation / editing of such
> charts.

Are you sure? I would say keep it as a single bug, unless a developer tells us they can fix only one of the two without the other.

> I note that dealing with spatial data is quite the challenge.

Maybe in the most general case. But - in a simpler case, wouldn't an "XY+Value" chart type (bug 160411), plus background map, be enough?

> In my opinion, as a minimum, an implementation of a new chart type would
> have to support:
> - inclusion of a generic global shapefile of state borders (which might
> bring in some geopolitical/cultural debate) - could be from Natural Earth:
> https://www.naturalearthdata.com/

Call them regions probably. And we could either bundle something by default or be able to download from known public locations - perhaps "bundling" some common sources for this. Debates may certainly happen, but the variety of sources could mitigate them.

> - sensible detail level of such a shapefile, with rendering adapting to
> different zoom levels
> - at least two chart types: choropleth and point/circles
> - automatic matching of country names or codes to the features in the
> shapefile 
> - recognition of lat/lon coordinates for point data

What kind of recognition do you mean? ... Hmm, perhaps this would relate to projection.

> - styling of borders, fills, points...
> - set of discrete and continuous colour scales to choose from

We already have that for conditional formatting, we should probably leverage the commonality here.

> - a small set of projection options

Hmm... do you really want LO to "know" about 3D points and 2D projections? As opposed to only recognizing 2D shapes, i.e. pre-projected shapes?

> - labeling of features (e.g. country names on or off)
> 
> And all that preferably online.
Comment 6 Stéphane Guillou (stragu) 2024-04-02 02:05:53 UTC
(In reply to Eyal Rozenberg from comment #5)
> (In reply to Richard M from comment #0)
> > ... plot data on a World Map. For example given a dataset 
> > of [COUNTRY CODE, COUNT] you could
> > see a "Count" over each country code with highlights. 
> This would be useful for sure, but - the question is whether your specific
> request actually requires a new kind of chart, or can be a variation on an XY
If it is automatically matched to a country code as OP suggests, it would need a new type.
 
> Do we have an "Excel feature parity" tracker meta-bug? I couldn't find one...
This table fills that role: https://wiki.documentfoundation.org/Feature_Comparison:_LibreOffice_-_Microsoft_Office
I've added this report to the table.
> > No idea how such a chart is defined in OOXML, but supporting displaying it
> > could be a separate ticket to supporting the creation / editing of such
> > charts.
> Are you sure? I would say keep it as a single bug, unless a developer tells
> us they can fix only one of the two without the other.
My understanding is that just displaying a static picture would be a lot easier to implement, and would be good to have independently from supporting creating these charts.

> > I note that dealing with spatial data is quite the challenge.
> Maybe in the most general case. But - in a simpler case, wouldn't an
> "XY+Value" chart type (bug 160411), plus background map, be enough?
That would be the simplest first subset of spatial charting, yes.

> > - recognition of lat/lon coordinates for point data
> What kind of recognition do you mean?
LO being able to understand various formats of coordinates. Some examples here: https://www.earthpoint.us/Convert.aspx

> > - a small set of projection options
> Hmm... do you really want LO to "know" about 3D points and 2D projections?
> As opposed to only recognizing 2D shapes, i.e. pre-projected shapes?
What I mean is a set of common global projection options good enough for global datasets, for example: Gall-Peters (for equal area), Robinson (for familiarity), Mercator (kind of legacy, shouldn't be default)... but we could also somehow leverage the modern S2 library for a modern default: https://opensource.googleblog.com/2017/12/announcing-s2-library-geometry-on-sphere.html
For more local data, we will need some understanding of different coordinate reference systems, but that's where it gets really hairy and where a choice of a solid, lightweight spatial library dependency is required.

Note also the extension GeOOo that's been around for a while: https://extensions.libreoffice.org/en/extensions/show/geooo
And EuroOffice Map Chart: https://extensions.openoffice.org/en/project/eurooffice-chart-map-0 (the company that developed it does not exist anymore)

In any case, marking as New at least because we need to be able to render these Excel charts.