-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add FlatGeobuf encoding #32
base: main
Are you sure you want to change the base?
Conversation
|
||
## Potential issues in conversion | ||
|
||
TBD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fiboa allowes enums for strings and integers, but flatbuffers don't.
It think we should mention this here.
https://flatbuffers.dev/flatbuffers_guide_writing_schema.html
| binary | Binary | | ||
| string<br />charset: UTF-8 | String | | ||
| array | Json Array | | ||
| object<br />keys: string<br />values: any | Json Object | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about structs? I think both could work depending on the specificity of the schema.
I think fiboa, also foe GeoParquet, should do a better job at explaining which schema leads to a struct and which to a map. I'll open an issue: #34
| date | DateTime (ISO 8601 date) | | ||
| date-time<br />with milliseconds<br />timezone: UTC | DateTime (ISO 8601 date time) | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I couldn't find datetime data types in the specification. Can you help me finding it? Otherwise it should probably string with a pre-defined format (e.g. ISO 8601 / RFC 3339)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I was refering to this line: https://github.com/flatgeobuf/flatgeobuf/blob/2828e07fd759aa8b44c6b1aaab41320b22dd0d29/src/fbs/header.fbs#L40 It is (probably) an ISO 8601 string, but it is it's own ColumnType
in the FlatGeobuf schema.
Related comment: #32 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, that clairifies it. We need to clarify how we handle date only more practically. What happens with the missing components (hour, minute, ...). Maybe add a link somewhere to the allowed types.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I agree DateTime
is not well defined. I put a link to the allowed column types here: https://github.com/fiboa/specification/pull/32/files#diff-c33cc7b35504997d9be5d9db7ecaf8f5975eef4b5fe303b28c915033bfba02adR4 But we can also link to https://unpkg.com/[email protected]/dist/doc/enums/generic.ColumnType.html if you prefer.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't see that link before, looks good. So here the Date issue is still open.
Co-authored-by: Matthias Mohr <[email protected]>
Thanks for the contribution! This is awesome to see, and I love flatgeobuf. My only hesitation is if there's going to be more of a burden to support 3 (or more, as geopackage would come next) 'officially' as part of fiboa. I had thought we'd welcome mappings to flatgeobuf and others, but mark things in some way to say that the mappings are more 'informative' and we're not committing to having all the tooling work with alternate encodings. |
Related Issue(s): #24
PR Checklist:
or a CHANGELOG entry is not required.