Bug description

The description of the deck.gl Geojson chart states this: The GeoJsonLayer takes in GeoJSON formatted data and renders it as interactive polygons, lines and points (circles, icons and/or texts).

I am specifically interested in the point as an icon or text option. However, it seems that it is not possible to set a point as an icon or text.

The text option would be highly useful because it can be used to annotate points on the map.

Here is a sample data set i am using:

SELECT '{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [-92.0060, 42.7128]
      },
      "properties": {
        "name": "New York City"
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "LineString",
        "coordinates": [
          [-122.4194, 37.7749],
          [-118.2437, 34.0522],
          [-87.6298, 41.8781],
          [-74.0060, 40.7128]
        ]
      },
      "properties": {
        "name": "Cross-country route"
      }
    }
  ]
}' as JSON

The point indeed appears but as a circle and I don't see how to turn it into an icon or text.

Looking at deck.gl's documentation, it seems that the pointType option has to be set at the level of the GeoJsonLayer. So I'm not sure how this is supposed to modified since the geojson column we provide only provides the features but not the level above setting for the geojson layer tiself. Unless I'm confused and there's a way of including it in the json.

Screenshots/recordings

No response

Superset version

5.0.0

Python version

3.9

Node version

16

Browser

Chrome

Additional context

No response

Checklist

  • [x] I have searched Superset docs and Slack and didn't find a solution to my problem.
  • [x] I have searched the GitHub issue tracker and didn't find a similar bug report.
  • [x] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Comment From: dosubot[bot]

Hi @fin-gal! I'm Dosu and I’m helping the superset team.

You're correct—Superset's deck.gl GeoJSON chart does not currently expose the pointType property, so points can only be rendered as circles. There is no option in the control panel or chart configuration to display points as icons or text, and the GeoJSON data itself can't specify this rendering style. This limitation is confirmed in the codebase, where the GeoJsonLayer is instantiated without setting pointType and the control panel does not offer this as a configurable option [source].

There are no built-in workarounds or alternative plugins in Superset to achieve icon or text rendering for GeoJSON points. To get this functionality, you would need to develop a custom deck.gl plugin, fork/modify the GeoJSON chart, or submit a feature request.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Chat with Dosu Join Discord Share on X

Comment From: fin-gal

@dosu All clear, this confirms what I thought by looking at the code you mentioned. I would be willing to try and develop this as a new feature myself. Can I convert this issue to feature request and work on a PR on my side?

Comment From: dosubot[bot]

Yes, you can absolutely convert your issue to a feature request—just edit the title and description to clarify it's a feature proposal. Superset welcomes contributions like this. To work on a PR, fork the repo, create a branch, make your changes, and open a pull request against master [contribution guidelines].

For best results, include tests and documentation, and keep your code simple and well-designed. If you have questions or want feedback, maintainers are active in issue and PR discussions. Recent PRs (like #34322) show that new deck.gl chart features are contributed by updating frontend React components and layer implementations in superset-frontend/plugins/legacy-preset-chart-deckgl.

Let the maintainers know in your PR that it’s linked to your feature request—they’ll help guide the review process.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Chat with Dosu Join Discord Share on X

Comment From: rusackas

We would definitely welcome such a feature! Happy to review a PR.

In terms of this issue, we can close it out (not a bug) or move it to an "Ideas" discussion here on the repo if you want to keep the conversation going.

Hit me up here or on Superset Slack if you need help with the PR process once you've got the code going, and/or ping me on the PR!

There's also the new CartoDiagram viz plugin, which you're welcome to try if adding pie charts (or whatever) on map points solves part of your use case.