Skip to content

Josephinum-Research/isoxml-py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ISOXML library for python

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)

Installation

pip install isoxml

Usage Examples

import

from isoxml.util.isoxml_io import isoxml_from_zip

task_data, bin_data = isoxml_from_zip('/path/to/TASKDATA.zip')

export

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>

more

see examples

Dependencies

  • xsdata - Naive XML Bindings for python.
  • shapely - a widely used library for editing and analyzing geometric objects.
  • numpy - you know it, you love it

Releases

No releases published

Packages

No packages published

Languages