datex2-xml2json 0.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- datex2_xml2json/__init__.py +0 -0
- datex2_xml2json/json_validator.py +36 -0
- datex2_xml2json/merge.py +39 -0
- datex2_xml2json/schema/Baustellen-4-00-00.sch +7 -0
- datex2_xml2json/schema/DATEXIISchema_2_2_0.xsd +4707 -0
- datex2_xml2json/schema/DATEXIISchema_2_2_3.xsd +6783 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/.DS_Store +0 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_AfirEnergyInfrastructure.json +2455 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_AfirFacilities.json +2809 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_Common.json +3651 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_CommonExtension.json +919 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_ControlledZone.json +1070 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_D2Payload.json +11 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_EnergyInfrastructure.json +1924 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_Facilities.json +2858 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_FaultAndStatus.json +1415 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_LocationExtension.json +186 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_LocationReferencing.json +4847 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_Parking.json +5314 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_ReroutingManagementEnhanced.json +1160 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_RoadTrafficData.json +1938 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_Situation.json +8040 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_TrafficManagementPlan.json +2358 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_TrafficRegulation.json +3377 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_UrbanExtensions.json +194 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/DATEXII_3_Vms.json +2544 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/.DS_Store +0 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_AfirEnergyInfrastructure.xsd +2102 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_AfirFacilities.xsd +2060 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_Common.xsd +4152 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_CommonExtension.xsd +1102 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_ControlledZone.xsd +601 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_D2Payload.xsd +280 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_EnergyInfrastructure.xsd +1761 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_Facilities.xsd +2037 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_FaultAndStatus.xsd +1076 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_LocationExtension.xsd +196 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_LocationReferencing.xsd +4132 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_Parking.xsd +4025 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_ReroutingManagementEnhanced.xsd +997 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_RoadTrafficData.xsd +1273 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_Situation.xsd +5777 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_TrafficManagementPlan.xsd +1184 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_TrafficRegulation.xsd +2611 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_UrbanExtensions.xsd +148 -0
- datex2_xml2json/schema/DATEXII_3.7_Profile/xml/DATEXII_3_Vms.xsd +2290 -0
- datex2_xml2json/schema/MDM_BaustellenInfoDigitalRoadworksProfile_04-03-00.xsd +2401 -0
- datex2_xml2json/schema/MDM_Datenmodell_Baustellen_04-00-00.xsd +3232 -0
- datex2_xml2json/schema/cifs_schema.json +161 -0
- datex2_xml2json/transform/.DS_Store +0 -0
- datex2_xml2json/transform/__init__.py +13 -0
- datex2_xml2json/transform/base.py +79 -0
- datex2_xml2json/transform/cifs_transformer.py +275 -0
- datex2_xml2json/transform/geojson_geometry_transformer.py +159 -0
- datex2_xml2json/transform/geoparquet_transformer.py +160 -0
- datex2_xml2json/transform/jsonata_transformer.py +100 -0
- datex2_xml2json/transform/roads_regio_transformer.py +88 -0
- datex2_xml2json/transform/source_setter.py +42 -0
- datex2_xml2json/transform/transformation_rules.py +526 -0
- datex2_xml2json/transformer.py +197 -0
- datex2_xml2json/util.py +141 -0
- datex2_xml2json-0.0.1.dist-info/METADATA +176 -0
- datex2_xml2json-0.0.1.dist-info/RECORD +65 -0
- datex2_xml2json-0.0.1.dist-info/WHEEL +4 -0
- datex2_xml2json-0.0.1.dist-info/licenses/LICENSE.md +179 -0
|
File without changes
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
from check_jsonschema.checker import SchemaChecker
|
|
2
|
+
from check_jsonschema.file_wrapper import BinaryFileInput
|
|
3
|
+
from check_jsonschema.formats import FormatOptions
|
|
4
|
+
from check_jsonschema.instance_loader import InstanceLoader
|
|
5
|
+
from check_jsonschema.regex_variants import RegexImplementation, RegexVariantName
|
|
6
|
+
from check_jsonschema.reporter import REPORTER_BY_NAME, Reporter
|
|
7
|
+
from check_jsonschema.schema_loader import SchemaLoader
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class JsonValidator:
|
|
11
|
+
def __init__(self, schema_path):
|
|
12
|
+
self.schema_loader = SchemaLoader(
|
|
13
|
+
schema_path,
|
|
14
|
+
disable_cache=False,
|
|
15
|
+
base_uri=None,
|
|
16
|
+
validator_class=None,
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
def build_reporter(self, output_format: str, verbosity: int) -> Reporter:
|
|
20
|
+
cls = REPORTER_BY_NAME[output_format]
|
|
21
|
+
return cls(verbosity=verbosity)
|
|
22
|
+
|
|
23
|
+
def validate(self, filename):
|
|
24
|
+
checker = SchemaChecker(
|
|
25
|
+
schema_loader=self.schema_loader,
|
|
26
|
+
instance_loader=InstanceLoader([BinaryFileInput(filename)]),
|
|
27
|
+
reporter=self.build_reporter('text', 2),
|
|
28
|
+
format_opts=FormatOptions(
|
|
29
|
+
regex_impl=RegexImplementation(RegexVariantName.default),
|
|
30
|
+
enabled=True,
|
|
31
|
+
disabled_formats=[],
|
|
32
|
+
),
|
|
33
|
+
regex_impl=RegexImplementation(RegexVariantName.default),
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
return checker.run()
|
datex2_xml2json/merge.py
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from argparse import ArgumentParser
|
|
2
|
+
|
|
3
|
+
import geoparquet_io as gpio
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def merge_partition(partion: str, outfile: str) -> None:
|
|
7
|
+
"""
|
|
8
|
+
merge_partition reads all parquet files from a given partition (e.g. directory), merges them
|
|
9
|
+
and writes them to geoparquet file `outfile`.
|
|
10
|
+
|
|
11
|
+
Note: OGC_FID and index column are removed
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
# Read all partitions
|
|
15
|
+
table = gpio.read_partition(partion)
|
|
16
|
+
column_name = 'OGC_FID'
|
|
17
|
+
index = table.schema.get_field_index(column_name)
|
|
18
|
+
|
|
19
|
+
if index != -1:
|
|
20
|
+
table._table = table._table.remove_column(index)
|
|
21
|
+
table.write(outfile)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
if __name__ == '__main__':
|
|
25
|
+
parser = ArgumentParser()
|
|
26
|
+
parser.add_argument('partition', help='Partition (e.g. directory) of parquet files to merge')
|
|
27
|
+
parser.add_argument(
|
|
28
|
+
'-o',
|
|
29
|
+
'--outfile',
|
|
30
|
+
help='Path of merged parquet file',
|
|
31
|
+
default='merged.parquet',
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
args = parser.parse_args()
|
|
35
|
+
|
|
36
|
+
merge_partition(
|
|
37
|
+
args.partition,
|
|
38
|
+
args.outfile,
|
|
39
|
+
)
|