Skip to content

Commit

Permalink
Merge pull request #291 from opengeospatial/20240804_specification_el…
Browse files Browse the repository at this point in the history
…ements

adds cql2 and ogc api features part 3 spec element mappings
  • Loading branch information
ghobona authored Aug 5, 2024
2 parents dd45a8b + 64eee87 commit 529432c
Show file tree
Hide file tree
Showing 6 changed files with 20,629 additions and 0 deletions.
63 changes: 63 additions & 0 deletions specification-elements/code/19-079r2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# OGC API - Features - Part 3

def cleanString(intext):
intext = intext.replace("\"","")
if "</" in intext:
intext = intext[:intext.index("</")]
if intext.startswith("/req/") or intext.startswith("/conf/") or intext.startswith("/rec/") or intext.startswith("/per/") or intext.startswith("/conf/"):
intext = "http://www.opengis.net/spec/ogcapi-features-3/1.0"+intext
return intext

specURL = "https://docs.ogc.org/is/19-079r2/19-079r2.html"
fout = open("../mappings/19-079r2.csv","w") # output file
fin = open("../specifications/19-079r2.html","r") # input file
elementList = []

# processing the input file

idtoken = ""
readingAnnex = 0

for line in fin:
tokens = line.split()
for token in tokens:
if token.startswith("id=\""):
idtoken = token.replace("id=\"","")
idtoken = idtoken[:idtoken.index("\"")]
print (idtoken)
if "id=\"_abstract_test_suite_normative\"" in token:
readingAnnex = 1
if readingAnnex == 0:
if "/req/" in token:
if "http:" in token:
token = token[token.index("http:"):]
elementList.append(idtoken+","+cleanString(token))
else:
token = token[token.index("/req/"):]
elementList.append(idtoken+","+cleanString(token))
if "/conf/" in token:
if "http:" in token:
token = token[token.index("http:"):]
elementList.append(idtoken+","+cleanString(token))
else:
token = token[token.index("/conf/"):]
elementList.append(idtoken+","+cleanString(token))
if "/rec/" in token:
token = token[token.index("/rec/"):]
elementList.append(idtoken+","+cleanString(token))
if "/per/" in token:
token = token[token.index("/per/"):]
elementList.append(idtoken+","+cleanString(token))
if readingAnnex == 1:
if "/ats/" in token:
token = token[token.index("/conf/"):]
elementList.append(idtoken+","+cleanString(token))
# Handling duplicates

elementList = list(dict.fromkeys(elementList)) # remove duplicates

# Now we write out the output

for e in elementList:
if "example_" not in e:
fout.write(specURL+"#"+e+"\n")
63 changes: 63 additions & 0 deletions specification-elements/code/21-065r2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# CQL2

def cleanString(intext):
intext = intext.replace("\"","")
if "</" in intext:
intext = intext[:intext.index("</")]
if intext.startswith("/req/") or intext.startswith("/conf/") or intext.startswith("/rec/") or intext.startswith("/per/") or intext.startswith("/conf/"):
intext = "http://www.opengis.net/spec/cql2/1.0"+intext
return intext

specURL = "https://docs.ogc.org/is/21-065r2/21-065r2.html"
fout = open("../mappings/21-065r2.csv","w") # output file
fin = open("../specifications/21-065r2.html","r") # input file
elementList = []

# processing the input file

idtoken = ""
readingAnnex = 0

for line in fin:
tokens = line.split()
for token in tokens:
if token.startswith("id=\""):
idtoken = token.replace("id=\"","")
idtoken = idtoken[:idtoken.index("\"")]
print (idtoken)
if "id=\"_abstract_test_suite_normative\"" in token:
readingAnnex = 1
if readingAnnex == 0:
if "/req/" in token:
if "http:" in token:
token = token[token.index("http:"):]
elementList.append(idtoken+","+cleanString(token))
else:
token = token[token.index("/req/"):]
elementList.append(idtoken+","+cleanString(token))
if "/conf/" in token:
if "http:" in token:
token = token[token.index("http:"):]
elementList.append(idtoken+","+cleanString(token))
else:
token = token[token.index("/conf/"):]
elementList.append(idtoken+","+cleanString(token))
if "/rec/" in token:
token = token[token.index("/rec/"):]
elementList.append(idtoken+","+cleanString(token))
if "/per/" in token:
token = token[token.index("/per/"):]
elementList.append(idtoken+","+cleanString(token))
if readingAnnex == 1:
if "/ats/" in token:
token = token[token.index("/conf/"):]
elementList.append(idtoken+","+cleanString(token))
# Handling duplicates

elementList = list(dict.fromkeys(elementList)) # remove duplicates

# Now we write out the output

