Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Feature]: Mesh layer for unstructured mesh results (SMS 2DM + DAT)

Open
#1,166 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Active
Tech stack
rust

Research direction

Read ROADMAP.md and related issues #396 and #726 to understand current data source plans. Obtain sample SMS 2DM and DAT files from the author to understand the format. Done means RustGIS can open these files as a mesh layer with coloring and legend.

Written by the indexing model from the issue text.

Description

enhancement
Before you start
What problem does this solve?
Before you start
  • I searched the existing issues and the
    roadmap and did not find a duplicate
    request. (Related but different: #396 is about NetCDF/HDF5 data sources; #726's "mesh layer"
    means 3D solids/glTF. What I am asking for is a 2D data-mesh layer, like QGIS's mesh layer.)
What problem does this solve?

I work with hydrodynamic simulation results that live on unstructured computational meshes. The
standard exchange format is SMS 2DM — a plain-text mesh of nodes and cells — with scalar or vector
results in companion .dat files: values per node or cell, one record per time step.

RustGIS cannot open these files today. The values sit on mesh nodes and cells rather than on a
regular grid, so they are neither vector features nor rasters. I currently keep QGIS alongside
RustGIS just to view these results, or resample them to GeoTIFF, which loses the mesh geometry and
misrepresents values where cells are large.

My meshes run from tens of thousands to about a million cells, usually with a dozen or so time
steps per plan.

What I would like

A mesh layer that:

  • opens SMS 2DM + DAT files;
  • colours the mesh by a chosen result variable and time step, with a legend;
  • sits in the map like any other layer — over or under basemaps and other layers, honouring draw
    order and opacity;
  • ideally offers both flat per-cell colouring and smooth interpolation between node values, the
    way QGIS does.

Further out, I will eventually need to edit meshes as well (moving vertices, splitting cells) —
but viewing results well is the immediate need.

Alternatives considered
  • QGIS/MDAL. Works, but the results live in a second tool and cannot take part in RustGIS
    maps, annotation or sharing.
  • Resampling to GeoTIFF. Loses the mesh geometry and distorts values where cells are large.
  • A script converting cells to polygon features. Workable for small meshes, heavy at ~10⁶
    cells, and still misses smooth node-value rendering.
Proposed solution

I don't know the codebase well enough to estimate — leaving that to the team. Happy to provide
sample 2DM/DAT files from my work if that would help.

Estimated scope

Medium: a broader feature that is feasible in a reasonable timeframe

Alternatives considered

No response

Dominant language
Rust
Stars
1.9k
Forks
268
Avg merge
3h 37m
Merged PRs (30d)
818

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from opengeos/RustGIS

All issues in opengeos/RustGIS

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.