ogc-gml 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (389) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/main.yml +27 -0
  3. data/.github/workflows/rake.yml +16 -0
  4. data/.github/workflows/release.yml +24 -0
  5. data/.gitignore +11 -0
  6. data/.gitmodules +3 -0
  7. data/.rspec +3 -0
  8. data/.rubocop.yml +8 -0
  9. data/CODE_OF_CONDUCT.md +84 -0
  10. data/Gemfile +12 -0
  11. data/README.md +35 -0
  12. data/Rakefile +12 -0
  13. data/bin/console +11 -0
  14. data/bin/setup +8 -0
  15. data/lib/ogc/gml/abstract_continuous_coverage.rb +35 -0
  16. data/lib/ogc/gml/abstract_coordinate_operation.rb +41 -0
  17. data/lib/ogc/gml/abstract_coordinate_system.rb +41 -0
  18. data/lib/ogc/gml/abstract_coverage.rb +36 -0
  19. data/lib/ogc/gml/abstract_crs.rb +35 -0
  20. data/lib/ogc/gml/abstract_curve.rb +27 -0
  21. data/lib/ogc/gml/abstract_curve_segment.rb +23 -0
  22. data/lib/ogc/gml/abstract_datum.rb +39 -0
  23. data/lib/ogc/gml/abstract_feature.rb +35 -0
  24. data/lib/ogc/gml/abstract_feature_collection.rb +36 -0
  25. data/lib/ogc/gml/abstract_general_conversion.rb +38 -0
  26. data/lib/ogc/gml/abstract_general_derived_crs.rb +30 -0
  27. data/lib/ogc/gml/abstract_general_operation_parameter.rb +28 -0
  28. data/lib/ogc/gml/abstract_general_operation_parameter_property.rb +25 -0
  29. data/lib/ogc/gml/abstract_general_parameter_value.rb +15 -0
  30. data/lib/ogc/gml/abstract_general_parameter_value_property.rb +21 -0
  31. data/lib/ogc/gml/abstract_general_transformation.rb +30 -0
  32. data/lib/ogc/gml/abstract_geometric_aggregate.rb +30 -0
  33. data/lib/ogc/gml/abstract_geometric_primitive.rb +42 -0
  34. data/lib/ogc/gml/abstract_geometry.rb +27 -0
  35. data/lib/ogc/gml/abstract_gml.rb +28 -0
  36. data/lib/ogc/gml/abstract_gridded_surface.rb +23 -0
  37. data/lib/ogc/gml/abstract_meta_data.rb +21 -0
  38. data/lib/ogc/gml/abstract_parametric_curve_surface.rb +19 -0
  39. data/lib/ogc/gml/abstract_ring.rb +15 -0
  40. data/lib/ogc/gml/abstract_ring_property.rb +21 -0
  41. data/lib/ogc/gml/abstract_solid.rb +27 -0
  42. data/lib/ogc/gml/abstract_surface.rb +27 -0
  43. data/lib/ogc/gml/abstract_surface_patch.rb +15 -0
  44. data/lib/ogc/gml/abstract_time_complex.rb +28 -0
  45. data/lib/ogc/gml/abstract_time_geometric_primitive.rb +39 -0
  46. data/lib/ogc/gml/abstract_time_object.rb +28 -0
  47. data/lib/ogc/gml/abstract_time_primitive.rb +29 -0
  48. data/lib/ogc/gml/abstract_time_slice.rb +35 -0
  49. data/lib/ogc/gml/abstract_time_topology_primitive.rb +34 -0
  50. data/lib/ogc/gml/abstract_topo_primitive.rb +28 -0
  51. data/lib/ogc/gml/abstract_topology.rb +33 -0
  52. data/lib/ogc/gml/affine_cs.rb +26 -0
  53. data/lib/ogc/gml/affine_cs_property.rb +25 -0
  54. data/lib/ogc/gml/affine_placement.rb +28 -0
  55. data/lib/ogc/gml/angle.rb +21 -0
  56. data/lib/ogc/gml/arc.rb +27 -0
  57. data/lib/ogc/gml/arc_by_bulge.rb +33 -0
  58. data/lib/ogc/gml/arc_by_center_point.rb +43 -0
  59. data/lib/ogc/gml/arc_string.rb +40 -0
  60. data/lib/ogc/gml/arc_string_by_bulge.rb +33 -0
  61. data/lib/ogc/gml/array.rb +32 -0
  62. data/lib/ogc/gml/array_association.rb +21 -0
  63. data/lib/ogc/gml/association_role.rb +23 -0
  64. data/lib/ogc/gml/b_spline.rb +30 -0
  65. data/lib/ogc/gml/bag.rb +35 -0
  66. data/lib/ogc/gml/base_unit.rb +40 -0
  67. data/lib/ogc/gml/bezier.rb +46 -0
  68. data/lib/ogc/gml/boolean.rb +21 -0
  69. data/lib/ogc/gml/bounding_shape.rb +25 -0
  70. data/lib/ogc/gml/cartesian_cs.rb +26 -0
  71. data/lib/ogc/gml/cartesian_cs_property.rb +25 -0
  72. data/lib/ogc/gml/category.rb +23 -0
  73. data/lib/ogc/gml/category_extent.rb +21 -0
  74. data/lib/ogc/gml/circle.rb +27 -0
  75. data/lib/ogc/gml/circle_by_center_point.rb +43 -0
  76. data/lib/ogc/gml/clothoid.rb +33 -0
  77. data/lib/ogc/gml/code.rb +21 -0
  78. data/lib/ogc/gml/code_or_nil_reason_list.rb +21 -0
  79. data/lib/ogc/gml/code_with_authority.rb +23 -0
  80. data/lib/ogc/gml/composite_curve.rb +32 -0
  81. data/lib/ogc/gml/composite_solid.rb +32 -0
  82. data/lib/ogc/gml/composite_surface.rb +32 -0
  83. data/lib/ogc/gml/composite_value.rb +42 -0
  84. data/lib/ogc/gml/compound_crs.rb +32 -0
  85. data/lib/ogc/gml/compound_crs_property.rb +25 -0
  86. data/lib/ogc/gml/concatenated_operation.rb +47 -0
  87. data/lib/ogc/gml/concatenated_operation_property.rb +25 -0
  88. data/lib/ogc/gml/cone.rb +22 -0
  89. data/lib/ogc/gml/control_point.rb +27 -0
  90. data/lib/ogc/gml/conventional_unit.rb +46 -0
  91. data/lib/ogc/gml/conversion.rb +34 -0
  92. data/lib/ogc/gml/conversion_property.rb +25 -0
  93. data/lib/ogc/gml/conversion_to_preferred_unit.rb +25 -0
  94. data/lib/ogc/gml/coordinate_operation_accuracy.rb +25 -0
  95. data/lib/ogc/gml/coordinate_operation_property.rb +25 -0
  96. data/lib/ogc/gml/coordinate_system_axis.rb +48 -0
  97. data/lib/ogc/gml/coordinate_system_axis_property.rb +25 -0
  98. data/lib/ogc/gml/coordinate_system_property.rb +25 -0
  99. data/lib/ogc/gml/coordinates.rb +25 -0
  100. data/lib/ogc/gml/count.rb +21 -0
  101. data/lib/ogc/gml/coverage_function.rb +27 -0
  102. data/lib/ogc/gml/crs_property.rb +25 -0
  103. data/lib/ogc/gml/cubic_spline.rb +45 -0
  104. data/lib/ogc/gml/curve.rb +31 -0
  105. data/lib/ogc/gml/curve_array_property.rb +28 -0
  106. data/lib/ogc/gml/curve_property.rb +37 -0
  107. data/lib/ogc/gml/curve_segment_array_property.rb +33 -0
  108. data/lib/ogc/gml/cylinder.rb +25 -0
  109. data/lib/ogc/gml/cylindrical_cs.rb +26 -0
  110. data/lib/ogc/gml/cylindrical_cs_property.rb +25 -0
  111. data/lib/ogc/gml/data_block.rb +26 -0
  112. data/lib/ogc/gml/datum_property.rb +25 -0
  113. data/lib/ogc/gml/definition.rb +31 -0
  114. data/lib/ogc/gml/definition_proxy.rb +33 -0
  115. data/lib/ogc/gml/degrees.rb +21 -0
  116. data/lib/ogc/gml/derivation_unit_term.rb +21 -0
  117. data/lib/ogc/gml/derived_crs.rb +37 -0
  118. data/lib/ogc/gml/derived_crs_property.rb +25 -0
  119. data/lib/ogc/gml/derived_unit.rb +41 -0
  120. data/lib/ogc/gml/dictionary.rb +46 -0
  121. data/lib/ogc/gml/dictionary_entry.rb +33 -0
  122. data/lib/ogc/gml/direct_position.rb +27 -0
  123. data/lib/ogc/gml/direct_position_list.rb +29 -0
  124. data/lib/ogc/gml/directed_edge_property.rb +29 -0
  125. data/lib/ogc/gml/directed_face_property.rb +29 -0
  126. data/lib/ogc/gml/directed_node_property.rb +29 -0
  127. data/lib/ogc/gml/directed_observation.rb +50 -0
  128. data/lib/ogc/gml/directed_observation_at_distance.rb +53 -0
  129. data/lib/ogc/gml/directed_topo_solid_property.rb +29 -0
  130. data/lib/ogc/gml/direction_description.rb +28 -0
  131. data/lib/ogc/gml/direction_property.rb +38 -0
  132. data/lib/ogc/gml/direction_vector.rb +26 -0
  133. data/lib/ogc/gml/discrete_coverage.rb +28 -0
  134. data/lib/ogc/gml/dms_angle.rb +27 -0
  135. data/lib/ogc/gml/domain_of_validity.rb +25 -0
  136. data/lib/ogc/gml/domain_set.rb +30 -0
  137. data/lib/ogc/gml/dynamic_feature.rb +46 -0
  138. data/lib/ogc/gml/dynamic_feature_collection.rb +49 -0
  139. data/lib/ogc/gml/dynamic_feature_member.rb +27 -0
  140. data/lib/ogc/gml/edge.rb +48 -0
  141. data/lib/ogc/gml/ellipsoid.rb +37 -0
  142. data/lib/ogc/gml/ellipsoid_property.rb +25 -0
  143. data/lib/ogc/gml/ellipsoidal_cs.rb +26 -0
  144. data/lib/ogc/gml/ellipsoidal_cs_property.rb +25 -0
  145. data/lib/ogc/gml/engineering_crs.rb +54 -0
  146. data/lib/ogc/gml/engineering_crs_property.rb +25 -0
  147. data/lib/ogc/gml/engineering_datum.rb +28 -0
  148. data/lib/ogc/gml/engineering_datum_property.rb +25 -0
  149. data/lib/ogc/gml/envelope.rb +36 -0
  150. data/lib/ogc/gml/envelope_with_time_period.rb +43 -0
  151. data/lib/ogc/gml/face.rb +50 -0
  152. data/lib/ogc/gml/face_or_topo_solid_property.rb +33 -0
  153. data/lib/ogc/gml/feature_array_property.rb +21 -0
  154. data/lib/ogc/gml/feature_collection.rb +27 -0
  155. data/lib/ogc/gml/feature_property.rb +27 -0
  156. data/lib/ogc/gml/file.rb +32 -0
  157. data/lib/ogc/gml/formula.rb +25 -0
  158. data/lib/ogc/gml/formula_citation.rb +25 -0
  159. data/lib/ogc/gml/general_conversion_property.rb +25 -0
  160. data/lib/ogc/gml/general_transformation_property.rb +25 -0
  161. data/lib/ogc/gml/generic_meta_data.rb +21 -0
  162. data/lib/ogc/gml/geocentric_crs.rb +36 -0
  163. data/lib/ogc/gml/geocentric_crs_property.rb +25 -0
  164. data/lib/ogc/gml/geodesic.rb +33 -0
  165. data/lib/ogc/gml/geodesic_string.rb +33 -0
  166. data/lib/ogc/gml/geodetic_crs.rb +40 -0
  167. data/lib/ogc/gml/geodetic_crs_property.rb +25 -0
  168. data/lib/ogc/gml/geodetic_datum.rb +35 -0
  169. data/lib/ogc/gml/geodetic_datum_property.rb +25 -0
  170. data/lib/ogc/gml/geographic_crs.rb +33 -0
  171. data/lib/ogc/gml/geographic_crs_property.rb +25 -0
  172. data/lib/ogc/gml/geometric_complex.rb +32 -0
  173. data/lib/ogc/gml/geometric_primitive_property.rb +27 -0
  174. data/lib/ogc/gml/geometry_array_property.rb +23 -0
  175. data/lib/ogc/gml/geometry_property.rb +27 -0
  176. data/lib/ogc/gml/grid.rb +49 -0
  177. data/lib/ogc/gml/grid_envelope.rb +21 -0
  178. data/lib/ogc/gml/grid_function.rb +23 -0
  179. data/lib/ogc/gml/grid_limits.rb +21 -0
  180. data/lib/ogc/gml/history_property.rb +23 -0
  181. data/lib/ogc/gml/image_crs.rb +39 -0
  182. data/lib/ogc/gml/image_crs_property.rb +25 -0
  183. data/lib/ogc/gml/image_datum.rb +31 -0
  184. data/lib/ogc/gml/image_datum_property.rb +25 -0
  185. data/lib/ogc/gml/indirect_entry.rb +21 -0
  186. data/lib/ogc/gml/inline_property.rb +19 -0
  187. data/lib/ogc/gml/knot.rb +23 -0
  188. data/lib/ogc/gml/knot_property.rb +21 -0
  189. data/lib/ogc/gml/length.rb +21 -0
  190. data/lib/ogc/gml/line_string.rb +43 -0
  191. data/lib/ogc/gml/line_string_segment.rb +38 -0
  192. data/lib/ogc/gml/line_string_segment_array_property.rb +21 -0
  193. data/lib/ogc/gml/linear_cs.rb +26 -0
  194. data/lib/ogc/gml/linear_cs_property.rb +25 -0
  195. data/lib/ogc/gml/linear_ring.rb +32 -0
  196. data/lib/ogc/gml/location_property.rb +33 -0
  197. data/lib/ogc/gml/mapping_rule.rb +23 -0
  198. data/lib/ogc/gml/measure.rb +21 -0
  199. data/lib/ogc/gml/measure_list.rb +21 -0
  200. data/lib/ogc/gml/measure_or_nil_reason_list.rb +21 -0
  201. data/lib/ogc/gml/meta_data_property.rb +27 -0
  202. data/lib/ogc/gml/moving_object_status.rb +59 -0
  203. data/lib/ogc/gml/multi_curve.rb +33 -0
  204. data/lib/ogc/gml/multi_curve_property.rb +27 -0
  205. data/lib/ogc/gml/multi_geometry.rb +35 -0
  206. data/lib/ogc/gml/multi_geometry_property.rb +27 -0
  207. data/lib/ogc/gml/multi_point.rb +35 -0
  208. data/lib/ogc/gml/multi_point_property.rb +27 -0
  209. data/lib/ogc/gml/multi_solid.rb +35 -0
  210. data/lib/ogc/gml/multi_solid_property.rb +27 -0
  211. data/lib/ogc/gml/multi_surface.rb +35 -0
  212. data/lib/ogc/gml/multi_surface_property.rb +27 -0
  213. data/lib/ogc/gml/node.rb +48 -0
  214. data/lib/ogc/gml/node_or_edge_property.rb +33 -0
  215. data/lib/ogc/gml/node_property.rb +27 -0
  216. data/lib/ogc/gml/oblique_cartesian_cs.rb +26 -0
  217. data/lib/ogc/gml/oblique_cartesian_cs_property.rb +25 -0
  218. data/lib/ogc/gml/observation.rb +47 -0
  219. data/lib/ogc/gml/offset_curve.rb +31 -0
  220. data/lib/ogc/gml/operation_method.rb +43 -0
  221. data/lib/ogc/gml/operation_method_property.rb +25 -0
  222. data/lib/ogc/gml/operation_parameter.rb +25 -0
  223. data/lib/ogc/gml/operation_parameter_group.rb +31 -0
  224. data/lib/ogc/gml/operation_parameter_group_property.rb +25 -0
  225. data/lib/ogc/gml/operation_parameter_property.rb +25 -0
  226. data/lib/ogc/gml/operation_property.rb +25 -0
  227. data/lib/ogc/gml/orientable_curve.rb +50 -0
  228. data/lib/ogc/gml/orientable_surface.rb +47 -0
  229. data/lib/ogc/gml/parameter_value.rb +40 -0
  230. data/lib/ogc/gml/parameter_value_group.rb +24 -0
  231. data/lib/ogc/gml/pass_through_operation.rb +43 -0
  232. data/lib/ogc/gml/pass_through_operation_property.rb +25 -0
  233. data/lib/ogc/gml/point.rb +33 -0
  234. data/lib/ogc/gml/point_array_property.rb +23 -0
  235. data/lib/ogc/gml/point_property.rb +27 -0
  236. data/lib/ogc/gml/polar_cs.rb +26 -0
  237. data/lib/ogc/gml/polar_cs_property.rb +25 -0
  238. data/lib/ogc/gml/polygon.rb +34 -0
  239. data/lib/ogc/gml/polygon_patch.rb +25 -0
  240. data/lib/ogc/gml/prime_meridian.rb +34 -0
  241. data/lib/ogc/gml/prime_meridian_property.rb +25 -0
  242. data/lib/ogc/gml/priority_location_property.rb +35 -0
  243. data/lib/ogc/gml/procedure_property.rb +27 -0
  244. data/lib/ogc/gml/projected_crs.rb +37 -0
  245. data/lib/ogc/gml/projected_crs_property.rb +25 -0
  246. data/lib/ogc/gml/quantity.rb +23 -0
  247. data/lib/ogc/gml/quantity_extent.rb +21 -0
  248. data/lib/ogc/gml/range_set.rb +29 -0
  249. data/lib/ogc/gml/rectangle.rb +23 -0
  250. data/lib/ogc/gml/rectified_grid.rb +55 -0
  251. data/lib/ogc/gml/ref_location.rb +21 -0
  252. data/lib/ogc/gml/reference.rb +23 -0
  253. data/lib/ogc/gml/related_time.rb +29 -0
  254. data/lib/ogc/gml/result.rb +23 -0
  255. data/lib/ogc/gml/ring.rb +21 -0
  256. data/lib/ogc/gml/second_defining_parameter1.rb +21 -0
  257. data/lib/ogc/gml/second_defining_parameter2.rb +26 -0
  258. data/lib/ogc/gml/sequence_rule.rb +23 -0
  259. data/lib/ogc/gml/shell.rb +25 -0
  260. data/lib/ogc/gml/shell_property.rb +27 -0
  261. data/lib/ogc/gml/single_crs_property.rb +25 -0
  262. data/lib/ogc/gml/single_operation_property.rb +25 -0
  263. data/lib/ogc/gml/solid.rb +33 -0
  264. data/lib/ogc/gml/solid_array_property.rb +23 -0
  265. data/lib/ogc/gml/solid_property.rb +27 -0
  266. data/lib/ogc/gml/sphere.rb +22 -0
  267. data/lib/ogc/gml/spherical_cs.rb +26 -0
  268. data/lib/ogc/gml/spherical_cs_property.rb +25 -0
  269. data/lib/ogc/gml/string_or_ref.rb +23 -0
  270. data/lib/ogc/gml/surface.rb +31 -0
  271. data/lib/ogc/gml/surface_array_property.rb +23 -0
  272. data/lib/ogc/gml/surface_patch_array_property.rb +28 -0
  273. data/lib/ogc/gml/surface_property.rb +30 -0
  274. data/lib/ogc/gml/target_property.rb +30 -0
  275. data/lib/ogc/gml/temporal_crs.rb +36 -0
  276. data/lib/ogc/gml/temporal_crs_property.rb +25 -0
  277. data/lib/ogc/gml/temporal_cs.rb +26 -0
  278. data/lib/ogc/gml/temporal_cs_property.rb +25 -0
  279. data/lib/ogc/gml/temporal_datum.rb +38 -0
  280. data/lib/ogc/gml/temporal_datum_property.rb +25 -0
  281. data/lib/ogc/gml/time_calendar.rb +36 -0
  282. data/lib/ogc/gml/time_calendar_era.rb +41 -0
  283. data/lib/ogc/gml/time_calendar_era_property.rb +27 -0
  284. data/lib/ogc/gml/time_calendar_property.rb +27 -0
  285. data/lib/ogc/gml/time_clock.rb +43 -0
  286. data/lib/ogc/gml/time_coordinate_system.rb +42 -0
  287. data/lib/ogc/gml/time_cs.rb +26 -0
  288. data/lib/ogc/gml/time_cs_property.rb +25 -0
  289. data/lib/ogc/gml/time_edge.rb +40 -0
  290. data/lib/ogc/gml/time_edge_property.rb +27 -0
  291. data/lib/ogc/gml/time_instant.rb +29 -0
  292. data/lib/ogc/gml/time_instant_property.rb +27 -0
  293. data/lib/ogc/gml/time_interval_length.rb +25 -0
  294. data/lib/ogc/gml/time_node.rb +37 -0
  295. data/lib/ogc/gml/time_node_property.rb +27 -0
  296. data/lib/ogc/gml/time_ordinal_era.rb +46 -0
  297. data/lib/ogc/gml/time_ordinal_era_property.rb +27 -0
  298. data/lib/ogc/gml/time_ordinal_reference_system.rb +36 -0
  299. data/lib/ogc/gml/time_period.rb +41 -0
  300. data/lib/ogc/gml/time_period_property.rb +27 -0
  301. data/lib/ogc/gml/time_position.rb +25 -0
  302. data/lib/ogc/gml/time_primitive_property.rb +27 -0
  303. data/lib/ogc/gml/time_reference_system.rb +33 -0
  304. data/lib/ogc/gml/time_topology_complex.rb +32 -0
  305. data/lib/ogc/gml/time_topology_primitive_property.rb +27 -0
  306. data/lib/ogc/gml/tin.rb +43 -0
  307. data/lib/ogc/gml/topo_complex.rb +54 -0
  308. data/lib/ogc/gml/topo_complex_property.rb +25 -0
  309. data/lib/ogc/gml/topo_curve.rb +39 -0
  310. data/lib/ogc/gml/topo_curve_property.rb +23 -0
  311. data/lib/ogc/gml/topo_point.rb +32 -0
  312. data/lib/ogc/gml/topo_point_property.rb +23 -0
  313. data/lib/ogc/gml/topo_primitive_array_association.rb +23 -0
  314. data/lib/ogc/gml/topo_primitive_member.rb +27 -0
  315. data/lib/ogc/gml/topo_solid.rb +50 -0
  316. data/lib/ogc/gml/topo_solid_property.rb +27 -0
  317. data/lib/ogc/gml/topo_surface.rb +39 -0
  318. data/lib/ogc/gml/topo_surface_property.rb +23 -0
  319. data/lib/ogc/gml/topo_volume.rb +39 -0
  320. data/lib/ogc/gml/topo_volume_property.rb +23 -0
  321. data/lib/ogc/gml/transformation.rb +44 -0
  322. data/lib/ogc/gml/transformation_property.rb +25 -0
  323. data/lib/ogc/gml/triangle.rb +23 -0
  324. data/lib/ogc/gml/unit_definition.rb +38 -0
  325. data/lib/ogc/gml/unit_of_measure.rb +19 -0
  326. data/lib/ogc/gml/user_defined_cs.rb +26 -0
  327. data/lib/ogc/gml/user_defined_cs_property.rb +25 -0
  328. data/lib/ogc/gml/value_array.rb +46 -0
  329. data/lib/ogc/gml/value_array_property.rb +30 -0
  330. data/lib/ogc/gml/value_property.rb +34 -0
  331. data/lib/ogc/gml/vector.rb +21 -0
  332. data/lib/ogc/gml/version.rb +7 -0
  333. data/lib/ogc/gml/vertical_crs.rb +33 -0
  334. data/lib/ogc/gml/vertical_crs_property.rb +25 -0
  335. data/lib/ogc/gml/vertical_cs.rb +26 -0
  336. data/lib/ogc/gml/vertical_cs_property.rb +25 -0
  337. data/lib/ogc/gml/vertical_datum.rb +28 -0
  338. data/lib/ogc/gml/vertical_datum_property.rb +25 -0
  339. data/lib/ogc/gml.rb +339 -0
  340. data/ogc-gml.gemspec +43 -0
  341. data/references/combined_gml/gml-without-xlink-gmd.xsd +6490 -0
  342. data/references/combined_gml/original-combined/gml.xsd +6491 -0
  343. data/references/combined_gml/original-combined/include-chain.txt +78 -0
  344. data/references/gml/3.2.1.2/SchematronConstraints.xml +71 -0
  345. data/references/gml/3.2.1.2/basicTypes.xsd +268 -0
  346. data/references/gml/3.2.1.2/coordinateOperations.xsd +525 -0
  347. data/references/gml/3.2.1.2/coordinateReferenceSystems.xsd +373 -0
  348. data/references/gml/3.2.1.2/coordinateSystems.xsd +297 -0
  349. data/references/gml/3.2.1.2/coverage.xsd +292 -0
  350. data/references/gml/3.2.1.2/datums.xsd +287 -0
  351. data/references/gml/3.2.1.2/defaultStyle.xsd +453 -0
  352. data/references/gml/3.2.1.2/deprecatedTypes.xsd +1133 -0
  353. data/references/gml/3.2.1.2/dictionary.xsd +90 -0
  354. data/references/gml/3.2.1.2/direction.xsd +84 -0
  355. data/references/gml/3.2.1.2/dynamicFeature.xsd +109 -0
  356. data/references/gml/3.2.1.2/feature.xsd +94 -0
  357. data/references/gml/3.2.1.2/geometryAggregates.xsd +197 -0
  358. data/references/gml/3.2.1.2/geometryBasic0d1d.xsd +277 -0
  359. data/references/gml/3.2.1.2/geometryBasic2d.xsd +124 -0
  360. data/references/gml/3.2.1.2/geometryComplexes.xsd +95 -0
  361. data/references/gml/3.2.1.2/geometryPrimitives.xsd +846 -0
  362. data/references/gml/3.2.1.2/gml.xsd +20 -0
  363. data/references/gml/3.2.1.2/gmlBase.xsd +185 -0
  364. data/references/gml/3.2.1.2/gml_32_geometries.rdf +368 -0
  365. data/references/gml/3.2.1.2/gml_3_2_1-ReadMe.txt +58 -0
  366. data/references/gml/3.2.1.2/grids.xsd +64 -0
  367. data/references/gml/3.2.1.2/measures.xsd +68 -0
  368. data/references/gml/3.2.1.2/observation.xsd +95 -0
  369. data/references/gml/3.2.1.2/referenceSystems.xsd +70 -0
  370. data/references/gml/3.2.1.2/temporal.xsd +269 -0
  371. data/references/gml/3.2.1.2/temporalReferenceSystems.xsd +189 -0
  372. data/references/gml/3.2.1.2/temporalTopology.xsd +119 -0
  373. data/references/gml/3.2.1.2/topology.xsd +386 -0
  374. data/references/gml/3.2.1.2/units.xsd +231 -0
  375. data/references/gml/3.2.1.2/valueObjects.xsd +205 -0
  376. data/references/gml/3.3.1/ReadMe.txt +89 -0
  377. data/references/gml/3.3.1/extdBaseTypes.xsd +67 -0
  378. data/references/gml/3.3.1/extdEncRule.xsd +8 -0
  379. data/references/gml/3.3.1/geometryCompact.xsd +218 -0
  380. data/references/gml/3.3.1/iso8601.sch +19 -0
  381. data/references/gml/3.3.1/linearRef.xsd +215 -0
  382. data/references/gml/3.3.1/linearRefOffset.xsd +96 -0
  383. data/references/gml/3.3.1/linearRefOffsetVector.xsd +48 -0
  384. data/references/gml/3.3.1/linearRefTowardsReferent.xsd +23 -0
  385. data/references/gml/3.3.1/referenceableGrid.xsd +79 -0
  386. data/references/gml/3.3.1/tin.xsd +78 -0
  387. data/sig/ogc/gml.rbs +8 -0
  388. data/split_files.rb +28 -0
  389. metadata +545 -0
