Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Geospatial formats: Shapefile / GeoJSON / KML / GPX conversion and GeoTIFF band split

Đang mở
#155 3 bình luận 0 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@KAPPI1925 đang làm issue này rồi.

Từ ngày 22/10/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

enhancement formats

What would you like Filee to do?

Convert common geospatial (GIS) files, in two steps that can ship as separate pull requests:

  1. Vector data: Shapefile (.shp with its .dbf / .prj, or a .zip of them), GeoJSON, KML / KMZ, GPX and CSV (lat/lon columns or WKT) converting to each other. A Shapefile can also be split into several files, for example one output per value of an attribute column.
  2. Rasters: read GeoTIFF (including 16-bit and float bands), save a multi-band raster as one file per band (name_b1.tif, name_b2.tif, …) and the reverse (stack bands), and save a colour-mapped PNG preview.

Why / when would you use it?

I work in geospatial analysis, where these files are exchanged all day, and the usual way to convert them is a large GIS program or a command-line tool. "Drag a Shapefile onto GeoJSON" or "drag a satellite image onto separate bands" fits Filee well. Because of the route planner it would also unlock chains for free, e.g. Shapefile → CSV → XLSX / JSON.

Ideas for how it could work

I'd like to build this myself, following docs/ADDING-A-CONVERTER.md, and I'd rather agree on the shape with you first:

  • In-process C# only, like the 3D models and data engines: no GDAL/QGIS and nothing from PATH. For the vector side I'm considering NetTopologySuite (BSD-3) with its Esri Shapefile and GeoJSON readers, plus small hand-written KML / GPX readers and writers; I'll check each library's license and list it in THIRD-PARTY-NOTICES.md. Tell me if you prefer fewer dependencies and hand-written readers.
  • Rasters need their own TIFF reader. The ImageMagick Q8 build is 8-bit, so a 16-bit or float elevation or satellite band would be clipped. I'd read the TIFF and its GeoTIFF tags directly (or with a small managed TIFF library) and keep the georeferencing in the per-band outputs.
  • One new format category (for example Geo) with its own donut toolbar profile, so geo files don't mix into Data. Is that fine, or would you rather file them under Data / Cad / Image to keep the UI changes small?
  • Options such as "split by attribute" or the band choice would need preset options and a settings migration. I would start without options (one fixed behaviour per preset) and add them in a later PR.
  • Tests use files generated in the test (as the other engine tests do), plus a few tiny hand-made samples; every new UI string goes into all i18n/*.json files.

Planned pull requests, each small and independent:

  1. GeoJSON ↔ KML / KMZ ↔ GPX ↔ CSV
  2. Shapefile read/write (+ split by attribute)
  3. GeoTIFF reading, PNG preview
  4. Band separation and stacking

Does this direction sound right to you, and is there anything you'd change before I start? If a geospatial engine is out of scope for Filee, I'd rather know now.

Ngôn ngữ chính
C#
Star
3.6k
Fork
192
Merge trung bình
5 giờ 33 phút
Pull request đã merge (30 ngày)
72

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của KnifeLemon/Filee

Tất cả issue của KnifeLemon/Filee

Issue tương tự

Thêm issue về C#

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.