for e in elementList:
if "example_" not in e:
fout.write(specURL+"#"+e+"\n")
82 changes: 82 additions & 0 deletions specification-elements/mappings/19-079r2.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
https://docs.ogc.org/is/19-079r2/19-079r2.html,http://www.opengis.net/doc/IS/ogcapi-features-3/1.0
https://docs.ogc.org/is/19-079r2/19-079r2.html#conf_class_uris,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/queryables
https://docs.ogc.org/is/19-079r2/19-079r2.html#conf_class_uris,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/queryables-query-parameters
https://docs.ogc.org/is/19-079r2/19-079r2.html#conf_class_uris,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter
https://docs.ogc.org/is/19-079r2/19-079r2.html#conf_class_uris,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter
https://docs.ogc.org/is/19-079r2/19-079r2.html#rc_queryables,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/queryables
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_queryables_queryables-link,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/queryables/queryables-link
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_queryables_get-queryables-op,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/queryables/get-queryables-op
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_queryables_get-queryables-response,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/queryables/get-queryables-response
https://docs.ogc.org/is/19-079r2/19-079r2.html#rec_queryables_queryables-schema,http://www.opengis.net/spec/ogcapi-features-3/1.0/rec/queryables/queryables-schema
https://docs.ogc.org/is/19-079r2/19-079r2.html#rec_queryables_queryables-schema,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/queryables/get-queryables-response
https://docs.ogc.org/is/19-079r2/19-079r2.html#rc_queryable-query-parameters,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/queryables-query-parameters
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_queryables-query-parameters_parameters,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/queryables-query-parameters/parameters
https://docs.ogc.org/is/19-079r2/19-079r2.html#rc_filter,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_filter_filter-param,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/filter-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#rec_filter_filter-default,http://www.opengis.net/spec/ogcapi-features-3/1.0/rec/filter/queryables-schema
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_filter_filter-lang-param,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/filter-lang-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_filter_filter-crs-wgs84,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/filter-crs-wgs84
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_filter_filter-crs-param,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/filter-crs-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#rec_filter_filter-crs-list,http://www.opengis.net/spec/ogcapi-features-3/1.0/rec/filter/filter-crs-list
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_filter_mixing-expressions,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/mixing-expressions
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_filter_get-functions-operation,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/get-functions-operation
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_filter_get-functions-response-json,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/get-functions-response-json
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_filter_response,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/response
https://docs.ogc.org/is/19-079r2/19-079r2.html#rc_features-filter,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/features-filter
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_features-filter_get-queryables-op,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/features-filter/get-queryables-op
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_features-filter_queryables-link,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/features-filter/queryables-link
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_features-filter_filter-param,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/features-filter/filter-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_features-filter_filter-lang-param,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/features-filter/filter-lang-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#rec_features-filter_text-encoding,http://www.opengis.net/spec/ogcapi-features-3/1.0/rec/features-filter/text-encoding
https://docs.ogc.org/is/19-079r2/19-079r2.html#rec_features-filter_JSON-encoding,http://www.opengis.net/spec/ogcapi-features-3/1.0/rec/features-filter/JSON-encoding
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_features-filter_filter-crs-param,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/features-filter/filter-crs-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#req_features-filter_response,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/features-filter/response
https://docs.ogc.org/is/19-079r2/19-079r2.html#conf_queryables,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/queryables
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_1,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/queryables/get-conformance
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_1,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/queryables.
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_2,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/queryables/get-queryables-uris
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_2,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/queryables/queryables-link
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_3,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/queryables/get-queryables
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_3,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/queryables/get-queryables-op
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_3,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/queryables/get-queryables-response
https://docs.ogc.org/is/19-079r2/19-079r2.html#conf_queryables-query-parameters,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/queryables-query-parameters
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_4,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/queryables-query-parameters/get-conformance
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_4,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/queryables-query-parameters.
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_5,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/queryables-query-parameters/query-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_5,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/queryables-query-parameters/parameters
https://docs.ogc.org/is/19-079r2/19-079r2.html#conf_filter,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_6,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter/get-conformance
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_6,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter.
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_7,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter/filter-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_7,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/filter-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_7,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/filter-lang-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_7,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/response
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_8,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter/filter-lang-default
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_8,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/filter-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_8,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/filter-lang-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_8,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/response
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_9,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter/expression-construction
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_9,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/queryables/get-queryables-response
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_10,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter/filter-crs-wgs84
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_10,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/filter-crs-wgs84
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_10,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/response
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_11,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter/filter-crs-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_11,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/filter-crs-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_11,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/response
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_12,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/filter/get-functions
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_12,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/get-functions-operation
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_12,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/get-functions-response-json
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_12,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/mixing-expression
https://docs.ogc.org/is/19-079r2/19-079r2.html#conf_features-filter,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_13,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter/get-conformance
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_13,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter.
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_14,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter/get-collections
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_15,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter/get-collection
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_15,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/features-filter/queryables-link
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_16,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter/filter-on-items
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_16,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/features-filter/filter-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_16,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/features-filter/filter-lang-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_16,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/features-filter/filter-crs-param
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_16,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/features-filter/response
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_17,http://www.opengis.net/spec/ogcapi-features-3/1.0/conf/features-filter/mixing-expression
https://docs.ogc.org/is/19-079r2/19-079r2.html#_conformance_test_17,http://www.opengis.net/spec/ogcapi-features-3/1.0/req/filter/mixing-expressions
Loading

0 comments on commit 529432c

Please sign in to comment.