@@ -0,0 +1,386 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="3.2.1.2">
3
+ <annotation>
4
+ <appinfo source="urn:x-ogc:specification:gml:schema-xsd:topology:3.2.1">topology.xsd</appinfo>
5
+ <documentation>See ISO/DIS 19136 Clause 14.
6
+ Topology is the branch of mathematics describing the properties of objects which are invariant under continuous deformation. For example, a circle is topologically equivalent to an ellipse because one can be transformed into the other by stretching. In geographic modelling, the foremost use of topology is in accelerating computational geometry. The constructs of topology allow characterisation of the spatial relationships between objects using simple combinatorial or algebraic algorithms. Topology, realised by the appropriate geometry, also allows a compact and unambiguous mechanism for expressing shared geometry among geographic features.
7
+ There are four instantiable classes of primitive topology objects, one for each dimension up to 3D. In addition, topological complexes are supported, too.
8
+ There is strong symmetry in the (topological boundary and coboundary) relationships between topology primitives of adjacent dimensions. Topology primitives are bounded by directed primitives of one lower dimension. The coboundary of each topology primitive is formed from directed topology primitives of one higher dimension.
9
+
10
+ GML is an OGC Standard.
11
+ Copyright (c) 2007,2010 Open Geospatial Consortium.
12
+ To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
13
+ </documentation>
14
+ </annotation>
15
+ <include schemaLocation="gml.xsd"/>
16
+ <include schemaLocation="geometryComplexes.xsd"/>
17
+ <complexType name="AbstractTopologyType" abstract="true">
18
+ <annotation>
19
+ <documentation>This abstract type supplies the root or base type for all topological elements including primitives and complexes. It inherits AbstractGMLType and hence can be identified using the gml:id attribute.</documentation>
20
+ </annotation>
21
+ <complexContent>
22
+ <extension base="gml:AbstractGMLType"/>
23
+ </complexContent>
24
+ </complexType>
25
+ <element name="AbstractTopology" type="gml:AbstractTopologyType" abstract="true" substitutionGroup="gml:AbstractGML"/>
26
+ <complexType name="AbstractTopoPrimitiveType" abstract="true">
27
+ <complexContent>
28
+ <extension base="gml:AbstractTopologyType"/>
29
+ </complexContent>
30
+ </complexType>
31
+ <element name="AbstractTopoPrimitive" type="gml:AbstractTopoPrimitiveType" abstract="true" substitutionGroup="gml:AbstractTopology">
32
+ <annotation>
33
+ <documentation>gml:AbstractTopoPrimitive acts as the base type for all topological primitives. Topology primitives are the atomic (smallest possible) units of a topology complex.
34
+ Each topology primitive may contain references to other topology primitives of codimension 2 or more (gml:isolated). Conversely, nodes may have faces as containers and nodes and edges may have solids as containers (gml:container).</documentation>
35
+ </annotation>
36
+ </element>
37
+ <complexType name="NodeOrEdgePropertyType">
38
+ <choice minOccurs="0">
39
+ <element ref="gml:Node"/>
40
+ <element ref="gml:Edge"/>
41
+ </choice>
42
+ <attributeGroup ref="gml:AssociationAttributeGroup"/>
43
+ <attributeGroup ref="gml:OwnershipAttributeGroup"/>
44
+ </complexType>
45
+ <complexType name="NodePropertyType">
46
+ <choice minOccurs="0">
47
+ <element ref="gml:Node"/>
48
+ </choice>
49
+ <attributeGroup ref="gml:AssociationAttributeGroup"/>
50
+ <attributeGroup ref="gml:OwnershipAttributeGroup"/>
51
+ </complexType>
52
+ <complexType name="FaceOrTopoSolidPropertyType">
53
+ <choice minOccurs="0">
54
+ <element ref="gml:Face"/>
55
+ <element ref="gml:TopoSolid"/>
56
+ </choice>
57
+ <attributeGroup ref="gml:AssociationAttributeGroup"/>
58
+ <attributeGroup ref="gml:OwnershipAttributeGroup"/>
59
+ </complexType>
60
+ <complexType name="TopoSolidPropertyType">
61
+ <choice minOccurs="0">
62
+ <element ref="gml:TopoSolid"/>
63
+ </choice>
64
+ <attributeGroup ref="gml:AssociationAttributeGroup"/>
65
+ <attributeGroup ref="gml:OwnershipAttributeGroup"/>
66
+ </complexType>
67
+ <complexType name="NodeType">
68
+ <complexContent>
69
+ <extension base="gml:AbstractTopoPrimitiveType">
70
+ <sequence>
71
+ <element name="container" type="gml:FaceOrTopoSolidPropertyType" minOccurs="0"/>
72
+ <element ref="gml:directedEdge" minOccurs="0" maxOccurs="unbounded">
73
+ <annotation>
74
+ <documentation>In the case of planar topology, a gml:Node must have a clockwise sequence of gml:directedEdge properties, to ensure a lossless topology representation as defined by Kuijpers, et. al. (see OGC 05-102 Topology IPR).</documentation>
75
+ </annotation>
76
+ </element>
77
+ <element ref="gml:pointProperty" minOccurs="0"/>
78
+ </sequence>
79
+ <attributeGroup ref="gml:AggregationAttributeGroup"/>
80
+ </extension>
81
+ </complexContent>
82
+ </complexType>
83
+ <element name="Node" type="gml:NodeType" substitutionGroup="gml:AbstractTopoPrimitive">
84
+ <annotation>
85
+ <documentation>gml:Node represents the 0-dimensional primitive.
86
+ The optional coboundary of a node (gml:directedEdge) is a sequence of directed edges which are incident on this node. Edges emanating from this node appear in the node coboundary with a negative orientation.
87
+ If provided, the aggregationType attribute shall have the value "sequence".
88
+ A node may optionally be realised by a 0-dimensional geometric primitive (gml:pointProperty).</documentation>
89
+ </annotation>
90
+ </element>
91
+ <element name="directedNode" type="gml:DirectedNodePropertyType">
92
+ <annotation>
93
+ <documentation>A gml:directedNode property element describes the boundary of topology edges and is used in the support of topological point features via the gml:TopoPoint expression, see below. The orientation attribute of type gml:SignType expresses the sense in which the included node is used: start ("-") or end ("+") node.</documentation>
94
+ </annotation>
95
+ </element>
96
+ <complexType name="DirectedNodePropertyType">
97
+ <sequence minOccurs="0">
98
+ <element ref="gml:Node"/>
99
+ </sequence>
100
+ <attribute name="orientation" type="gml:SignType" default="+"/>
101
+ <attributeGroup ref="gml:AssociationAttributeGroup"/>
102
+ <attributeGroup ref="gml:OwnershipAttributeGroup"/>
103
+ </complexType>
104
+ <complexType name="EdgeType">
105
+ <complexContent>
106
+ <extension base="gml:AbstractTopoPrimitiveType">
107
+ <sequence>
108
+ <element name="container" type="gml:TopoSolidPropertyType" minOccurs="0"/>
109
+ <element ref="gml:directedNode" minOccurs="2" maxOccurs="2"/>
110
+ <element ref="gml:directedFace" minOccurs="0" maxOccurs="unbounded"/>
111
+ <element ref="gml:curveProperty" minOccurs="0"/>
112
+ </sequence>
113
+ <attributeGroup ref="gml:AggregationAttributeGroup"/>
114
+ </extension>
115
+ </complexContent>
116
+ </complexType>
117
+ <element name="Edge" type="gml:EdgeType" substitutionGroup="gml:AbstractTopoPrimitive">
118
+ <annotation>
119
+ <documentation>gml:Edge represents the 1-dimensional primitive.
120
+ The topological boundary of an Edge (gml:directedNode) consists of a negatively directed start Node and a positively directed end Node.
121
+ The optional coboundary of an edge (gml:directedFace) is a circular sequence of directed faces which are incident on this edge in document order. In the 2D case, the orientation of the face on the left of the edge is "+"; the orientation of the face on the right on its right is "-".
122
+ If provided, the aggregationType attribute shall have the value "sequence".
123
+ An edge may optionally be realised by a 1-dimensional geometric primitive (gml:curveProperty).</documentation>
124
+ </annotation>
125
+ </element>
126
+ <element name="directedEdge" type="gml:DirectedEdgePropertyType">
127
+ <annotation>
128
+ <documentation>A gml:directedEdge property element describes the boundary of topology faces, the coBoundary of topology nodes and is used in the support of topological line features via the gml:TopoCurve expression, see below. The orientation attribute of type gml:SignType expresses the sense in which the included edge is used, i.e. forward or reverse.</documentation>
129
+ </annotation>
130
+ </element>
131
+ <complexType name="DirectedEdgePropertyType">
132
+ <sequence minOccurs="0">
133
+ <element ref="gml:Edge"/>
134
+ </sequence>
135
+ <attribute name="orientation" type="gml:SignType" default="+"/>
136
+ <attributeGroup ref="gml:AssociationAttributeGroup"/>
137
+ <attributeGroup ref="gml:OwnershipAttributeGroup"/>
138
+ </complexType>
139
+ <complexType name="FaceType">
140
+ <complexContent>
141
+ <extension base="gml:AbstractTopoPrimitiveType">
142
+ <sequence>
143
+ <element name="isolated" type="gml:NodePropertyType" minOccurs="0" maxOccurs="unbounded"/>
144
+ <element ref="gml:directedEdge" maxOccurs="unbounded"/>
145
+ <element ref="gml:directedTopoSolid" minOccurs="0" maxOccurs="2"/>
146
+ <element ref="gml:surfaceProperty" minOccurs="0"/>
147
+ </sequence>
148
+ <attributeGroup ref="gml:AggregationAttributeGroup"/>
149
+ <attribute name="universal" type="boolean" use="optional" default="false">
150
+ <annotation>
151
+ <documentation>If the topological representation exists an unbounded manifold (e.g. Euclidean plane), a gml:Face must indicate whether it is a universal face or not, to ensure a lossless topology representation as defined by Kuijpers, et. al. (see OGC 05-102 Topology IPR). The optional universal attribute of type boolean is used to indicate this. NOTE The universal face is normally not part of any feature, and is used to represent the unbounded portion of the data set. Its interior boundary (it has no exterior boundary) would normally be considered the exterior boundary of the map represented by the data set. </documentation>
152
+ </annotation>
153
+ </attribute>
154
+ </extension>
155
+ </complexContent>
156
+ </complexType>
157
+ <element name="Face" type="gml:FaceType" substitutionGroup="gml:AbstractTopoPrimitive">
158
+ <annotation>
159
+ <documentation>gml:Face represents the 2-dimensional topology primitive.
160
+ The topological boundary of a face (gml:directedEdge) consists of a sequence of directed edges. If provided, the aggregationType attribute shall have the value "sequence".
161
+ The optional coboundary of a face (gml:directedTopoSolid) is a pair of directed solids which are bounded by this face. A positively directed solid corresponds to a solid which lies in the direction of the negatively directed normal to the face in any geometric realisation.
162
+ A face may optionally be realised by a 2-dimensional geometric primitive (gml:surfaceProperty).</documentation>
163
+ </annotation>
164
+ </element>
165
+ <element name="directedFace" type="gml:DirectedFacePropertyType">
166
+ <annotation>
167
+ <documentation>The gml:directedFace property element describes the boundary of topology solids, in the coBoundary of topology edges and is used in the support of surface features via the gml:TopoSurface expression, see below. The orientation attribute of type gml:SignType expresses the sense in which the included face is used i.e. inward or outward with respect to the surface normal in any geometric realisation.</documentation>
168
+ </annotation>
169
+ </element>
170
+ <complexType name="DirectedFacePropertyType">
171
+ <sequence minOccurs="0">
172
+ <element ref="gml:Face"/>
173
+ </sequence>
174
+ <attribute name="orientation" type="gml:SignType" default="+"/>
175
+ <attributeGroup ref="gml:AssociationAttributeGroup"/>
176
+ <attributeGroup ref="gml:OwnershipAttributeGroup"/>
177
+ </complexType>
178
+ <complexType name="TopoSolidType">
179
+ <complexContent>
180
+ <extension base="gml:AbstractTopoPrimitiveType">
181
+ <sequence>
182
+ <element name="isolated" type="gml:NodeOrEdgePropertyType" minOccurs="0" maxOccurs="unbounded"/>
183
+ <element ref="gml:directedFace" maxOccurs="unbounded"/>
184
+ <element ref="gml:solidProperty" minOccurs="0"/>
185
+ </sequence>
186
+ <attributeGroup ref="gml:AggregationAttributeGroup"/>
187
+ <attribute name="universal" type="boolean" use="optional" default="false">
188
+ <annotation>
189
+ <documentation>A gml:TopoSolid must indicate whether it is a universal topo-solid or not, to ensure a lossless topology representation as defined by Kuijpers, et. al. (see OGC 05-102 Topology IPR). The optional universal attribute of type boolean is used to indicate this and the default is fault. NOTE The universal topo-solid is normally not part of any feature, and is used to represent the unbounded portion of the data set. Its interior boundary (it has no exterior boundary) would normally be considered the exterior boundary of the data set.</documentation>
190
+ </annotation>
191
+ </attribute>
192
+ </extension>
193
+ </complexContent>
194
+ </complexType>
195
+ <element name="TopoSolid" type="gml:TopoSolidType" substitutionGroup="gml:AbstractTopoPrimitive">
196
+ <annotation>
197
+ <documentation>gml:TopoSolid represents the 3-dimensional topology primitive.
198
+ The topological boundary of a solid (gml:directedFace) consists of a set of directed faces.
199
+ A solid may optionally be realised by a 3-dimensional geometric primitive (gml:solidProperty).</documentation>
200
+ </annotation>
201
+ </element>
202
+ <element name="directedTopoSolid" type="gml:DirectedTopoSolidPropertyType">
203
+ <annotation>
204
+ <documentation>The gml:directedSolid property element describes the coBoundary of topology faces and is used in the support of volume features via the gml:TopoVolume expression, see below. The orientation attribute of type gml:SignType expresses the sense in which the included solid appears in the face coboundary. In the context of a gml:TopoVolume the orientation attribute has no meaning.</documentation>
205
+ </annotation>
206
+ </element>
207
+ <complexType name="DirectedTopoSolidPropertyType">
208
+ <sequence minOccurs="0">
209
+ <element ref="gml:TopoSolid"/>
210
+ </sequence>
211
+ <attribute name="orientation" type="gml:SignType" default="+"/>
212
+ <attributeGroup ref="gml:AssociationAttributeGroup"/>
213
+ <attributeGroup ref="gml:OwnershipAttributeGroup"/>
214
+ </complexType>
215
+ <complexType name="TopoPointType">
216
+ <complexContent>
217
+ <extension base="gml:AbstractTopologyType">
218
+ <sequence>
219
+ <element ref="gml:directedNode"/>
220
+ </sequence>
221
+ </extension>
222
+ </complexContent>
223
+ </complexType>
224
+ <element name="TopoPoint" type="gml:TopoPointType">
225
+ <annotation>
226
+ <documentation>The intended use of gml:TopoPoint is to appear within a point feature to express the structural and possibly geometric relationships of this feature to other features via shared node definitions.</documentation>
227
+ </annotation>
228
+ </element>
229
+ <complexType name="TopoPointPropertyType">
230
+ <sequence>
231
+ <element ref="gml:TopoPoint"/>
232
+ </sequence>
233
+ <attributeGroup ref="gml:OwnershipAttributeGroup"/>
234
+ </complexType>
235
+ <element name="topoPointProperty" type="gml:TopoPointPropertyType">
236
+ <annotation>
237
+ <documentation>The gml:topoPointProperty property element may be used in features to express their relationship to the referenced topology node.</documentation>
238
+ </annotation>
239
+ </element>
240
+ <complexType name="TopoCurveType">
241
+ <complexContent>
242
+ <extension base="gml:AbstractTopologyType">
243
+ <sequence>
244
+ <element ref="gml:directedEdge" maxOccurs="unbounded"/>
245
+ </sequence>
246
+ <attributeGroup ref="gml:AggregationAttributeGroup"/>
247
+ </extension>
248
+ </complexContent>
249
+ </complexType>
250
+ <element name="TopoCurve" type="gml:TopoCurveType">
251
+ <annotation>
252
+ <documentation>gml:TopoCurve represents a homogeneous topological expression, a sequence of directed edges, which if realised are isomorphic to a geometric curve primitive. The intended use of gml:TopoCurve is to appear within a line feature to express the structural and geometric relationships of this feature to other features via the shared edge definitions.
253
+ If provided, the aggregationType attribute shall have the value "sequence".</documentation>
254
+ </annotation>
255
+ </element>
256
+ <complexType name="TopoCurvePropertyType">
257
+ <sequence>
258
+ <element ref="gml:TopoCurve"/>
259
+ </sequence>
260
+ <attributeGroup ref="gml:OwnershipAttributeGroup"/>
261
+ </complexType>
262
+ <element name="topoCurveProperty" type="gml:TopoCurvePropertyType">
263
+ <annotation>
264
+ <documentation>The gml:topoCurveProperty property element may be used in features to express their relationship to the referenced topology edges.</documentation>
265
+ </annotation>
266
+ </element>
267
+ <complexType name="TopoSurfaceType">
268
+ <complexContent>
269
+ <extension base="gml:AbstractTopologyType">
270
+ <sequence>
271
+ <element ref="gml:directedFace" maxOccurs="unbounded"/>
272
+ </sequence>
273
+ <attributeGroup ref="gml:AggregationAttributeGroup"/>
274
+ </extension>
275
+ </complexContent>
276
+ </complexType>
277
+ <element name="TopoSurface" type="gml:TopoSurfaceType">
278
+ <annotation>
279
+ <documentation>gml:TopoSurface represents a homogeneous topological expression, a set of directed faces, which if realised are isomorphic to a geometric surface primitive. The intended use of gml:TopoSurface is to appear within a surface feature to express the structural and possibly geometric relationships of this surface feature to other features via the shared face definitions.</documentation>
280
+ </annotation>
281
+ </element>
282
+ <complexType name="TopoSurfacePropertyType">
283
+ <sequence>
284
+ <element ref="gml:TopoSurface"/>
285
+ </sequence>
286
+ <attributeGroup ref="gml:OwnershipAttributeGroup"/>
287
+ </complexType>
288
+ <element name="topoSurfaceProperty" type="gml:TopoSurfacePropertyType">
289
+ <annotation>
290
+ <documentation>The gml:topoSurfaceProperty property element may be used in features to express their relationship to the referenced topology faces.</documentation>
291
+ </annotation>
292
+ </element>
293
+ <complexType name="TopoVolumeType">
294
+ <complexContent>
295
+ <extension base="gml:AbstractTopologyType">
296
+ <sequence>
297
+ <element ref="gml:directedTopoSolid" maxOccurs="unbounded"/>
298
+ </sequence>
299
+ <attributeGroup ref="gml:AggregationAttributeGroup"/>
300
+ </extension>
301
+ </complexContent>
302
+ </complexType>
303
+ <element name="TopoVolume" type="gml:TopoVolumeType">
304
+ <annotation>
305
+ <documentation>gml:TopoVolume represents a homogeneous topological expression, a set of directed topologic solids, which if realised are isomorphic to a geometric solid primitive. The intended use of gml:TopoVolume is to appear within a solid feature to express the structural and geometric relationships of this solid feature to other features via the shared solid definitions.</documentation>
306
+ </annotation>
307
+ </element>
308
+ <complexType name="TopoVolumePropertyType">
309
+ <sequence>
310
+ <element ref="gml:TopoVolume"/>
311
+ </sequence>
312
+ <attributeGroup ref="gml:OwnershipAttributeGroup"/>
313
+ </complexType>
314
+ <element name="topoVolumeProperty" type="gml:TopoVolumePropertyType">
315
+ <annotation>
316
+ <documentation>The gml:topoVolumeProperty element may be used in features to express their relationship to the referenced topology volume.</documentation>
317
+ </annotation>
318
+ </element>
319
+ <complexType name="TopoComplexType">
320
+ <complexContent>
321
+ <extension base="gml:AbstractTopologyType">
322
+ <sequence>
323
+ <element ref="gml:maximalComplex"/>
324
+ <element ref="gml:superComplex" minOccurs="0" maxOccurs="unbounded"/>
325
+ <element ref="gml:subComplex" minOccurs="0" maxOccurs="unbounded"/>
326
+ <element ref="gml:topoPrimitiveMember" minOccurs="0" maxOccurs="unbounded"/>
327
+ <element ref="gml:topoPrimitiveMembers" minOccurs="0"/>
328
+ </sequence>
329
+ <attribute name="isMaximal" type="boolean" default="false"/>
330
+ <attributeGroup ref="gml:AggregationAttributeGroup"/>
331
+ </extension>
332
+ </complexContent>
333
+ </complexType>
334
+ <element name="TopoComplex" type="gml:TopoComplexType" substitutionGroup="gml:AbstractTopology">
335
+ <annotation>
336
+ <documentation>gml:TopoComplex is a collection of topological primitives.
337
+ Each complex holds a reference to its maximal complex (gml:maximalComplex) and optionally to sub- or super-complexes (gml:subComplex, gml:superComplex).
338
+ A topology complex contains its primitive and sub-complex members.
339
+ </documentation>
340
+ </annotation>
341
+ </element>
342
+ <element name="subComplex" type="gml:TopoComplexPropertyType">
343
+ <annotation>
344
+ <documentation>The property elements gml:subComplex, gml:superComplex and gml:maximalComplex provide an encoding for relationships between topology complexes as described for gml:TopoComplex above.</documentation>
345
+ </annotation>
346
+ </element>
347
+ <element name="superComplex" type="gml:TopoComplexPropertyType">
348
+ <annotation>
349
+ <documentation>The property elements gml:subComplex, gml:superComplex and gml:maximalComplex provide an encoding for relationships between topology complexes as described for gml:TopoComplex above.</documentation>
350
+ </annotation>
351
+ </element>
352
+ <element name="maximalComplex" type="gml:TopoComplexPropertyType">
353
+ <annotation>
354
+ <documentation>The property elements gml:subComplex, gml:superComplex and gml:maximalComplex provide an encoding for relationships between topology complexes as described for gml:TopoComplex above.</documentation>
355
+ </annotation>
356
+ </element>
357
+ <element name="topoPrimitiveMember" type="gml:TopoPrimitiveMemberType">
358
+ <annotation>
359
+ <documentation>The gml:topoPrimitiveMember property element encodes for the relationship between a topology complex and a single topology primitive.</documentation>
360
+ </annotation>
361
+ </element>
362
+ <complexType name="TopoPrimitiveMemberType">
363
+ <sequence minOccurs="0">
364
+ <element ref="gml:AbstractTopoPrimitive"/>
365
+ </sequence>
366
+ <attributeGroup ref="gml:AssociationAttributeGroup"/>
367
+ <attributeGroup ref="gml:OwnershipAttributeGroup"/>
368
+ </complexType>
369
+ <element name="topoPrimitiveMembers" type="gml:TopoPrimitiveArrayAssociationType">
370
+ <annotation>
371
+ <documentation>The gml:topoPrimitiveMembers property element encodes the relationship between a topology complex and an arbitrary number of topology primitives.</documentation>
372
+ </annotation>
373
+ </element>
374
+ <complexType name="TopoPrimitiveArrayAssociationType">
375
+ <sequence minOccurs="0" maxOccurs="unbounded">
376
+ <element ref="gml:AbstractTopoPrimitive"/>
377
+ </sequence>
378
+ <attributeGroup ref="gml:OwnershipAttributeGroup"/>
379
+ </complexType>
380
+ <complexType name="TopoComplexPropertyType">
381
+ <sequence minOccurs="0">
382
+ <element ref="gml:TopoComplex"/>
383
+ </sequence>
384
+ <attributeGroup ref="gml:AssociationAttributeGroup"/>
385
+ </complexType>
386
+ </schema>
@@ -0,0 +1,231 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <schema targetNamespace="http://www.opengis.net/gml/3.2" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml/3.2" elementFormDefault="qualified" xml:lang="en" version="3.2.1.2">
3
+ <annotation>
4
+ <appinfo source="urn:x-ogc:specification:gml:schema-xsd:units:3.2.1">units.xsd</appinfo>
5
+ <documentation>See ISO/DIS 17.2.
6
+ Several GML Schema components concern or require a reference scale or units of measure. Units are required for quantities that may occur as values of properties of feature types, as the results of observations, in the range parameters of a coverage, and for measures used in Coordinate Reference System definitions.
7
+ The basic unit definition is an extension of the general gml:Definition element defined in 16.2.1. Three specialized elements for unit definition are further derived from this.
8
+ This model is based on the SI system of units [ISO 1000], which distinguishes between Base Units and Derived Units.
9
+ - Base Units are the preferred units for a set of orthogonal fundamental quantities which define the particular system of units, which may not be derived by combination of other base units.
10
+ - Derived Units are the preferred units for other quantities in the system, which may be defined by algebraic combination of the base units.
11
+ In some application areas Conventional units are used, which may be converted to the preferred units using a scaling factor or a formula which defines a re-scaling and offset. The set of preferred units for all physical quantity types in a particular system of units is composed of the union of its base units and derived units.
12
+ Unit definitions are substitutable for the gml:Definition element declared as part of the dictionary model. A dictionary that contains only unit definitions and references to unit definitions is a units dictionary.
13
+
14
+ GML is an OGC Standard.
15
+ Copyright (c) 2007,2010 Open Geospatial Consortium.
16
+ To obtain additional rights of use, visit http://www.opengeospatial.org/legal/ .
17
+ </documentation>
18
+ </annotation>
19
+ <include schemaLocation="gml.xsd"/>
20
+ <element name="Definition" type="gml:DefinitionType" substitutionGroup="gml:AbstractGML">
21
+ <annotation>
22
+ <documentation>The basic gml:Definition element specifies a definition, which can be included in or referenced by a dictionary.
23
+ The content model for a generic definition is a derivation from gml:AbstractGMLType.
24
+ The gml:description property element shall hold the definition if this can be captured in a simple text string, or the gml:descriptionReference property element may carry a link to a description elsewhere.
25
+ The gml:identifier element shall provide one identifier identifying this definition. The identifier shall be unique within the dictionaries using this definition.
26
+ The gml:name elements shall provide zero or more terms and synonyms for which this is the definition.
27
+ The gml:remarks element shall be used to hold additional textual information that is not conceptually part of the definition but is useful in understanding the definition.</documentation>
28
+ </annotation>
29
+ </element>
30
+ <complexType name="DefinitionBaseType">
31
+ <complexContent>
32
+ <restriction base="gml:AbstractGMLType">
33
+ <sequence>
34
+ <element ref="gml:metaDataProperty" minOccurs="0" maxOccurs="unbounded"/>
35
+ <element ref="gml:description" minOccurs="0"/>
36
+ <element ref="gml:descriptionReference" minOccurs="0"/>
37
+ <element ref="gml:identifier"/>
38
+ <element ref="gml:name" minOccurs="0" maxOccurs="unbounded"/>
39
+ </sequence>
40
+ <attribute ref="gml:id" use="required"/>
41
+ </restriction>
42
+ </complexContent>
43
+ </complexType>
44
+ <complexType name="DefinitionType">
45
+ <complexContent>
46
+ <extension base="gml:DefinitionBaseType">
47
+ <sequence>
48
+ <element ref="gml:remarks" minOccurs="0"/>
49
+ </sequence>
50
+ </extension>
51
+ </complexContent>
52
+ </complexType>
53
+ <element name="remarks" type="string"/>
54
+ <element name="Dictionary" type="gml:DictionaryType" substitutionGroup="gml:Definition">
55
+ <annotation>
56
+ <documentation>Sets of definitions may be collected into dictionaries or collections.
57
+ A gml:Dictionary is a non-abstract collection of definitions.
58
+ The gml:Dictionary content model adds a list of gml:dictionaryEntry properties that contain or reference gml:Definition objects. A database handle (gml:id attribute) is required, in order that this collection may be referred to. The standard gml:identifier, gml:description, gml:descriptionReference and gml:name properties are available to reference or contain more information about this dictionary. The gml:description and gml:descriptionReference property elements may be used for a description of this dictionary. The derived gml:name element may be used for the name(s) of this dictionary. for remote definiton references gml:dictionaryEntry shall be used. If a Definition object contained within a Dictionary uses the descriptionReference property to refer to a remote definition, then this enables the inclusion of a remote definition in a local dictionary, giving a handle and identifier in the context of the local dictionary.</documentation>
59
+ </annotation>
60
+ </element>
61
+ <complexType name="DictionaryType">
62
+ <complexContent>
63
+ <extension base="gml:DefinitionType">
64
+ <choice minOccurs="0" maxOccurs="unbounded">
65
+ <element ref="gml:dictionaryEntry"/>
66
+ <element ref="gml:indirectEntry"/>
67
+ </choice>
68
+ <attributeGroup ref="gml:AggregationAttributeGroup"/>
69
+ </extension>
70
+ </complexContent>
71
+ </complexType>
72
+ <element name="dictionaryEntry" type="gml:DictionaryEntryType">
73
+ <annotation>
74
+ <documentation>This property element contains or refers to the definitions which are members of a dictionary.
75
+ The content model follows the standard GML property pattern, so a gml:dictionaryEntry may either contain or refer to a single gml:Definition. Since gml:Dictionary is substitutable for gml:Definition, the content of an entry may itself be a lower level dictionary.
76
+ Note that if the value is provided by reference, this definition does not carry a handle (gml:id) in this context, so does not allow external references to this specific definition in this context. When used in this way the referenced definition will usually be in a dictionary in the same XML document.</documentation>
77
+ </annotation>
78
+ </element>
79
+ <complexType name="DictionaryEntryType">
80
+ <complexContent>
81
+ <extension base="gml:AbstractMemberType">
82
+ <sequence minOccurs="0">
83
+ <element ref="gml:Definition"/>
84
+ </sequence>
85
+ <attributeGroup ref="gml:AssociationAttributeGroup"/>
86
+ </extension>
87
+ </complexContent>
88
+ </complexType>
89
+
90
+ <element name="unitOfMeasure" type="gml:UnitOfMeasureType">
91
+ <annotation>
92
+ <documentation>The element gml:unitOfMeasure is a property element to refer to a unit of measure. This is an empty element which carries a reference to a unit of measure definition.</documentation>
93
+ </annotation>
94
+ </element>
95
+ <complexType name="UnitOfMeasureType">
96
+ <sequence/>
97
+ <attribute name="uom" type="gml:UomIdentifier" use="required"/>
98
+ </complexType>
99
+ <element name="UnitDefinition" type="gml:UnitDefinitionType" substitutionGroup="gml:Definition">
100
+ <annotation>
101
+ <documentation>A gml:UnitDefinition is a general definition of a unit of measure. This generic element is used only for units for which no relationship with other units or units systems is known.
102
+ The content model of gml:UnitDefinition adds three additional properties to gml:Definition, gml:quantityType, gml:quantityTypeReference and gml:catalogSymbol.
103
+ The gml:catalogSymbol property optionally gives the short symbol used for this unit. This element is usually used when the relationship of this unit to other units or units systems is unknown.</documentation>
104
+ </annotation>
105
+ </element>
106
+ <complexType name="UnitDefinitionType">
107
+ <complexContent>
108
+ <extension base="gml:DefinitionType">
109
+ <sequence>
110
+ <element ref="gml:quantityType" minOccurs="0"/>
111
+ <element ref="gml:quantityTypeReference" minOccurs="0"/>
112
+ <element ref="gml:catalogSymbol" minOccurs="0"/>
113
+ </sequence>
114
+ </extension>
115
+ </complexContent>
116
+ </complexType>
117
+ <element name="quantityType" type="gml:StringOrRefType">
118
+ <annotation>
119
+ <documentation>The gml:quantityType property indicates the phenomenon to which the units apply. This element contains an informal description of the phenomenon or type of physical quantity that is measured or observed. When the physical quantity is the result of an observation or measurement, this term is known as observable type or measurand.
120
+ The use of gml:quantityType for references to remote values is deprecated.</documentation>
121
+ </annotation>
122
+ </element>
123
+ <element name="quantityTypeReference" type="gml:ReferenceType">
124
+ <annotation>
125
+ <documentation>The gml:quantityTypeReference property indicates the phenomenon to which the units apply. The content is a reference to a remote value.</documentation>
126
+ </annotation>
127
+ </element>
128
+ <element name="catalogSymbol" type="gml:CodeType">
129
+ <annotation>
130
+ <documentation>The catalogSymbol is the preferred lexical symbol used for this unit of measure.
131
+ The codeSpace attribute in gml:CodeType identifies a namespace for the catalog symbol value, and might reference the external catalog. The string value in gml:CodeType contains the value of a symbol that should be unique within this catalog namespace. This symbol often appears explicitly in the catalog, but it could be a combination of symbols using a specified algebra of units.</documentation>
132
+ </annotation>
133
+ </element>
134
+ <element name="BaseUnit" type="gml:BaseUnitType" substitutionGroup="gml:UnitDefinition">
135
+ <annotation>
136
+ <documentation>A base unit is a unit of measure that cannot be derived by combination of other base units within a particular system of units. For example, in the SI system of units, the base units are metre, kilogram, second, Ampere, Kelvin, mole, and candela, for the physical quantity types length, mass, time interval, electric current, thermodynamic temperature, amount of substance and luminous intensity, respectively.
137
+ gml:BaseUnit extends generic gml:UnitDefinition with the property gml:unitsSystem, which carries a reference to the units system to which this base unit is asserted to belong. </documentation>
138
+ </annotation>
139
+ </element>
140
+ <complexType name="BaseUnitType">
141
+ <complexContent>
142
+ <extension base="gml:UnitDefinitionType">
143
+ <sequence>
144
+ <element name="unitsSystem" type="gml:ReferenceType"/>
145
+ </sequence>
146
+ </extension>
147
+ </complexContent>
148
+ </complexType>
149
+ <element name="DerivedUnit" type="gml:DerivedUnitType" substitutionGroup="gml:UnitDefinition">
150
+ <annotation>
151
+ <documentation>Derived units are defined by combination of other units. Derived units are used for quantities other than those corresponding to the base units, such as hertz (s-1) for frequency, Newton (kg.m/s2) for force. Derived units based directly on base units are usually preferred for quantities other than the fundamental quantities within a system. If a derived unit is not the preferred unit, the gml:ConventionalUnit element should be used instead.
152
+ The gml:DerivedUnit extends gml:UnitDefinition with the property gml:derivationUnitTerms.</documentation>
153
+ </annotation>
154
+ </element>
155
+ <complexType name="DerivedUnitType">
156
+ <complexContent>
157
+ <extension base="gml:UnitDefinitionType">
158
+ <sequence>
159
+ <element ref="gml:derivationUnitTerm" maxOccurs="unbounded"/>
160
+ </sequence>
161
+ </extension>
162
+ </complexContent>
163
+ </complexType>
164
+ <element name="derivationUnitTerm" type="gml:DerivationUnitTermType">
165
+ <annotation>
166
+ <documentation>A set of gml:derivationUnitTerm elements describes a derived unit of measure. Each element carries an integer exponent. The terms are combined by raising each referenced unit to the power of its exponent and forming the product.
167
+ This unit term references another unit of measure (uom) and provides an integer exponent applied to that unit in defining the compound unit. The exponent may be positive or negative, but not zero.</documentation>
168
+ </annotation>
169
+ </element>
170
+ <complexType name="DerivationUnitTermType">
171
+ <complexContent>
172
+ <extension base="gml:UnitOfMeasureType">
173
+ <attribute name="exponent" type="integer"/>
174
+ </extension>
175
+ </complexContent>
176
+ </complexType>
177
+ <element name="ConventionalUnit" type="gml:ConventionalUnitType" substitutionGroup="gml:UnitDefinition">
178
+ <annotation>
179
+ <documentation>Conventional units that are neither base units nor defined by direct combination of base units are used in many application domains. For example electronVolt for energy, feet and nautical miles for length. In most cases there is a known, usually linear, conversion to a preferred unit which is either a base unit or derived by direct combination of base units.
180
+ The gml:ConventionalUnit extends gml:UnitDefinition with a property that describes a conversion to a preferred unit for this physical quantity. When the conversion is exact, the element gml:conversionToPreferredUnit should be used, or when the conversion is not exact the element gml:roughConversionToPreferredUnit is available. Both of these elements have the same content model. The gml:derivationUnitTerm property defined above is included to allow a user to optionally record how this unit may be derived from other ("more primitive") units.</documentation>
181
+ </annotation>
182
+ </element>
183
+ <complexType name="ConventionalUnitType">
184
+ <complexContent>
185
+ <extension base="gml:UnitDefinitionType">
186
+ <sequence>
187
+ <choice>
188
+ <element ref="gml:conversionToPreferredUnit"/>
189
+ <element ref="gml:roughConversionToPreferredUnit"/>
190
+ </choice>
191
+ <element ref="gml:derivationUnitTerm" minOccurs="0" maxOccurs="unbounded"/>
192
+ </sequence>
193
+ </extension>
194
+ </complexContent>
195
+ </complexType>
196
+ <element name="conversionToPreferredUnit" type="gml:ConversionToPreferredUnitType">
197
+ <annotation>
198
+ <documentation>The elements gml:conversionToPreferredUnit and gml:roughConversionToPreferredUnit represent parameters used to convert conventional units to preferred units for this physical quantity type. A preferred unit is either a Base Unit or a Derived Unit that is selected for all values of one physical quantity type.</documentation>
199
+ </annotation>
200
+ </element>
201
+ <element name="roughConversionToPreferredUnit" type="gml:ConversionToPreferredUnitType">
202
+ <annotation>
203
+ <documentation>The elements gml:conversionToPreferredUnit and gml:roughConversionToPreferredUnit represent parameters used to convert conventional units to preferred units for this physical quantity type. A preferred unit is either a Base Unit or a Derived Unit that is selected for all values of one physical quantity type.</documentation>
204
+ </annotation>
205
+ </element>
206
+ <complexType name="ConversionToPreferredUnitType">
207
+ <annotation>
208
+ <documentation>The inherited attribute uom references the preferred unit that this conversion applies to. The conversion of a unit to the preferred unit for this physical quantity type is specified by an arithmetic conversion (scaling and/or offset). The content model extends gml:UnitOfMeasureType, which has a mandatory attribute uom which identifies the preferred unit for the physical quantity type that this conversion applies to. The conversion is specified by a choice of
209
+ - gml:factor, which defines the scale factor, or
210
+ - gml:formula, which defines a formula
211
+ by which a value using the conventional unit of measure can be converted to obtain the corresponding value using the preferred unit of measure.
212
+ The formula defines the parameters of a simple formula by which a value using the conventional unit of measure can be converted to the corresponding value using the preferred unit of measure. The formula element contains elements a, b, c and d, whose values use the XML Schema type double. These values are used in the formula y = (a + bx) / (c + dx), where x is a value using this unit, and y is the corresponding value using the base unit. The elements a and d are optional, and if values are not provided, those parameters are considered to be zero. If values are not provided for both a and d, the formula is equivalent to a fraction with numerator and denominator parameters.</documentation>
213
+ </annotation>
214
+ <complexContent>
215
+ <extension base="gml:UnitOfMeasureType">
216
+ <choice>
217
+ <element name="factor" type="double"/>
218
+ <element name="formula" type="gml:FormulaType"/>
219
+ </choice>
220
+ </extension>
221
+ </complexContent>
222
+ </complexType>
223
+ <complexType name="FormulaType">
224
+ <sequence>
225
+ <element name="a" type="double" minOccurs="0"/>
226
+ <element name="b" type="double"/>
227
+ <element name="c" type="double"/>
228
+ <element name="d" type="double" minOccurs="0"/>
229
+ </sequence>
230
+ </complexType>
231
+ </schema>