Skip to content

Commit

Permalink
schema/: merge Project and Location extensions
Browse files Browse the repository at this point in the history
  • Loading branch information
odscjen committed Apr 3, 2024
1 parent b93ef71 commit aa094bd
Show file tree
Hide file tree
Showing 4 changed files with 238 additions and 0 deletions.
1 change: 1 addition & 0 deletions schema/codelists/classificationScheme.csv
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,4 @@ TED_CA_TYPE,EU Type of contracting authority (TED schema),The types of contracti
TED_CE_ACTIVITY,EU Main activity of contracting entity (TED schema),The main activity of the contracting entity within the domain of public procurement according to the legislation of the European Parliament. This scheme's codes match those in TED schema.,https://simap.ted.europa.eu/documents/10184/99173/EN_F04.pdf,organization
eu-buyer-contracting-type,EU Buyer contracting entity type,Whether or not the buyer is a contracting entity within the domain of public procurement according to the legislation of the European Parliament.,https://docs.ted.europa.eu/eforms/latest/reference/code-lists/buyer-contracting-type.html,organization
eu-main-activity,EU Main activity authority list (eForms),The main activity of the contracting entity within the domain of public procurement according to the legislation of the European Parliament. This scheme's codes match those in eForms.,https://op.europa.eu/en/web/eu-vocabularies/concept-scheme/-/resource?uri=http://publications.europa.eu/resource/authority/main-activity,organization
oc4idsProjectSector,OC4IDS Project Sector,Open Contracting for Infrastructure Data Standards Toolkit projectSector codelist,https://standard.open-contracting.org/infrastructure/latest/en/reference/codelists/#projectsector,project
7 changes: 7 additions & 0 deletions schema/codelists/geometryType.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Code,Title,Description,Source
Point,Point,"For type 'Point', the 'coordinates' member is a single position.",https://tools.ietf.org/html/rfc7946#section-3.1
MultiPoint,MultiPoint,"For type 'MultiPoint', the 'coordinates' member is an array of positions.",https://tools.ietf.org/html/rfc7946#section-3.1
LineString,LineString,"For type 'LineString', the 'coordinates' member is an array of two or more positions.",https://tools.ietf.org/html/rfc7946#section-3.1
MultiLineString,MultiLineString,"For type 'MultiLineString', the 'coordinates' member is an array of LineString coordinate arrays.",https://tools.ietf.org/html/rfc7946#section-3.1
Polygon,Polygon,"For type 'Polygon', the 'coordinates' member must be an array of linear ring coordinate arrays.",https://tools.ietf.org/html/rfc7946#section-3.1
MultiPolygon,MultiPolygon,"For type 'MultiPolygon', the 'coordinates' member is an array of Polygon coordinate arrays.",https://tools.ietf.org/html/rfc7946#section-3.1
7 changes: 7 additions & 0 deletions schema/codelists/locationGazetteers.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Category,Code,Title,Description,Source,URI Pattern
Sub-National,NUTS,EU Nomenclature of Territorial Units for Statistics,The Nomenclature of Territorial Units for Statistics (NUTS) was established by Eurostat in order to provide a single uniform breakdown of territorial units for the production of regional statistics for the European Union.,https://ec.europa.eu/eurostat/web/nuts/linked-open-data,http://data.europa.eu/nuts/code/
National,ISO2,ISO Country Codes (3166-1 alpha-2),ISO 2-Digit Country Codes,https://www.iso.org/iso-3166-country-codes.html,
Universal,GEONAMES,GeoNames,"GeoNames provides numerical identifiers for many points of interest around the world, including administrative divisions, populated centres and other locations, embedded within a structured tree of geographic relations.",https://www.geonames.org/,https://www.geonames.org/
Universal,OSMN,OpenStreetMap Node,"OpenStreetMap Nodes consist of a single point in space defined by a latitude, longitude and node ID. Nodes might have tags to indicate the particular geographic feature they represent.",,https://www.openstreetmap.org/node/
Universal,OSMR,OpenStreetMap Relation,"Relations are used to model logical (and usually local) or geographic relationships between objects. In practice, boundaries of geographic areas are available as Relations in OpenStreetMap.",https://wiki.openstreetmap.org/wiki/Relation,https://www.openstreetmap.org/relation/
Universal,OSMW,OpenStreetMap Way,An OpenStreetMap Way is an ordered list of OpenStreetMap nodes. It can be used to describe fragments of roads or local boundaries and bounding boxes.,https://wiki.openstreetmap.org/wiki/Way,https://www.openstreetmap.org/way/
223 changes: 223 additions & 0 deletions schema/release-schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,11 @@
"description": "Details of the budget that will fund the future contract(s)",
"$ref": "#/definitions/Budget"
},
"project": {
"title": "Project information",
"description": "Information about the infrastructure or public-private partnership project to which the planning process is related.",
"$ref": "#/definitions/Project"
},
"documents": {
"title": "Documents",
"description": "Documents related to the planning process (for example, notices, needs assessments and market studies).",
Expand Down Expand Up @@ -301,6 +306,26 @@
"description": "The estimated maximum value of the framework agreement, as estimated when publishing the tender information.",
"$ref": "#/definitions/Value"
},
"deliveryLocations": {
"title": "Delivery Locations",
"description": "The locations where activity related to this tender will take place.",
"type": "array",
"items": {
"$ref": "#/definitions/Location"
},
"wholeListMerge": true,
"uniqueItems": true
},
"deliveryAddresses": {
"title": "Delivery Addresses",
"description": "The addresses to which, or where, goods or services related to this tender will be delivered.",
"type": "array",
"items": {
"$ref": "#/definitions/Address"
},
"wholeListMerge": true,
"uniqueItems": true
},
"procurementMethod": {
"title": "Procurement method",
"description": "The method describing which organizations can submit a bid, using the closed [method](https://standard.open-contracting.org/{{version}}/{{lang}}/schema/codelists/#method) codelist. In releases concerning second stages (e.g. in framework agreements) or other subsequent stages, the procurement method always refers to the first stage of the contracting process.",
Expand Down Expand Up @@ -1546,6 +1571,28 @@
"title": "Unit",
"description": "A description of the unit in which the goods, services or works are provided (e.g. hours, kilograms) and the unit-price.",
"$ref": "#/definitions/Unit"
},
"deliveryLocations": {
"title": "Delivery Locations",
"description": "The locations where activity related to this tender, contract or license will be delivered.",
"type": "array",
"items": {
"$ref": "#/definitions/Location"
},
"wholeListMerge": true,
"uniqueItems": true,
"minItems": 1
},
"deliveryAddresses": {
"title": "Delivery Addresses",
"description": "The addresses to which, or where, goods or services related to this tender, contract or license will be delivered.",
"type": "array",
"items": {
"$ref": "#/definitions/Address"
},
"wholeListMerge": true,
"uniqueItems": true,
"minItems": 1
}
}
},
Expand Down Expand Up @@ -1720,6 +1767,98 @@
}
}
},
"Location": {
"title": "Location",
"description": "A physical or virtual location.",
"type": "object",
"properties": {
"description": {
"title": "Description",
"description": "A name or description of this location. This might include the name(s) of the location(s), or might provide a human-readable description of the location to be covered.",
"type": [
"string",
"null"
]
},
"geometry": {
"title": "Geometry",
"description": "We follow the [GeoJSON standard](https://www.rfc-editor.org/rfc/rfc7946) to express basic location information, using longitude, latitude, and optional elevation values in the [WGS84](https://en.wikipedia.org/wiki/World_Geodetic_System) (EPSG:4326) projection. A point location can be identified by geocoding an address. For concession licenses, or other scenarios covering a polygon location that is not contained in a known gazetteer, polygon and multi-polygon can be used.",
"type": "object",
"properties": {
"type": {
"title": "Type",
"description": "The type of [GeoJSON Geometry Objects](https://www.rfc-editor.org/rfc/rfc7946#section-3.1) being provided. To provide longitude, latitude, and optional elevation, use 'Point', and enter an array of [longitude, latitude] or [longitude, latitude, elevation] as the value of the coordinates field: e.g. [-122.085, 37.42].",
"type": [
"string",
"null"
],
"codelist": "geometryType.csv",
"openCodelist": false,
"enum": [
"Point",
"MultiPoint",
"LineString",
"MultiLineString",
"Polygon",
"MultiPolygon",
null
]
},
"coordinates": {
"title": "Coordinates",
"description": "The relevant array of points, e.g. [longitude, latitude] or [longitude, latitude, elevation], or a nested array of points, for the GeoJSON geometry being described. The longitude and latitude must be expressed in decimal degrees in the WGS84 (EPSG:4326) projection.",
"type": [
"array",
"null"
],
"items": {
"type": [
"number",
"array"
]
}
}
}
},
"gazetteer": {
"title": "Gazetteer",
"description": "Identifiers from a gazetteer (a geographical index or directory) for the location.",
"type": "object",
"properties": {
"scheme": {
"title": "Gazetteer scheme",
"description": "The identifier of the gazetteer. The `locationGazetteers.csv` codelist provides details of services, where available, that can resolve a gazetteer entry to provide location names.",
"type": [
"string",
"null"
],
"codelist": "locationGazetteers.csv",
"openCodelist": true
},
"identifiers": {
"title": "Identifiers",
"description": "An array of one or more codes drawn from the gazetteer indicated by the `scheme` field.",
"type": [
"array",
"null"
],
"items": {
"type": "string"
}
}
}
},
"uri": {
"title": "URI",
"description": "A URI to a further description of the location. This might be a human-readable document with information on the location, or a machine-readable description of the location.",
"type": [
"string",
"null"
],
"format": "uri"
}
}
},
"Address": {
"title": "Address",
"description": "An address.",
Expand Down Expand Up @@ -2031,6 +2170,14 @@
"description": "This field is deprecated in favor of `country`, to promote standardized country codes instead of non-standardized country names.",
"deprecatedVersion": "1.2"
}
},
"description": {
"title": "Description",
"description": "The description of the address.",
"type": [
"string",
"null"
]
}
}
},
Expand Down Expand Up @@ -2677,6 +2824,82 @@
}
},
"minProperties": 1
},
"Project": {
"title": "Project information",
"description": "Information about the infrastructure or public-private partnership project to which a planning process is related.",
"type": "object",
"properties": {
"id": {
"title": "Identifier",
"description": "An externally provided identifier for the project. This can be a URI, an identifier from a projects register, or based on the canonical version of the project's name. Project identifiers should be unique within the scope of the publication.",
"type": [
"string",
"null"
],
"minLength": 1
},
"title": {
"title": "Title",
"description": "The name of the project. If a projects register is available, this should be the same as the project's name in that register.",
"type": [
"string",
"null"
],
"minLength": 1
},
"description": {
"title": "Description",
"description": "A short description of the project.",
"type": [
"string",
"null"
],
"minLength": 1
},
"totalValue": {
"title": "Total value",
"description": "The total anticipated value of the project over its lifetime.",
"$ref": "#/definitions/Value"
},
"uri": {
"title": "URI",
"description": "The URI of a resource with additional information about the project.",
"type": [
"string",
"null"
],
"format": "uri"
},
"sector": {
"title": "Sector",
"description": "The primary sector to which the project relates. It is recommended to use the scheme 'oc4idsProjectSector' and codes from the [OC4IDS projectSector codelist](https://standard.open-contracting.org/infrastructure/latest/en/reference/codelists/#projectsector).",
"$ref": "#/definitions/Classification"
},
"additionalClassifications": {
"title": "Additional classifications",
"description": "Additional classifications for the project. For example, a sector or strategic framework classification.",
"type": "array",
"items": {
"$ref": "#/definitions/Classification"
},
"wholeListMerge": true,
"uniqueItems": true,
"minItems": 1
},
"locations": {
"title": "Locations",
"description": "Information about the locations where the project is taking place.",
"type": "array",
"items": {
"$ref": "#/definitions/Location"
},
"wholeListMerge": true,
"uniqueItems": true,
"minItems": 1
}
},
"minProperties": 1
}
}
}

0 comments on commit aa094bd

Please sign in to comment.