ogc-gml 1.0.4 → 1.2.0
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.
- checksums.yaml +4 -4
- data/.github/workflows/release.yml +5 -0
- data/.rubocop.yml +3 -9
- data/.rubocop_todo.yml +79 -8
- data/CLAUDE.md +139 -0
- data/Gemfile +1 -3
- data/README.adoc +5 -4
- data/lib/ogc/gml/abstract_continuous_coverage.rb +3 -5
- data/lib/ogc/gml/abstract_coordinate_operation.rb +7 -9
- data/lib/ogc/gml/abstract_coordinate_system.rb +4 -10
- data/lib/ogc/gml/abstract_coverage.rb +3 -8
- data/lib/ogc/gml/abstract_crs.rb +3 -9
- data/lib/ogc/gml/abstract_curve.rb +3 -4
- data/lib/ogc/gml/abstract_curve_segment.rb +2 -2
- data/lib/ogc/gml/abstract_datum.rb +3 -9
- data/lib/ogc/gml/abstract_feature.rb +3 -11
- data/lib/ogc/gml/abstract_feature_collection.rb +3 -8
- data/lib/ogc/gml/abstract_general_conversion.rb +7 -12
- data/lib/ogc/gml/abstract_general_derived_crs.rb +3 -5
- data/lib/ogc/gml/abstract_general_operation_parameter.rb +3 -4
- data/lib/ogc/gml/abstract_general_operation_parameter_property.rb +8 -8
- data/lib/ogc/gml/abstract_general_parameter_value.rb +2 -2
- data/lib/ogc/gml/abstract_general_parameter_value_property.rb +4 -5
- data/lib/ogc/gml/abstract_general_transformation.rb +5 -5
- data/lib/ogc/gml/abstract_geometric_aggregate.rb +3 -4
- data/lib/ogc/gml/abstract_geometric_primitive.rb +4 -9
- data/lib/ogc/gml/abstract_geometry.rb +3 -4
- data/lib/ogc/gml/abstract_gml.rb +3 -9
- data/lib/ogc/gml/abstract_gridded_surface.rb +2 -2
- data/lib/ogc/gml/abstract_meta_data.rb +4 -4
- data/lib/ogc/gml/abstract_parametric_curve_surface.rb +2 -2
- data/lib/ogc/gml/abstract_ring.rb +2 -2
- data/lib/ogc/gml/abstract_ring_property.rb +2 -4
- data/lib/ogc/gml/abstract_solid.rb +3 -4
- data/lib/ogc/gml/abstract_surface.rb +3 -4
- data/lib/ogc/gml/abstract_surface_patch.rb +2 -2
- data/lib/ogc/gml/abstract_time_complex.rb +3 -9
- data/lib/ogc/gml/abstract_time_geometric_primitive.rb +4 -10
- data/lib/ogc/gml/abstract_time_object.rb +3 -9
- data/lib/ogc/gml/abstract_time_primitive.rb +3 -7
- data/lib/ogc/gml/abstract_time_slice.rb +3 -11
- data/lib/ogc/gml/abstract_time_topology_primitive.rb +3 -10
- data/lib/ogc/gml/abstract_topo_primitive.rb +3 -9
- data/lib/ogc/gml/abstract_topology.rb +4 -8
- data/lib/ogc/gml/affine_cs.rb +3 -4
- data/lib/ogc/gml/affine_cs_property.rb +4 -6
- data/lib/ogc/gml/affine_placement.rb +2 -5
- data/lib/ogc/gml/angle.rb +2 -5
- data/lib/ogc/gml/arc.rb +2 -3
- data/lib/ogc/gml/arc_by_bulge.rb +2 -4
- data/lib/ogc/gml/arc_by_center_point.rb +2 -7
- data/lib/ogc/gml/arc_string.rb +2 -8
- data/lib/ogc/gml/arc_string_by_bulge.rb +2 -4
- data/lib/ogc/gml/array.rb +3 -10
- data/lib/ogc/gml/array_association.rb +2 -2
- data/lib/ogc/gml/association_role.rb +4 -4
- data/lib/ogc/gml/b_spline.rb +2 -3
- data/lib/ogc/gml/bag.rb +3 -11
- data/lib/ogc/gml/base_unit.rb +3 -10
- data/lib/ogc/gml/bezier.rb +2 -8
- data/lib/ogc/gml/boolean.rb +2 -2
- data/lib/ogc/gml/bounding_shape.rb +2 -4
- data/lib/ogc/gml/cartesian_cs.rb +3 -4
- data/lib/ogc/gml/cartesian_cs_property.rb +4 -6
- data/lib/ogc/gml/category.rb +2 -4
- data/lib/ogc/gml/category_extent.rb +2 -4
- data/lib/ogc/gml/circle.rb +2 -3
- data/lib/ogc/gml/circle_by_center_point.rb +2 -9
- data/lib/ogc/gml/clothoid.rb +2 -5
- data/lib/ogc/gml/code.rb +2 -2
- data/lib/ogc/gml/code_or_nil_reason_list.rb +2 -2
- data/lib/ogc/gml/code_with_authority.rb +2 -4
- data/lib/ogc/gml/composite_curve.rb +3 -5
- data/lib/ogc/gml/composite_solid.rb +3 -5
- data/lib/ogc/gml/composite_surface.rb +3 -5
- data/lib/ogc/gml/composite_value.rb +4 -11
- data/lib/ogc/gml/compound_crs.rb +3 -5
- data/lib/ogc/gml/compound_crs_property.rb +4 -6
- data/lib/ogc/gml/concatenated_operation.rb +6 -12
- data/lib/ogc/gml/concatenated_operation_property.rb +4 -6
- data/lib/ogc/gml/cone.rb +2 -3
- data/lib/ogc/gml/control_point.rb +2 -6
- data/lib/ogc/gml/conventional_unit.rb +7 -14
- data/lib/ogc/gml/conversion.rb +9 -10
- data/lib/ogc/gml/conversion_property.rb +4 -6
- data/lib/ogc/gml/conversion_to_preferred_unit.rb +2 -4
- data/lib/ogc/gml/coordinate_operation_accuracy.rb +4 -6
- data/lib/ogc/gml/coordinate_operation_property.rb +6 -7
- data/lib/ogc/gml/coordinate_system_axis.rb +4 -9
- data/lib/ogc/gml/coordinate_system_axis_property.rb +4 -6
- data/lib/ogc/gml/coordinate_system_property.rb +4 -6
- data/lib/ogc/gml/coordinates.rb +2 -2
- data/lib/ogc/gml/count.rb +2 -2
- data/lib/ogc/gml/coverage_function.rb +2 -6
- data/lib/ogc/gml/crs_property.rb +4 -6
- data/lib/ogc/gml/cubic_spline.rb +2 -9
- data/lib/ogc/gml/curve.rb +3 -5
- data/lib/ogc/gml/curve_array_property.rb +2 -5
- data/lib/ogc/gml/curve_property.rb +7 -12
- data/lib/ogc/gml/curve_segment_array_property.rb +3 -8
- data/lib/ogc/gml/cylinder.rb +2 -3
- data/lib/ogc/gml/cylindrical_cs.rb +3 -4
- data/lib/ogc/gml/cylindrical_cs_property.rb +4 -6
- data/lib/ogc/gml/data_block.rb +4 -6
- data/lib/ogc/gml/datum_property.rb +4 -6
- data/lib/ogc/gml/definition.rb +3 -9
- data/lib/ogc/gml/definition_proxy.rb +3 -9
- data/lib/ogc/gml/degrees.rb +2 -2
- data/lib/ogc/gml/derivation_unit_term.rb +2 -2
- data/lib/ogc/gml/derived_crs.rb +3 -7
- data/lib/ogc/gml/derived_crs_property.rb +4 -6
- data/lib/ogc/gml/derived_unit.rb +3 -11
- data/lib/ogc/gml/dictionary.rb +19 -19
- data/lib/ogc/gml/dictionary_entry.rb +9 -11
- data/lib/ogc/gml/direct_position.rb +2 -2
- data/lib/ogc/gml/direct_position_list.rb +2 -2
- data/lib/ogc/gml/directed_edge_property.rb +4 -6
- data/lib/ogc/gml/directed_face_property.rb +4 -6
- data/lib/ogc/gml/directed_node_property.rb +4 -6
- data/lib/ogc/gml/directed_observation.rb +3 -16
- data/lib/ogc/gml/directed_observation_at_distance.rb +3 -17
- data/lib/ogc/gml/directed_topo_solid_property.rb +4 -6
- data/lib/ogc/gml/direction_description.rb +2 -5
- data/lib/ogc/gml/direction_property.rb +4 -9
- data/lib/ogc/gml/direction_vector.rb +2 -5
- data/lib/ogc/gml/discrete_coverage.rb +3 -4
- data/lib/ogc/gml/dms_angle.rb +2 -4
- data/lib/ogc/gml/domain_of_validity.rb +4 -6
- data/lib/ogc/gml/domain_set.rb +4 -7
- data/lib/ogc/gml/dynamic_feature.rb +3 -14
- data/lib/ogc/gml/dynamic_feature_collection.rb +3 -15
- data/lib/ogc/gml/dynamic_feature_member.rb +4 -6
- data/lib/ogc/gml/edge.rb +4 -13
- data/lib/ogc/gml/ellipsoid.rb +3 -11
- data/lib/ogc/gml/ellipsoid_property.rb +4 -6
- data/lib/ogc/gml/ellipsoidal_cs.rb +3 -4
- data/lib/ogc/gml/ellipsoidal_cs_property.rb +4 -6
- data/lib/ogc/gml/engineering_crs.rb +3 -13
- data/lib/ogc/gml/engineering_crs_property.rb +4 -6
- data/lib/ogc/gml/engineering_datum.rb +3 -4
- data/lib/ogc/gml/engineering_datum_property.rb +4 -6
- data/lib/ogc/gml/envelope.rb +2 -5
- data/lib/ogc/gml/envelope_with_time_period.rb +2 -6
- data/lib/ogc/gml/face.rb +6 -14
- data/lib/ogc/gml/face_or_topo_solid_property.rb +4 -10
- data/lib/ogc/gml/feature_array_property.rb +2 -4
- data/lib/ogc/gml/feature_collection.rb +3 -4
- data/lib/ogc/gml/feature_property.rb +4 -6
- data/lib/ogc/gml/file.rb +2 -5
- data/lib/ogc/gml/formula.rb +2 -2
- data/lib/ogc/gml/formula_citation.rb +4 -6
- data/lib/ogc/gml/general_conversion_property.rb +6 -7
- data/lib/ogc/gml/general_transformation_property.rb +6 -7
- data/lib/ogc/gml/generic_meta_data.rb +4 -4
- data/lib/ogc/gml/geocentric_crs.rb +3 -7
- data/lib/ogc/gml/geocentric_crs_property.rb +4 -6
- data/lib/ogc/gml/geodesic.rb +2 -7
- data/lib/ogc/gml/geodesic_string.rb +2 -7
- data/lib/ogc/gml/geodetic_crs.rb +3 -9
- data/lib/ogc/gml/geodetic_crs_property.rb +4 -6
- data/lib/ogc/gml/geodetic_datum.rb +3 -6
- data/lib/ogc/gml/geodetic_datum_property.rb +4 -6
- data/lib/ogc/gml/geographic_crs.rb +3 -6
- data/lib/ogc/gml/geographic_crs_property.rb +4 -6
- data/lib/ogc/gml/geometric_complex.rb +3 -5
- data/lib/ogc/gml/geometric_primitive_property.rb +6 -7
- data/lib/ogc/gml/geometry_array_property.rb +2 -4
- data/lib/ogc/gml/geometry_property.rb +4 -6
- data/lib/ogc/gml/grid.rb +4 -10
- data/lib/ogc/gml/grid_envelope.rb +2 -2
- data/lib/ogc/gml/grid_function.rb +2 -4
- data/lib/ogc/gml/grid_limits.rb +2 -4
- data/lib/ogc/gml/history_property.rb +2 -4
- data/lib/ogc/gml/identifier.rb +13 -0
- data/lib/ogc/gml/image_crs.rb +3 -8
- data/lib/ogc/gml/image_crs_property.rb +4 -6
- data/lib/ogc/gml/image_datum.rb +3 -4
- data/lib/ogc/gml/image_datum_property.rb +4 -6
- data/lib/ogc/gml/indirect_entry.rb +2 -4
- data/lib/ogc/gml/inline_property.rb +2 -2
- data/lib/ogc/gml/knot.rb +2 -2
- data/lib/ogc/gml/knot_property.rb +2 -4
- data/lib/ogc/gml/length.rb +2 -5
- data/lib/ogc/gml/line_string.rb +3 -9
- data/lib/ogc/gml/line_string_segment.rb +2 -8
- data/lib/ogc/gml/line_string_segment_array_property.rb +2 -4
- data/lib/ogc/gml/linear_cs.rb +3 -4
- data/lib/ogc/gml/linear_cs_property.rb +4 -6
- data/lib/ogc/gml/linear_ring.rb +2 -7
- data/lib/ogc/gml/location_property.rb +4 -8
- data/lib/ogc/gml/mapping_rule.rb +2 -4
- data/lib/ogc/gml/measure.rb +2 -2
- data/lib/ogc/gml/measure_list.rb +2 -2
- data/lib/ogc/gml/measure_or_nil_reason_list.rb +2 -2
- data/lib/ogc/gml/meta_data_property.rb +4 -6
- data/lib/ogc/gml/moving_object_status.rb +3 -15
- data/lib/ogc/gml/multi_curve.rb +3 -5
- data/lib/ogc/gml/multi_curve_property.rb +4 -6
- data/lib/ogc/gml/multi_geometry.rb +3 -6
- data/lib/ogc/gml/multi_geometry_property.rb +6 -7
- data/lib/ogc/gml/multi_point.rb +3 -6
- data/lib/ogc/gml/multi_point_property.rb +4 -6
- data/lib/ogc/gml/multi_solid.rb +3 -6
- data/lib/ogc/gml/multi_solid_property.rb +4 -6
- data/lib/ogc/gml/multi_surface.rb +3 -6
- data/lib/ogc/gml/multi_surface_property.rb +4 -6
- data/lib/ogc/gml/namespace.rb +9 -0
- data/lib/ogc/gml/namespaces/gml_31_namespace.rb +14 -0
- data/lib/ogc/gml/namespaces/gml_32_namespace.rb +14 -0
- data/lib/ogc/gml/node.rb +4 -15
- data/lib/ogc/gml/node_or_edge_property.rb +4 -10
- data/lib/ogc/gml/node_property.rb +4 -6
- data/lib/ogc/gml/oblique_cartesian_cs.rb +3 -4
- data/lib/ogc/gml/oblique_cartesian_cs_property.rb +4 -6
- data/lib/ogc/gml/observation.rb +3 -15
- data/lib/ogc/gml/offset_curve.rb +2 -7
- data/lib/ogc/gml/operation_method.rb +5 -12
- data/lib/ogc/gml/operation_method_property.rb +4 -6
- data/lib/ogc/gml/operation_parameter.rb +3 -4
- data/lib/ogc/gml/operation_parameter_group.rb +5 -6
- data/lib/ogc/gml/operation_parameter_group_property.rb +4 -6
- data/lib/ogc/gml/operation_parameter_property.rb +4 -6
- data/lib/ogc/gml/operation_property.rb +4 -6
- data/lib/ogc/gml/orientable_curve.rb +4 -13
- data/lib/ogc/gml/orientable_surface.rb +4 -10
- data/lib/ogc/gml/parameter_value.rb +2 -7
- data/lib/ogc/gml/parameter_value_group.rb +4 -6
- data/lib/ogc/gml/pass_through_operation.rb +5 -13
- data/lib/ogc/gml/pass_through_operation_property.rb +4 -6
- data/lib/ogc/gml/point.rb +3 -5
- data/lib/ogc/gml/point_array_property.rb +2 -4
- data/lib/ogc/gml/point_property.rb +4 -6
- data/lib/ogc/gml/polar_cs.rb +3 -4
- data/lib/ogc/gml/polar_cs_property.rb +4 -6
- data/lib/ogc/gml/polygon.rb +3 -6
- data/lib/ogc/gml/polygon_patch.rb +2 -4
- data/lib/ogc/gml/prime_meridian.rb +3 -10
- data/lib/ogc/gml/prime_meridian_property.rb +4 -6
- data/lib/ogc/gml/priority_location_property.rb +4 -8
- data/lib/ogc/gml/procedure_property.rb +4 -6
- data/lib/ogc/gml/projected_crs.rb +3 -7
- data/lib/ogc/gml/projected_crs_property.rb +4 -6
- data/lib/ogc/gml/quantity.rb +2 -4
- data/lib/ogc/gml/quantity_extent.rb +2 -4
- data/lib/ogc/gml/range_set.rb +2 -6
- data/lib/ogc/gml/rectangle.rb +2 -4
- data/lib/ogc/gml/rectified_grid.rb +4 -12
- data/lib/ogc/gml/ref_location.rb +2 -4
- data/lib/ogc/gml/reference.rb +10 -4
- data/lib/ogc/gml/related_time.rb +4 -6
- data/lib/ogc/gml/result.rb +4 -4
- data/lib/ogc/gml/ring.rb +2 -3
- data/lib/ogc/gml/second_defining_parameter1.rb +2 -4
- data/lib/ogc/gml/second_defining_parameter2.rb +2 -5
- data/lib/ogc/gml/sequence_rule.rb +2 -2
- data/lib/ogc/gml/shell.rb +2 -6
- data/lib/ogc/gml/shell_property.rb +2 -6
- data/lib/ogc/gml/single_crs_property.rb +4 -6
- data/lib/ogc/gml/single_operation_property.rb +4 -6
- data/lib/ogc/gml/solid.rb +3 -5
- data/lib/ogc/gml/solid_array_property.rb +2 -4
- data/lib/ogc/gml/solid_property.rb +4 -6
- data/lib/ogc/gml/sphere.rb +2 -3
- data/lib/ogc/gml/spherical_cs.rb +3 -4
- data/lib/ogc/gml/spherical_cs_property.rb +4 -6
- data/lib/ogc/gml/string_or_ref.rb +4 -4
- data/lib/ogc/gml/surface.rb +4 -5
- data/lib/ogc/gml/surface_array_property.rb +2 -4
- data/lib/ogc/gml/surface_patch_array_property.rb +2 -5
- data/lib/ogc/gml/surface_property.rb +4 -7
- data/lib/ogc/gml/target_property.rb +4 -7
- data/lib/ogc/gml/temporal_crs.rb +3 -7
- data/lib/ogc/gml/temporal_crs_property.rb +4 -6
- data/lib/ogc/gml/temporal_cs.rb +3 -4
- data/lib/ogc/gml/temporal_cs_property.rb +4 -6
- data/lib/ogc/gml/temporal_datum.rb +3 -10
- data/lib/ogc/gml/temporal_datum_property.rb +4 -6
- data/lib/ogc/gml/time_calendar.rb +3 -10
- data/lib/ogc/gml/time_calendar_era.rb +3 -11
- data/lib/ogc/gml/time_calendar_era_property.rb +4 -6
- data/lib/ogc/gml/time_calendar_property.rb +4 -6
- data/lib/ogc/gml/time_clock.rb +3 -11
- data/lib/ogc/gml/time_coordinate_system.rb +3 -12
- data/lib/ogc/gml/time_cs.rb +3 -4
- data/lib/ogc/gml/time_cs_property.rb +4 -6
- data/lib/ogc/gml/time_edge.rb +3 -12
- data/lib/ogc/gml/time_edge_property.rb +4 -6
- data/lib/ogc/gml/time_instant.rb +3 -5
- data/lib/ogc/gml/time_instant_property.rb +4 -6
- data/lib/ogc/gml/time_interval_length.rb +2 -2
- data/lib/ogc/gml/time_node.rb +3 -9
- data/lib/ogc/gml/time_node_property.rb +4 -6
- data/lib/ogc/gml/time_ordinal_era.rb +3 -12
- data/lib/ogc/gml/time_ordinal_era_property.rb +4 -6
- data/lib/ogc/gml/time_ordinal_reference_system.rb +3 -10
- data/lib/ogc/gml/time_period.rb +3 -7
- data/lib/ogc/gml/time_period_property.rb +4 -6
- data/lib/ogc/gml/time_position.rb +2 -2
- data/lib/ogc/gml/time_primitive_property.rb +4 -6
- data/lib/ogc/gml/time_reference_system.rb +3 -9
- data/lib/ogc/gml/time_topology_complex.rb +3 -10
- data/lib/ogc/gml/time_topology_primitive_property.rb +6 -7
- data/lib/ogc/gml/tin.rb +3 -9
- data/lib/ogc/gml/topo_complex.rb +4 -15
- data/lib/ogc/gml/topo_complex_property.rb +4 -6
- data/lib/ogc/gml/topo_curve.rb +4 -10
- data/lib/ogc/gml/topo_curve_property.rb +2 -4
- data/lib/ogc/gml/topo_point.rb +3 -10
- data/lib/ogc/gml/topo_point_property.rb +2 -4
- data/lib/ogc/gml/topo_primitive_array_association.rb +4 -5
- data/lib/ogc/gml/topo_primitive_member.rb +4 -6
- data/lib/ogc/gml/topo_solid.rb +4 -15
- data/lib/ogc/gml/topo_solid_property.rb +4 -6
- data/lib/ogc/gml/topo_surface.rb +4 -10
- data/lib/ogc/gml/topo_surface_property.rb +2 -4
- data/lib/ogc/gml/topo_volume.rb +6 -11
- data/lib/ogc/gml/topo_volume_property.rb +2 -4
- data/lib/ogc/gml/transformation.rb +9 -17
- data/lib/ogc/gml/transformation_property.rb +4 -6
- data/lib/ogc/gml/triangle.rb +2 -4
- data/lib/ogc/gml/unit_definition.rb +3 -10
- data/lib/ogc/gml/unit_of_measure.rb +2 -2
- data/lib/ogc/gml/user_defined_cs.rb +3 -4
- data/lib/ogc/gml/user_defined_cs_property.rb +4 -6
- data/lib/ogc/gml/value_array.rb +4 -11
- data/lib/ogc/gml/value_array_property.rb +2 -5
- data/lib/ogc/gml/value_property.rb +4 -7
- data/lib/ogc/gml/vector.rb +2 -4
- data/lib/ogc/gml/version.rb +1 -1
- data/lib/ogc/gml/vertical_crs.rb +3 -6
- data/lib/ogc/gml/vertical_crs_property.rb +4 -6
- data/lib/ogc/gml/vertical_cs.rb +3 -4
- data/lib/ogc/gml/vertical_cs_property.rb +4 -6
- data/lib/ogc/gml/vertical_datum.rb +3 -4
- data/lib/ogc/gml/vertical_datum_property.rb +4 -6
- data/lib/ogc/gml.rb +661 -327
- data/ogc-gml.gemspec +3 -1
- metadata +9 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b8f0d439b67f0cc07b0974172fcb075c253f1e245947dd524a2cb53920529aef
|
|
4
|
+
data.tar.gz: d2413f431befdf21e5e7aad79fdaceb68be0636b49034d36dff6adf3777aeb9c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c0f302d4a94cbce0011ac7bf7991879d24e8e37fe04c08002078de0e55f9ea19c1795f2edc02217bcff16fd287662c2e80c423f7753aeee2b7f72838f43c5cbd
|
|
7
|
+
data.tar.gz: 76fa53ef24147b5b69d68e27c336f577c19201b940a0cdbe187e3bddf170c9c5d2544c8dc4512018e6e82c2621d76eea0913d3468f360d000e5f6a00b3e0a491
|
data/.rubocop.yml
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
inherit_from:
|
|
1
|
+
inherit_from:
|
|
2
|
+
- https://raw.githubusercontent.com/riboseinc/oss-guides/main/ci/rubocop.yml
|
|
3
|
+
- .rubocop_todo.yml
|
|
2
4
|
|
|
3
5
|
plugins:
|
|
4
6
|
- rubocop-performance
|
|
@@ -10,11 +12,3 @@ AllCops:
|
|
|
10
12
|
NewCops: enable
|
|
11
13
|
Exclude:
|
|
12
14
|
- 'vendor/**/*'
|
|
13
|
-
- 'Gemfile'
|
|
14
|
-
|
|
15
|
-
Style/StringLiterals:
|
|
16
|
-
EnforcedStyle: double_quotes
|
|
17
|
-
|
|
18
|
-
Style/StringLiteralsInInterpolation:
|
|
19
|
-
EnforcedStyle: double_quotes
|
|
20
|
-
|
data/.rubocop_todo.yml
CHANGED
|
@@ -1,29 +1,100 @@
|
|
|
1
1
|
# This configuration was generated by
|
|
2
2
|
# `rubocop --auto-gen-config`
|
|
3
|
-
# on
|
|
3
|
+
# on 2026-03-21 03:02:47 UTC using RuboCop version 1.85.1.
|
|
4
4
|
# The point is for the user to remove these configuration records
|
|
5
5
|
# one by one as the offenses are removed from the code base.
|
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
|
8
8
|
|
|
9
9
|
# Offense count: 1
|
|
10
|
-
# Configuration parameters: Severity, Include.
|
|
11
|
-
# Include: **/*.gemspec
|
|
12
10
|
Gemspec/RequiredRubyVersion:
|
|
13
11
|
Exclude:
|
|
14
12
|
- 'ogc-gml.gemspec'
|
|
15
13
|
|
|
14
|
+
# Offense count: 1
|
|
15
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
16
|
+
Layout/EmptyLineAfterGuardClause:
|
|
17
|
+
Exclude:
|
|
18
|
+
- 'profile_canon_detailed.rb'
|
|
19
|
+
|
|
20
|
+
# Offense count: 33
|
|
21
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
22
|
+
# Configuration parameters: Max, AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
|
|
23
|
+
# URISchemes: http, https
|
|
24
|
+
Layout/LineLength:
|
|
25
|
+
Exclude:
|
|
26
|
+
- 'profile_canon.rb'
|
|
27
|
+
- 'profile_canon_detailed.rb'
|
|
28
|
+
- 'spec/ogc/gml/composite_curve_spec.rb'
|
|
29
|
+
- 'spec/ogc/gml/curve_spec.rb'
|
|
30
|
+
- 'spec/ogc/gml/dictionary_spec.rb'
|
|
31
|
+
- 'spec/ogc/gml/envelope_spec.rb'
|
|
32
|
+
- 'spec/ogc/gml/line_string_spec.rb'
|
|
33
|
+
- 'spec/ogc/gml/multi_curve_spec.rb'
|
|
34
|
+
- 'spec/ogc/gml/multi_point_spec.rb'
|
|
35
|
+
- 'spec/ogc/gml/multi_surface_spec.rb'
|
|
36
|
+
- 'spec/ogc/gml/point_spec.rb'
|
|
37
|
+
- 'spec/ogc/gml/polygon_spec.rb'
|
|
38
|
+
- 'spec/ogc/gml/surface_spec.rb'
|
|
39
|
+
|
|
40
|
+
# Offense count: 20
|
|
41
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
42
|
+
# Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator, EnforcedStyleForRationalLiterals.
|
|
43
|
+
# SupportedStylesForExponentOperator: space, no_space
|
|
44
|
+
# SupportedStylesForRationalLiterals: space, no_space
|
|
45
|
+
Layout/SpaceAroundOperators:
|
|
46
|
+
Exclude:
|
|
47
|
+
- 'profile_canon.rb'
|
|
48
|
+
- 'profile_canon_detailed.rb'
|
|
49
|
+
|
|
16
50
|
# Offense count: 12
|
|
17
51
|
# Configuration parameters: CountAsOne.
|
|
18
52
|
RSpec/ExampleLength:
|
|
19
|
-
Max:
|
|
53
|
+
Max: 11
|
|
20
54
|
|
|
21
55
|
# Offense count: 2
|
|
22
56
|
RSpec/RepeatedDescription:
|
|
23
57
|
Exclude:
|
|
24
58
|
- 'spec/ogc/gml/polygon_spec.rb'
|
|
25
59
|
|
|
26
|
-
# Offense count:
|
|
27
|
-
#
|
|
28
|
-
|
|
29
|
-
|
|
60
|
+
# Offense count: 2
|
|
61
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
62
|
+
# Configuration parameters: AllowOnlyRestArgument, UseAnonymousForwarding, RedundantRestArgumentNames, RedundantKeywordRestArgumentNames, RedundantBlockArgumentNames.
|
|
63
|
+
# RedundantRestArgumentNames: args, arguments
|
|
64
|
+
# RedundantKeywordRestArgumentNames: kwargs, options, opts
|
|
65
|
+
# RedundantBlockArgumentNames: blk, block, proc
|
|
66
|
+
Style/ArgumentsForwarding:
|
|
67
|
+
Exclude:
|
|
68
|
+
- 'lib/ogc/gml/versioned_model.rb'
|
|
69
|
+
|
|
70
|
+
# Offense count: 2
|
|
71
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
72
|
+
Style/RedundantParentheses:
|
|
73
|
+
Exclude:
|
|
74
|
+
- 'profile_canon.rb'
|
|
75
|
+
|
|
76
|
+
# Offense count: 17
|
|
77
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
78
|
+
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
|
|
79
|
+
# SupportedStyles: single_quotes, double_quotes
|
|
80
|
+
Style/StringLiterals:
|
|
81
|
+
Exclude:
|
|
82
|
+
- 'profile_canon.rb'
|
|
83
|
+
- 'profile_canon_detailed.rb'
|
|
84
|
+
|
|
85
|
+
# Offense count: 5
|
|
86
|
+
# This cop supports unsafe autocorrection (--autocorrect-all).
|
|
87
|
+
# Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments.
|
|
88
|
+
# AllowedMethods: define_method
|
|
89
|
+
Style/SymbolProc:
|
|
90
|
+
Exclude:
|
|
91
|
+
- 'profile_canon.rb'
|
|
92
|
+
- 'profile_canon_detailed.rb'
|
|
93
|
+
|
|
94
|
+
# Offense count: 1
|
|
95
|
+
# This cop supports safe autocorrection (--autocorrect).
|
|
96
|
+
# Configuration parameters: EnforcedStyleForMultiline.
|
|
97
|
+
# SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma
|
|
98
|
+
Style/TrailingCommaInHashLiteral:
|
|
99
|
+
Exclude:
|
|
100
|
+
- 'spec/spec_helper.rb'
|
data/CLAUDE.md
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
|
4
|
+
|
|
5
|
+
## Project Overview
|
|
6
|
+
|
|
7
|
+
This is a Ruby gem for parsing and generating OGC GML 3.2 (Geography Markup Language) data. It provides Ruby objects that map to GML schema elements, using the `lutaml-model` library for XML serialization/deserialization.
|
|
8
|
+
|
|
9
|
+
GML 3.1.1 documents are NOT parsed by these models (different namespace and schema). Multi-version support is planned on lutaml-model's register system (namespace-bound contexts per version, the plurimath/mml pattern); the i-UR 3.1.1 fixtures are skipped in specs until the gml_31 register mappings are generated.
|
|
10
|
+
|
|
11
|
+
## Commands
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Install dependencies (includes git submodule initialization)
|
|
15
|
+
git submodule update --init --recursive
|
|
16
|
+
bundle install
|
|
17
|
+
|
|
18
|
+
# Run all tests
|
|
19
|
+
bundle exec rake spec
|
|
20
|
+
# or
|
|
21
|
+
bundle exec rspec
|
|
22
|
+
|
|
23
|
+
# Run a single test file
|
|
24
|
+
bundle exec rspec spec/ogc/gml/point_spec.rb
|
|
25
|
+
|
|
26
|
+
# Run a specific test
|
|
27
|
+
bundle exec rspec spec/ogc/gml/point_spec.rb:18
|
|
28
|
+
|
|
29
|
+
# Run linter
|
|
30
|
+
bundle exec rubocop
|
|
31
|
+
|
|
32
|
+
# Run linter with auto-fix
|
|
33
|
+
bundle exec rubocop -A
|
|
34
|
+
|
|
35
|
+
# Run default task (tests + linting)
|
|
36
|
+
bundle exec rake
|
|
37
|
+
|
|
38
|
+
# Start interactive console
|
|
39
|
+
bin/console
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Architecture
|
|
43
|
+
|
|
44
|
+
The codebase follows a consistent pattern where each GML element is represented by a Ruby class:
|
|
45
|
+
|
|
46
|
+
- **Location**: All model classes are in `lib/ogc/gml/` with one class per file
|
|
47
|
+
- **Entry point**: `lib/ogc/gml.rb` registers `autoload` entries for every class; there is no `require_relative` graph (removing it fixed the circular-require warnings of issue #21). Never add `require_relative` for internal library code — add an autoload entry in `lib/ogc/gml.rb`.
|
|
48
|
+
- **One class per file, opened first**: mutually recursive schema types rely on the class keyword executing before any cyclic constant reference. Do not embed duplicate or stub class definitions in other files (the old cycle-dodge shells broke autoload resolution).
|
|
49
|
+
- **Namespace**: `lib/ogc/gml/namespace.rb` aliases `Namespace = Gml32Namespace`; the version namespace classes live in `lib/ogc/gml/namespaces/`
|
|
50
|
+
|
|
51
|
+
### Class Hierarchy
|
|
52
|
+
|
|
53
|
+
Classes inherit from abstract base classes that mirror the GML schema:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
Lutaml::Model::Serializable
|
|
57
|
+
└── AbstractGml
|
|
58
|
+
├── AbstractFeature (features, collections)
|
|
59
|
+
├── AbstractGeometry ← AbstractGeometricPrimitive
|
|
60
|
+
│ ├── Point, LineString, Curve, Surface, Solid, etc.
|
|
61
|
+
│ └── Multi* aggregate types
|
|
62
|
+
├── AbstractCRS (coordinate reference systems)
|
|
63
|
+
├── AbstractDatum, AbstractCoordinateSystem
|
|
64
|
+
└── AbstractTime* (temporal types)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### XML Mapping Pattern
|
|
68
|
+
|
|
69
|
+
Each class defines its XML structure using the `xml` block:
|
|
70
|
+
|
|
71
|
+
```ruby
|
|
72
|
+
class Point < AbstractGeometry
|
|
73
|
+
attribute :pos, DirectPosition
|
|
74
|
+
attribute :coordinates, Coordinates
|
|
75
|
+
|
|
76
|
+
xml do
|
|
77
|
+
element "Point"
|
|
78
|
+
namespace Namespace # References the Gml::Namespace constant
|
|
79
|
+
|
|
80
|
+
# gml:id is a namespace-qualified global attribute
|
|
81
|
+
map_attribute "id", to: :id, form: :qualified
|
|
82
|
+
# Local attributes are unqualified in the GML schema
|
|
83
|
+
map_attribute "srsName", to: :srs_name
|
|
84
|
+
|
|
85
|
+
map_element "pos", to: :pos
|
|
86
|
+
map_element "coordinates", to: :coordinates
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Namespace Configuration
|
|
92
|
+
|
|
93
|
+
The namespace classes (`lib/ogc/gml/namespaces/gml_32_namespace.rb`) configure the GML namespace:
|
|
94
|
+
|
|
95
|
+
```ruby
|
|
96
|
+
class Gml32Namespace < Lutaml::Xml::Namespace
|
|
97
|
+
uri "http://www.opengis.net/gml/3.2"
|
|
98
|
+
prefix_default "gml"
|
|
99
|
+
element_form_default :qualified
|
|
100
|
+
# NO attribute_form_default here: GML declares attributeFormDefault="unqualified".
|
|
101
|
+
# Qualifying the schema-wide default serialized invalid gml:srsName (issue #22).
|
|
102
|
+
# Only per-rule form: :qualified on gml:id attributes.
|
|
103
|
+
end
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Testing
|
|
107
|
+
|
|
108
|
+
Tests use RSpec with the `canon` gem for XML comparison. The main pattern is round-trip testing:
|
|
109
|
+
|
|
110
|
+
```ruby
|
|
111
|
+
it "round-trips Point-epsg3045.xml" do
|
|
112
|
+
input = file_contents("Point-epsg3045.xml")
|
|
113
|
+
output = described_class.from_xml(input).to_xml(
|
|
114
|
+
prefix: true, # Include namespace prefixes
|
|
115
|
+
pretty: true, # Format with indentation
|
|
116
|
+
declaration: true # Include XML declaration
|
|
117
|
+
)
|
|
118
|
+
expect(SpecHelpers.remove_xml_comments(output))
|
|
119
|
+
.to be_xml_equivalent_to(SpecHelpers.remove_xml_comments(input))
|
|
120
|
+
end
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
- `SpecHelpers.remove_xml_comments` (in `spec/spec_helper.rb`) is the shared comment-stripper.
|
|
124
|
+
- Strict attribute-form assertions live in `spec/ogc/gml/point_spec.rb` (gml:id prefixed; srsName/srsDimension never prefixed) and `spec/ogc/gml/gml3*_namespace_spec.rb`. Canon compares attributes loosely (lutaml/canon#155), so prefix regressions are only caught by these strict specs.
|
|
125
|
+
- RSpec semantics: `pending "reason"` inside an example body STILL EXECUTES the body; use `skip "reason"` when the body must not run (this once turned "pending" 3.1.1 round-trips into a multi-minute suite freeze).
|
|
126
|
+
|
|
127
|
+
Test fixtures are located in:
|
|
128
|
+
- `spec/fixtures/ets-gml32/` - GML test suite from OGC ETS for GML 3.2 (git submodule)
|
|
129
|
+
- `spec/fixtures/geospatial_jp_iur_3.1/` - Japanese i-UR codelist data (GML 3.1.1; round-trips skipped pending gml_31 register support)
|
|
130
|
+
|
|
131
|
+
## Dependencies
|
|
132
|
+
|
|
133
|
+
- **lutaml-model**: XML serialization framework (`~> 0.8.20` — first release with source-namespace-preserving serialization, which round-trip fidelity relies on)
|
|
134
|
+
- **nokogiri**: XML parsing
|
|
135
|
+
- **canon**: XML comparison for tests (dev dependency in Gemfile, not gemspec)
|
|
136
|
+
|
|
137
|
+
## Known upstream issues
|
|
138
|
+
|
|
139
|
+
- lutaml-model#754: lenient parsing of out-of-namespace documents silently drops `gml:description` content; resolution is strict expanded-name parsing with register-based multi-version support, never local-name fallbacks.
|
data/Gemfile
CHANGED
|
@@ -5,12 +5,10 @@ source "https://rubygems.org"
|
|
|
5
5
|
# Specify your gem's dependencies in ogc-gml.gemspec
|
|
6
6
|
gemspec
|
|
7
7
|
|
|
8
|
-
gem "
|
|
9
|
-
gem "pry"
|
|
8
|
+
gem "canon"
|
|
10
9
|
gem "rake"
|
|
11
10
|
gem "rspec"
|
|
12
11
|
gem "rubocop"
|
|
13
12
|
gem "rubocop-performance"
|
|
14
13
|
gem "rubocop-rake"
|
|
15
14
|
gem "rubocop-rspec"
|
|
16
|
-
gem "xml-c14n"
|
data/README.adoc
CHANGED
|
@@ -23,6 +23,7 @@ And then execute:
|
|
|
23
23
|
[source,bash]
|
|
24
24
|
----
|
|
25
25
|
$ bundle install
|
|
26
|
+
$ git submodule update --init --recursive
|
|
26
27
|
----
|
|
27
28
|
|
|
28
29
|
== Usage
|
|
@@ -45,10 +46,10 @@ For example:
|
|
|
45
46
|
gml_data = File.read('spec/fixtures/geospatial_jp_iur_3.1/Bridge_class.xml')
|
|
46
47
|
gml = Ogc::Gml::Dictionary.from_xml(gml_data)
|
|
47
48
|
|
|
48
|
-
# Access the loaded GML Dictionary
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
puts
|
|
49
|
+
# Access the loaded GML Dictionary entries
|
|
50
|
+
gml.dictionary_entry.each do |entry|
|
|
51
|
+
definition = entry.definition
|
|
52
|
+
puts "#{definition.name.first&.content}: #{definition.description}"
|
|
52
53
|
end
|
|
53
54
|
----
|
|
54
55
|
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "lutaml/model"
|
|
4
|
-
require_relative "coverage_function"
|
|
5
|
-
require_relative "abstract_coverage"
|
|
6
4
|
|
|
7
5
|
module Ogc
|
|
8
6
|
module Gml
|
|
@@ -14,10 +12,10 @@ module Ogc
|
|
|
14
12
|
attribute :coverage_function, CoverageFunction
|
|
15
13
|
|
|
16
14
|
xml do
|
|
17
|
-
|
|
18
|
-
namespace
|
|
15
|
+
element "AbstractContinuousCoverage"
|
|
16
|
+
namespace Namespace
|
|
19
17
|
|
|
20
|
-
map_attribute "id", to: :id,
|
|
18
|
+
map_attribute "id", to: :id, form: :qualified
|
|
21
19
|
map_element "metaDataProperty", to: :meta_data_property
|
|
22
20
|
map_element "description", to: :description
|
|
23
21
|
map_element "descriptionReference", to: :description_reference
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
require "lutaml/model"
|
|
4
4
|
|
|
5
|
-
require_relative "coordinate_operation_accuracy"
|
|
6
|
-
require_relative "crs_property"
|
|
7
|
-
require_relative "abstract_topology"
|
|
8
|
-
|
|
9
5
|
module Ogc
|
|
10
6
|
module Gml
|
|
11
7
|
class AbstractCoordinateOperation < AbstractTopology
|
|
@@ -13,15 +9,16 @@ module Ogc
|
|
|
13
9
|
attribute :domain_of_validity, :string
|
|
14
10
|
attribute :scope, :string, collection: true
|
|
15
11
|
attribute :operation_version, :string
|
|
16
|
-
attribute :coordinate_operation_accuracy, CoordinateOperationAccuracy,
|
|
12
|
+
attribute :coordinate_operation_accuracy, CoordinateOperationAccuracy,
|
|
13
|
+
collection: true
|
|
17
14
|
attribute :source_crs, CRSProperty
|
|
18
15
|
attribute :target_crs, CRSProperty
|
|
19
16
|
|
|
20
17
|
xml do
|
|
21
|
-
|
|
22
|
-
namespace
|
|
18
|
+
element "AbstractOperation"
|
|
19
|
+
namespace Namespace
|
|
23
20
|
|
|
24
|
-
map_attribute "id", to: :id,
|
|
21
|
+
map_attribute "id", to: :id, form: :qualified
|
|
25
22
|
map_element "metaDataProperty", to: :meta_data_property
|
|
26
23
|
map_element "description", to: :description
|
|
27
24
|
map_element "descriptionReference", to: :description_reference
|
|
@@ -31,7 +28,8 @@ module Ogc
|
|
|
31
28
|
map_element "domainOfValidity", to: :domain_of_validity
|
|
32
29
|
map_element "scope", to: :scope
|
|
33
30
|
map_element "operationVersion", to: :operation_version
|
|
34
|
-
map_element "coordinateOperationAccuracy",
|
|
31
|
+
map_element "coordinateOperationAccuracy",
|
|
32
|
+
to: :coordinate_operation_accuracy
|
|
35
33
|
map_element "sourceCRS", to: :source_crs
|
|
36
34
|
map_element "targetCRS", to: :target_crs
|
|
37
35
|
end
|
|
@@ -2,16 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
require "lutaml/model"
|
|
4
4
|
|
|
5
|
-
require_relative "code"
|
|
6
|
-
require_relative "code_with_authority"
|
|
7
|
-
require_relative "coordinate_system_axis_property"
|
|
8
|
-
require_relative "meta_data_property"
|
|
9
|
-
require_relative "reference"
|
|
10
|
-
|
|
11
5
|
module Ogc
|
|
12
6
|
module Gml
|
|
13
7
|
class AbstractCoordinateSystem < Lutaml::Model::Serializable
|
|
14
|
-
attribute :id,
|
|
8
|
+
attribute :id, Identifier
|
|
15
9
|
attribute :aggregation_type, :string
|
|
16
10
|
attribute :meta_data_property, MetaDataProperty, collection: true
|
|
17
11
|
attribute :description, :string
|
|
@@ -22,10 +16,10 @@ module Ogc
|
|
|
22
16
|
attribute :axis, CoordinateSystemAxisProperty, collection: true
|
|
23
17
|
|
|
24
18
|
xml do
|
|
25
|
-
|
|
26
|
-
namespace
|
|
19
|
+
element "AbstractCoordinateSystem"
|
|
20
|
+
namespace Namespace
|
|
27
21
|
|
|
28
|
-
map_attribute "id", to: :id,
|
|
22
|
+
map_attribute "id", to: :id, form: :qualified
|
|
29
23
|
map_attribute "aggregationType", to: :aggregation_type
|
|
30
24
|
map_element "metaDataProperty", to: :meta_data_property
|
|
31
25
|
map_element "description", to: :description
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "lutaml/model"
|
|
4
|
-
require_relative "bounding_shape"
|
|
5
|
-
require_relative "domain_set"
|
|
6
|
-
require_relative "location_property"
|
|
7
|
-
require_relative "range_set"
|
|
8
|
-
require_relative "abstract_topology"
|
|
9
4
|
|
|
10
5
|
module Ogc
|
|
11
6
|
module Gml
|
|
@@ -16,10 +11,10 @@ module Ogc
|
|
|
16
11
|
attribute :range_set, RangeSet
|
|
17
12
|
|
|
18
13
|
xml do
|
|
19
|
-
|
|
20
|
-
namespace
|
|
14
|
+
element "AbstractCoverage"
|
|
15
|
+
namespace Namespace
|
|
21
16
|
|
|
22
|
-
map_attribute "id", to: :id,
|
|
17
|
+
map_attribute "id", to: :id, form: :qualified
|
|
23
18
|
map_element "metaDataProperty", to: :meta_data_property
|
|
24
19
|
map_element "description", to: :description
|
|
25
20
|
map_element "descriptionReference", to: :description_reference
|
data/lib/ogc/gml/abstract_crs.rb
CHANGED
|
@@ -2,12 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
require "lutaml/model"
|
|
4
4
|
|
|
5
|
-
require_relative "code"
|
|
6
|
-
require_relative "code_with_authority"
|
|
7
|
-
require_relative "meta_data_property"
|
|
8
|
-
require_relative "reference"
|
|
9
|
-
require_relative "abstract_topology"
|
|
10
|
-
|
|
11
5
|
module Ogc
|
|
12
6
|
module Gml
|
|
13
7
|
class AbstractCRS < AbstractTopology
|
|
@@ -16,10 +10,10 @@ module Ogc
|
|
|
16
10
|
attribute :scope, :string, collection: true
|
|
17
11
|
|
|
18
12
|
xml do
|
|
19
|
-
|
|
20
|
-
namespace
|
|
13
|
+
element "AbstractSingleCRS"
|
|
14
|
+
namespace Namespace
|
|
21
15
|
|
|
22
|
-
map_attribute "id", to: :id,
|
|
16
|
+
map_attribute "id", to: :id, form: :qualified
|
|
23
17
|
map_element "metaDataProperty", to: :meta_data_property
|
|
24
18
|
map_element "description", to: :description
|
|
25
19
|
map_element "descriptionReference", to: :description_reference
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "lutaml/model"
|
|
4
|
-
require_relative "abstract_geometric_primitive"
|
|
5
4
|
|
|
6
5
|
module Ogc
|
|
7
6
|
module Gml
|
|
8
7
|
class AbstractCurve < AbstractGeometricPrimitive
|
|
9
8
|
xml do
|
|
10
|
-
|
|
11
|
-
namespace
|
|
9
|
+
element "AbstractCurve"
|
|
10
|
+
namespace Namespace
|
|
12
11
|
|
|
13
|
-
map_attribute "id", to: :id,
|
|
12
|
+
map_attribute "id", to: :id, form: :qualified
|
|
14
13
|
map_attribute "srsName", to: :srs_name
|
|
15
14
|
map_attribute "srsDimension", to: :srs_dimension
|
|
16
15
|
map_attribute "axisLabels", to: :axis_labels
|
|
@@ -10,8 +10,8 @@ module Ogc
|
|
|
10
10
|
attribute :num_derivative_interior, :integer # , default: -> { "0" }
|
|
11
11
|
|
|
12
12
|
xml do
|
|
13
|
-
|
|
14
|
-
namespace
|
|
13
|
+
element "AbstractCurveSegment"
|
|
14
|
+
namespace Namespace
|
|
15
15
|
|
|
16
16
|
map_attribute "numDerivativesAtStart", to: :num_derivatives_at_start
|
|
17
17
|
map_attribute "numDerivativesAtEnd", to: :num_derivatives_at_end
|
|
@@ -2,12 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
require "lutaml/model"
|
|
4
4
|
|
|
5
|
-
require_relative "code"
|
|
6
|
-
require_relative "code_with_authority"
|
|
7
|
-
require_relative "meta_data_property"
|
|
8
|
-
require_relative "reference"
|
|
9
|
-
require_relative "abstract_topology"
|
|
10
|
-
|
|
11
5
|
module Ogc
|
|
12
6
|
module Gml
|
|
13
7
|
class AbstractDatum < AbstractTopology
|
|
@@ -18,10 +12,10 @@ module Ogc
|
|
|
18
12
|
attribute :realization_epoch, :date
|
|
19
13
|
|
|
20
14
|
xml do
|
|
21
|
-
|
|
22
|
-
namespace
|
|
15
|
+
element "AbstractDatum"
|
|
16
|
+
namespace Namespace
|
|
23
17
|
|
|
24
|
-
map_attribute "id", to: :id,
|
|
18
|
+
map_attribute "id", to: :id, form: :qualified
|
|
25
19
|
map_element "metaDataProperty", to: :meta_data_property
|
|
26
20
|
map_element "description", to: :description
|
|
27
21
|
map_element "descriptionReference", to: :description_reference
|
|
@@ -2,14 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
require "lutaml/model"
|
|
4
4
|
|
|
5
|
-
require_relative "bounding_shape"
|
|
6
|
-
require_relative "code"
|
|
7
|
-
require_relative "code_with_authority"
|
|
8
|
-
require_relative "location_property"
|
|
9
|
-
require_relative "meta_data_property"
|
|
10
|
-
require_relative "reference"
|
|
11
|
-
require_relative "abstract_topology"
|
|
12
|
-
|
|
13
5
|
module Ogc
|
|
14
6
|
module Gml
|
|
15
7
|
class AbstractFeature < AbstractTopology
|
|
@@ -17,10 +9,10 @@ module Ogc
|
|
|
17
9
|
attribute :location, LocationProperty
|
|
18
10
|
|
|
19
11
|
xml do
|
|
20
|
-
|
|
21
|
-
namespace
|
|
12
|
+
element "AbstractFeature"
|
|
13
|
+
namespace Namespace
|
|
22
14
|
|
|
23
|
-
map_attribute "id", to: :id,
|
|
15
|
+
map_attribute "id", to: :id, form: :qualified
|
|
24
16
|
map_element "metaDataProperty", to: :meta_data_property
|
|
25
17
|
map_element "description", to: :description
|
|
26
18
|
map_element "descriptionReference", to: :description_reference
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "lutaml/model"
|
|
4
|
-
require_relative "bounding_shape"
|
|
5
|
-
require_relative "feature_array_property"
|
|
6
|
-
require_relative "feature_property"
|
|
7
|
-
require_relative "location_property"
|
|
8
|
-
require_relative "abstract_topology"
|
|
9
4
|
|
|
10
5
|
module Ogc
|
|
11
6
|
module Gml
|
|
@@ -16,10 +11,10 @@ module Ogc
|
|
|
16
11
|
attribute :feature_members, FeatureArrayProperty
|
|
17
12
|
|
|
18
13
|
xml do
|
|
19
|
-
|
|
20
|
-
namespace
|
|
14
|
+
element "AbstractFeatureCollection"
|
|
15
|
+
namespace Namespace
|
|
21
16
|
|
|
22
|
-
map_attribute "id", to: :id,
|
|
17
|
+
map_attribute "id", to: :id, form: :qualified
|
|
23
18
|
map_element "metaDataProperty", to: :meta_data_property
|
|
24
19
|
map_element "description", to: :description
|
|
25
20
|
map_element "descriptionReference", to: :description_reference
|
|
@@ -2,26 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
require "lutaml/model"
|
|
4
4
|
|
|
5
|
-
require_relative "code"
|
|
6
|
-
require_relative "code_with_authority"
|
|
7
|
-
require_relative "coordinate_operation_accuracy"
|
|
8
|
-
require_relative "meta_data_property"
|
|
9
|
-
require_relative "reference"
|
|
10
|
-
require_relative "abstract_topology"
|
|
11
|
-
|
|
12
5
|
module Ogc
|
|
13
6
|
module Gml
|
|
14
7
|
class AbstractGeneralConversion < AbstractTopology
|
|
15
8
|
attribute :remarks, :string
|
|
16
9
|
attribute :domain_of_validity, :string
|
|
17
10
|
attribute :scope, :string, collection: true
|
|
18
|
-
attribute :coordinate_operation_accuracy, CoordinateOperationAccuracy,
|
|
11
|
+
attribute :coordinate_operation_accuracy, CoordinateOperationAccuracy,
|
|
12
|
+
collection: true
|
|
19
13
|
|
|
20
14
|
xml do
|
|
21
|
-
|
|
22
|
-
namespace
|
|
15
|
+
element "AbstractGeneralConversion"
|
|
16
|
+
namespace Namespace
|
|
23
17
|
|
|
24
|
-
map_attribute "id", to: :id,
|
|
18
|
+
map_attribute "id", to: :id, form: :qualified
|
|
25
19
|
map_element "metaDataProperty", to: :meta_data_property
|
|
26
20
|
map_element "description", to: :description
|
|
27
21
|
map_element "descriptionReference", to: :description_reference
|
|
@@ -30,7 +24,8 @@ module Ogc
|
|
|
30
24
|
map_element "remarks", to: :remarks
|
|
31
25
|
map_element "domainOfValidity", to: :domain_of_validity
|
|
32
26
|
map_element "scope", to: :scope
|
|
33
|
-
map_element "coordinateOperationAccuracy",
|
|
27
|
+
map_element "coordinateOperationAccuracy",
|
|
28
|
+
to: :coordinate_operation_accuracy
|
|
34
29
|
end
|
|
35
30
|
end
|
|
36
31
|
end
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "lutaml/model"
|
|
4
|
-
require_relative "general_conversion_property"
|
|
5
|
-
require_relative "abstract_crs"
|
|
6
4
|
|
|
7
5
|
module Ogc
|
|
8
6
|
module Gml
|
|
@@ -10,10 +8,10 @@ module Ogc
|
|
|
10
8
|
attribute :conversion, GeneralConversionProperty
|
|
11
9
|
|
|
12
10
|
xml do
|
|
13
|
-
|
|
14
|
-
namespace
|
|
11
|
+
element "AbstractGeneralDerivedCRS"
|
|
12
|
+
namespace Namespace
|
|
15
13
|
|
|
16
|
-
map_attribute "id", to: :id,
|
|
14
|
+
map_attribute "id", to: :id, form: :qualified
|
|
17
15
|
map_element "metaDataProperty", to: :meta_data_property
|
|
18
16
|
map_element "description", to: :description
|
|
19
17
|
map_element "descriptionReference", to: :description_reference
|