a python library that handles import and export of ISOXML TaskData files as specified in ISO11783 part 10. inspired by isoxml-js and powered by xsdata XML bindings.
The main features:
- supports v3 and v4
- read/write directly from zip, TASKDATA-dir or any string
- conversion between shapely and isoxml geometries
- conversion of numpy array to grid data binary files
- generate code from existing TASKDATA.XML (via xsdata)
pip install isoxml
from isoxml.util.isoxml_io import isoxml_from_zip
task_data, bin_data = isoxml_from_zip('/path/to/TASKDATA.zip')
import isoxml.models.base.v4 as iso
from isoxml.util.isoxml_io import isoxml_to_text
customer = iso.Customer(
id="CTR0001",
last_name="demo_customer"
)
farm = iso.Farm(
id="FRM0001",
designator="demo farm",
customer_id_ref=customer.id
)
task_data = iso.Iso11783TaskData(
management_software_manufacturer="josephinum research",
management_software_version="0.0.0",
data_transfer_origin=iso.Iso11783TaskDataDataTransferOrigin.FMIS,
customers=[customer],
farms=[farm]
)
xml_content = isoxml_to_text(task_data)
print(xml_content)
<ISO11783_TaskData VersionMajor="4" VersionMinor="3" ManagementSoftwareManufacturer="josephinum research" ManagementSoftwareVersion="0.0.0" DataTransferOrigin="1">
<CTR A="CTR0001" B="demo_customer"/>
<FRM A="FRM0001" B="demo farm" I="CTR0001"/>
</ISO11783_TaskData>