Skip to content

Back SDF reader/writer with the sdfio library - #33

Closed
aschet wants to merge 2 commits into
fredericjs:mainfrom
aschet:main
Closed

aschet wants to merge 2 commits into
fredericjs:mainfrom
aschet:main

Conversation

@aschet

@aschet aschet commented Sep 20, 2026

Copy link
Copy Markdown

Implementation of SDF I/O using the sdfio package. This will allow surfalize to read and write ISO versions 1 and 2 formats, as well as files in BCF format, which was the basis for the ISO standard. There is a small discrepancy in metadata handling, as ISO version 2 enforces XML as the trailer format. sdfio may not yet have the maturity you expect for this project, but it produces output in all variants that can be correctly imported by MountainsMap and can also read all variants exportable by MountainsMap.

@fredericjs

Copy link
Copy Markdown
Owner

Thank you for the pull request! I usually try to avoid dependencies if not absolutely necessary. If I may ask, why create a dedicated library for this instead of extending the surfalize sdf module to cover all your use cases / format variants?

@aschet

aschet commented Sep 23, 2026

Copy link
Copy Markdown
Author

Thank you for the pull request! I usually try to avoid dependencies if not absolutely necessary. If I may ask, why create a dedicated library for this instead of extending the surfalize sdf module to cover all your use cases / format variants?

At least to my knowledge, there was no existing package for SDF I/O, so I created one. I also had a need for it in another setting, and I would like to permit its use in commercial applications. The GPL-3 license of surfalize does not permit that without further implications.

During cross-validation with different applications, I came across surfalize and realized that it did not support the ISO 2 variant. So, instead of creating a second implementation, I opted to add sdfio as a dependency.

If you feel more comfortable with that approach, I can create an alternative PR that extends the existing module to support ISO 2.

@aschet aschet closed this Sep 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants