-
-
Notifications
You must be signed in to change notification settings - Fork 28
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 LandXML support #80
Conversation
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.
This is a lot of work! It's fantastic!!!
It was not clear from the description that you were adding both input and output support for the format 👍
The biggest issue I can find - and that's not very big! - is the lack of documentation, both in general and for specific details, e.g. the different values for processing points "PO", "PT" etc. is super efficient but it must be explained somewhere in the user documentation.
There's also some confusion with the tests, since only the output is covered. The existing tests for other formats use this simplistic procedure of "sampling" some points but I think it's better to use a complete sample file (or more than one). Sample files should go to sample_data
and can be used for tests (in this case, both for input and output).
I have added more comments on small details in some files.
Thank you! 😁
e3d4db8
to
270faad
Compare
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.
OK I'm just asking for a few small changes that I didn't see yesterday (file names, missing test coverage).
And the documentation: if you want I can start writing it?
I will do it. |
After rereading the code, PO, PT and ST are values used internally and not provided to end users, thus I will had a page (or multiple) on explanation around Tops development. |
I need some changes in the code before releasing this parser. |
2d704f9
to
d833f58
Compare
d833f58
to
4e385e4
Compare
This commit add basic support for LandXML output as only setup method processing InstrumentSetupX tag is added. The Survey class in landxml.py populate the survey tag of LandXML. Each sub tag has his own function and tags should be in order (convention): - SurveyHeader - Equipment - CgPoints - InstrumentSetup0 - InstrumentSetupX - ObservationGroup0 - ObservationGroupX The OutputFormat class in tops_xml.py exports points data in LandXML format.
This commit complete support for LandXML output as only cg_point method processing CgPoints tag is added.
This commit complete support for LandXML output as only raw_observation method processing ObservationGroupX tags is added.
This commit complete support for LandXML output as only equipment method processing Equipment tags is added.
This commit finalize the support for LandXML output and add a template to the output file.
This commit add a simple unittest to LandXML output.
TEMPLATE is a constant string and not a file anymore due to potential error when the program is called from outside the source tree.
The XML format is specific to LandXML, thus change all xml word to landxml.
9e44c94
to
c7c12eb
Compare
Do you need any help to update this pull request? Tests are failing because some of our input formats have no Z coordinate and the LandXML output module doesn't handle the case of missing Z coordinate:
|
I will look at this after merging master. |
Take your time, there is no deadline. |
78a13b5
to
92e9559
Compare
Weird results of test cases https://github.com/totalopenstation/totalopenstation/runs/1407259466 ^^; |
Oh, that's LandXML support coming! 😄 About those weird test results, I'm not sure it depends on ordered dictionary since you're testing the output of Replace these two lines
with
so the order doesn't matter. After all we're not testing that XML is well formed (we trust the standard library to do that). I think that settles the problem and makes LandXML a first class format 🚀 |
Thanks ! |
_tag_position() should handle subtags order not only main tags order.
To be able to pass LandXML validator, timeStamp attribute should be updated.
Huge work! |
I was looking why the check did not pass but ok to merge. |
Add support of LandXML as input and output.