fix: adding a mechanism to check for presence of m-values during parsing #15
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixing an issue when geometry with type
XYZM
didn't have the M values provided, in the shp file, since in those cases the M values are optional per spec file.Resolving #13.
The solution checks for a record length during parsing because I’ve found no other reliable way to determine the presence of the M-values. There’s no other reliable indication of the presence of optional M-values on the file level.
Other solutions considered parsing ranges from the file header, but that proved unreliable. The added example testing file doesn’t contain M-values, the shape type is
XYZM
, but the header still doesn’t contain the expected NaN values at the M-value range (header bytes 84, 92), it contains values (0, 0). That could denote a presence of the M-value, just with 0 zero values.