From: Martin Skorupski Date: Fri, 13 Jun 2025 11:42:45 +0000 (+0200) Subject: Fix License issue X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F60%2F14560%2F1;p=oam.git Fix License issue - remove the file 'geojson.oas.yaml' from repo - describe how to upload the file (wget) - add filename to .gitignore IssueID: OAM-470 Change-Id: Idefce3f7162606c7506ee00f1834879d85f4fd75 Signed-off-by: Martin Skorupski --- diff --git a/.gitignore b/.gitignore index d789c1e..d60c7dd 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,8 @@ append_to_etc_hosts.txt */**/bin/ +geojson.oas.yaml + # Maven target/ *.tar.gz diff --git a/code/network-generator/network_generation/model/jsonSchema/README.md b/code/network-generator/network_generation/model/jsonSchema/README.md new file mode 100644 index 0000000..cfeb0bd --- /dev/null +++ b/code/network-generator/network_generation/model/jsonSchema/README.md @@ -0,0 +1,7 @@ +# How to get geojson.oas.yaml + +Please run + +```bash +wget -O geojson.oas.yaml https://gist.githubusercontent.com/zit0un/3ac0575eb0f3aabdc645c3faad47ab4a/raw/04a1ab2ecb995714e904c20b0538a36686648a30/GeoJSON-OAS3.yaml +``` \ No newline at end of file diff --git a/code/network-generator/network_generation/model/jsonSchema/geojson.oas.yaml b/code/network-generator/network_generation/model/jsonSchema/geojson.oas.yaml deleted file mode 100644 index 4f228b1..0000000 --- a/code/network-generator/network_generation/model/jsonSchema/geojson.oas.yaml +++ /dev/null @@ -1,585 +0,0 @@ -openapi: 3.0.0 -info: - version: 1.0.1 - title: GeoJSON format - description: > - This document defines the GeoJSON format as an OpenAPI. - It contains the definitions for 'Feature' object and 'FeatureCollection' - objects, as well as the definitions for all 'Geometry' objects. - It conforms with the 'RFC-7946' standard from IETF (August 2016 version) - - Kudos to @bubbobne and @idkw whose code helped me not start from scratch - https://gist.github.com/bubbobne/fe5f2db65acf039be6a9fd92fc9c7233 - - termsOfService: 'no' - contact: - name: Zitoun - email: 'zitoun@gmail.com' - license: - name: GPLv3 - url: 'https://www.gnu.org/licenses/gpl-3.0.html' - -#••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• -externalDocs: - description: 'Official GeoJSON specification – IETF RFC-7946 (August 2016)' - url: 'https://tools.ietf.org/html/rfc7946' - -#••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• -security: - - UserSecurity: [] - -#••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• -servers: - - url: 'http://myHost/' - -#••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• -paths: - #============================================================================= - '/geometry': - get: - summary: Get an array of GeoJSON Geometry objects - responses: - '200': - description: Successful response - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/GeometryCollection' - '400': - $ref: '#/components/responses/Error400BadRequest' - '401': - $ref: '#/components/responses/Error401Unauthorized' - '500': - $ref: '#/components/responses/Error500InternalServerError' - post: - summary: Create new GeoJSON Geometry object - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Geometry' - required: true - responses: - '201': - description: New GeoJSON Geometry object created - '400': - $ref: '#/components/responses/Error400BadRequest' - '401': - $ref: '#/components/responses/Error401Unauthorized' - '403': - $ref: '#/components/responses/Error403Forbidden' - '500': - $ref: '#/components/responses/Error500InternalServerError' - -#••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• -components: - - #============================================================================= - schemas: - - #--------------------------------------------------------------------------- - 'GeoJsonObject': - description: > - GeoJSon object - - The coordinate reference system for all GeoJSON coordinates is a - geographic coordinate reference system, using the World Geodetic System - 1984 (WGS 84) datum, with longitude and latitude units of decimal - degrees. - This is equivalent to the coordinate reference system identified by the - Open Geospatial Consortium (OGC) URN - An OPTIONAL third-position element SHALL be the height in meters above - or below the WGS 84 reference ellipsoid. - In the absence of elevation values, applications sensitive to height or - depth SHOULD interpret positions as being at local ground or sea level. - externalDocs: - url: 'https://tools.ietf.org/html/rfc7946#section-3' - type: object - properties: - 'type': - type: string - enum: - - Feature - - FeatureCollection - - Point - - MultiPoint - - LineString - - MultiLineString - - Polygon - - MultiPolygon - - GeometryCollection - 'bbox': - description: > - A GeoJSON object MAY have a member named "bbox" to include - information on the coordinate range for its Geometries, Features, or - FeatureCollections. The value of the bbox member MUST be an array of - length 2*n where n is the number of dimensions represented in the - contained geometries, with all axes of the most southwesterly point - followed by all axes of the more northeasterly point. The axes order - of a bbox follows the axes order of geometries. - type: array - items: - type: number - required: - - type - discriminator: - propertyName: type - - #--------------------------------------------------------------------------- - 'Geometry': - description: > - Abstract type for all GeoJSon object except Feature and - FeatureCollection - externalDocs: - url: 'https://tools.ietf.org/html/rfc7946#section-3' - allOf: - - $ref: '#/components/schemas/GeoJsonObject' - - type: object - properties: - 'type': - type: string - enum: - - Point - - MultiPoint - - LineString - - MultiLineString - - Polygon - - MultiPolygon - - GeometryCollection - required: - - type - discriminator: - propertyName: type - - #--------------------------------------------------------------------------- - 'GeometryElement': - description: > - Abstract type for all GeoJSon 'Geometry' object the type of which is not - 'GeometryCollection' - externalDocs: - url: 'https://tools.ietf.org/html/rfc7946#section-3' - allOf: - - $ref: '#/components/schemas/Geometry' - - type: object - properties: - 'type': - type: string - enum: - - Point - - MultiPoint - - LineString - - MultiLineString - - Polygon - - MultiPolygon - required: - - type - discriminator: - propertyName: type - - #--------------------------------------------------------------------------- - 'Feature': - description: GeoJSon 'Feature' object - externalDocs: - url: 'https://tools.ietf.org/html/rfc7946#section-3.2' - allOf: - - $ref: '#/components/schemas/GeoJsonObject' - - type: object - required: - - geometry - - properties - properties: - 'geometry': - allOf: - - nullable: true - - $ref: '#/components/schemas/Geometry' - 'properties': - type: object - nullable: true - 'id': - oneOf: - - type: number - - type: string - - #--------------------------------------------------------------------------- - 'FeatureCollection': - description: GeoJSon 'FeatureCollection' object - externalDocs: - url: 'https://tools.ietf.org/html/rfc7946#section-3.3' - allOf: - - $ref: '#/components/schemas/GeoJsonObject' - - type: object - required: - - features - properties: - 'features': - type: array - items: - $ref: '#/components/schemas/Feature' - - #--------------------------------------------------------------------------- - 'Position': - description: > - GeoJSon fundamental geometry construct. - - A position is an array of numbers. There MUST be two or more elements. - The first two elements are longitude and latitude, or easting and - northing, precisely in that order and using decimal numbers. - Altitude or elevation MAY be included as an optional third element. - - Implementations SHOULD NOT extend positions beyond three elements - because the semantics of extra elements are unspecified and ambiguous. - Historically, some implementations have used a fourth element to carry - a linear referencing measure (sometimes denoted as "M") or a numerical - timestamp, but in most situations a parser will not be able to properly - interpret these values. The interpretation and meaning of additional - elements is beyond the scope of this specification, and additional - elements MAY be ignored by parsers. - externalDocs: - url: 'https://tools.ietf.org/html/rfc7946#section-3.1.1' - type: array - minItems: 2 - maxItems: 3 - items: - type: number - - #--------------------------------------------------------------------------- - 'LineStringCoordinates': - description: > - GeoJSon fundamental geometry construct, array of two or more positions. - externalDocs: - url: 'https://tools.ietf.org/html/rfc7946#section-3.1.4' - type: array - items: - $ref: '#/components/schemas/Position' - minItems: 2 - - #--------------------------------------------------------------------------- - 'LinearRing': - description: > - A linear ring is a closed LineString with four or more positions. - - The first and last positions are equivalent, and they MUST contain - identical values; their representation SHOULD also be identical. - - A linear ring is the boundary of a surface or the boundary of a hole in - a surface. - - A linear ring MUST follow the right-hand rule with respect to the area - it bounds, i.e., exterior rings are counterclockwise, and holes are - clockwise. - externalDocs: - url: 'https://tools.ietf.org/html/rfc7946#section-3.1.6' - type: array - items: - $ref: '#/components/schemas/Position' - minItems: 4 - - #--------------------------------------------------------------------------- - 'Point': - description: GeoJSon geometry - externalDocs: - url: 'https://tools.ietf.org/html/rfc7946#section-3.1.2' - allOf: - - $ref: '#/components/schemas/GeometryElement' - - type: object - required: - - type - - coordinates - properties: - 'type': - type: 'string' - enum: [Point] - 'coordinates': - $ref: '#/components/schemas/Position' - - #--------------------------------------------------------------------------- - 'MultiPoint': - description: GeoJSon geometry - externalDocs: - url: 'https://tools.ietf.org/html/rfc7946#section-3.1.3' - allOf: - - $ref: '#/components/schemas/GeometryElement' - - type: object - required: - - coordinates - properties: - 'coordinates': - type: array - items: - $ref: '#/components/schemas/Position' - - #--------------------------------------------------------------------------- - 'LineString': - description: GeoJSon geometry - externalDocs: - url: 'https://tools.ietf.org/html/rfc7946#section-3.1.4' - allOf: - - $ref: '#/components/schemas/GeometryElement' - - type: object - required: - - coordinates - properties: - 'coordinates': - $ref: '#/components/schemas/LineStringCoordinates' - - #--------------------------------------------------------------------------- - 'MultiLineString': - description: GeoJSon geometry - externalDocs: - url: 'https://tools.ietf.org/html/rfc7946#section-3.1.5' - allOf: - - $ref: '#/components/schemas/GeometryElement' - - type: object - required: - - coordinates - properties: - 'coordinates': - type: array - items: - $ref: '#/components/schemas/LineStringCoordinates' - - #--------------------------------------------------------------------------- - 'Polygon': - description: GeoJSon geometry - externalDocs: - url: 'https://tools.ietf.org/html/rfc7946#section-3.1.6' - allOf: - - $ref: '#/components/schemas/GeometryElement' - - type: object - required: - - coordinates - properties: - 'coordinates': - type: array - items: - $ref: '#/components/schemas/LinearRing' - - #--------------------------------------------------------------------------- - 'MultiPolygon': - description: GeoJSon geometry - externalDocs: - url: 'https://tools.ietf.org/html/rfc7946#section-3.1.7' - allOf: - - $ref: '#/components/schemas/GeometryElement' - - type: object - required: - - coordinates - properties: - 'coordinates': - type: array - items: - type: array - items: - $ref: '#/components/schemas/LinearRing' - - #--------------------------------------------------------------------------- - 'GeometryCollection': - type: object - description: > - GeoJSon geometry collection - - GeometryCollections composed of a single part or a number of parts of a - single type SHOULD be avoided when that single part or a single object - of multipart type (MultiPoint, MultiLineString, or MultiPolygon) could - be used instead. - externalDocs: - url: 'https://tools.ietf.org/html/rfc7946#section-3.1.8' - allOf: - - $ref: '#/components/schemas/Geometry' - - type: object - required: - - geometries - properties: - 'geometries': - type: array - items: - $ref: '#/components/schemas/GeometryElement' - minItems: 0 - - #============================================================================= - responses: - - #--------------------------------------------------------------------------- - 'Error400BadRequest': - description: The JSON is not valid. - content: - application/json: - schema: - type: object - properties: - 'status_code': - type: integer - enum: [400] - 'message': - type: string - enum: ['The JSON is not valid.'] - #--------------------------------------------------------------------------- - 'Error401Unauthorized': - description: The request requires an user authentication. - content: - application/json: - schema: - type: object - properties: - 'status_code': - type: integer - enum: [401] - 'message': - type: string - enum: ['The request requires an user authentication.'] - #--------------------------------------------------------------------------- - 'Error403Forbidden': - description: The access is not allowed. - content: - application/json: - schema: - type: object - properties: - 'status_code': - type: integer - enum: [403] - 'message': - type: string - enum: ['The access is not allowed.'] - #--------------------------------------------------------------------------- - 'Error404NotFound': - description: The resource was not found. - content: - application/json: - schema: - type: object - properties: - 'status_code': - type: integer - enum: [404] - 'message': - type: string - enum: ['The resource was not found.'] - #--------------------------------------------------------------------------- - 'Error405MethodNotAllowed': - description: - Request method is not supported for the requested resource. - content: - application/json: - schema: - type: object - properties: - 'status_code': - type: integer - enum: [405] - 'message': - type: string - enum: ['Request method is not supported for the requested resource.'] - #--------------------------------------------------------------------------- - 'Error406NotAcceptable': - description: - Headers sent in the request are not compatible with the service. - content: - application/json: - schema: - type: object - properties: - 'status_code': - type: integer - enum: [406] - 'message': - type: string - enum: ['Headers sent in the request are not compatible with the service.'] - #--------------------------------------------------------------------------- - 'Error408RequestTimeout': - description: > - The client did not produce a request within the time that the server was - prepared to wait. The client may repeat the request without - modifications at any later time. - content: - application/json: - schema: - type: object - properties: - 'status_code': - type: integer - enum: [408] - 'message': - type: string - enum: ['The client did not produce a request within the time that the server was prepared to wait. The client may repeat the request without modifications at any later time.'] - #--------------------------------------------------------------------------- - 'Error410Gone': - description: > - The requested resource is no longer available and will not be available - again. The resource should be purged from the client system. - content: - application/json: - schema: - type: object - properties: - 'status_code': - type: integer - enum: [410] - 'message': - type: string - enum: ['The requested resource is no longer available and will not be available again. The resource should be purged from the client system.'] - #--------------------------------------------------------------------------- - 'Error423Locked': - description: The resource that is being accessed is locked. - content: - application/json: - schema: - type: object - properties: - 'status_code': - type: integer - enum: [423] - 'message': - type: string - enum: ['The resource that is being accessed is locked.'] - #--------------------------------------------------------------------------- - 'Error429TooManyRequests': - description: The user has sent too many requests in a short period. - content: - application/json: - schema: - type: object - properties: - 'status_code': - type: integer - enum: [429] - 'message': - type: string - enum: ['The user has sent too many requests in a short period.'] - #--------------------------------------------------------------------------- - 'Error500InternalServerError': - description: An unexpected error occured. - content: - application/json: - schema: - type: object - properties: - 'status_code': - type: integer - enum: [500] - 'message': - type: string - enum: ['An unexpected error occured.'] - #--------------------------------------------------------------------------- - 'Error503ServiceUnavailable': - description: The server is currently unable to handle the request. - content: - application/json: - schema: - type: object - properties: - 'status_code': - type: integer - enum: [503] - 'message': - type: string - enum: ['The server is currently unable to handle the request.'] - #============================================================================= - securitySchemes: - 'UserSecurity': - type: http - scheme: basic - -#•••••••••••••••••••••••••••••••••••[ EOF ]••••••••••••••••••••••••••••••••••••# \ No newline at end of file