github.com/go-spatial/go-wfs@v0.1.4-0.20190401000911-c9fba2bb5188/wfs3/FeatureSchema.go (about)

     1  package wfs3
     2  
     3  // Collected from http://geojson.org/schema/Feature.json on 2018-03-02
     4  var FeatureJSONSchema string = `{
     5    "$schema": "http://json-schema.org/draft-07/schema#",
     6    "$id": "http://geojson.org/schema/Feature.json",
     7    "title": "GeoJSON Feature",
     8    "type": "object",
     9    "required": [
    10      "type",
    11      "properties",
    12      "geometry"
    13    ],
    14    "properties": {
    15      "type": {
    16        "type": "string",
    17        "emum": [
    18          "Feature"
    19        ]
    20      },
    21      "properties": {
    22        "type": "object"
    23      },
    24      "geometry": {
    25        "oneOf": [
    26          {
    27            "type": "null"
    28          },
    29          {
    30            "title": "GeoJSON Point",
    31            "type": "object",
    32            "required": [
    33              "type",
    34              "coordinates"
    35            ],
    36            "properties": {
    37              "type": {
    38                "type": "string",
    39                "enum": [
    40                  "Point"
    41                ]
    42              },
    43              "coordinates": {
    44                "type": "array",
    45                "minItems": 2,
    46                "items": {
    47                  "type": "number"
    48                }
    49              },
    50              "bbox": {
    51                "type": "array",
    52                "minItems": 4,
    53                "items": {
    54                  "type": "number"
    55                }
    56              }
    57            }
    58          },
    59          {
    60            "title": "GeoJSON LineString",
    61            "type": "object",
    62            "required": [
    63              "type",
    64              "coordinates"
    65            ],
    66            "properties": {
    67              "type": {
    68                "type": "string",
    69                "enum": [
    70                  "LineString"
    71                ]
    72              },
    73              "coordinates": {
    74                "type": "array",
    75                "minItems": 2,
    76                "items": {
    77                  "type": "array",
    78                  "minItems": 2,
    79                  "items": {
    80                    "type": "number"
    81                  }
    82                }
    83              },
    84              "bbox": {
    85                "type": "array",
    86                "minItems": 4,
    87                "items": {
    88                  "type": "number"
    89                }
    90              }
    91            }
    92          },
    93          {
    94            "title": "GeoJSON Polygon",
    95            "type": "object",
    96            "required": [
    97              "type",
    98              "coordinates"
    99            ],
   100            "properties": {
   101              "type": {
   102                "type": "string",
   103                "enum": [
   104                  "Polygon"
   105                ]
   106              },
   107              "coordinates": {
   108                "type": "array",
   109                "items": {
   110                  "type": "array",
   111                  "minItems": 4,
   112                  "items": {
   113                    "type": "array",
   114                    "minItems": 2,
   115                    "items": {
   116                      "type": "number"
   117                    }
   118                  }
   119                }
   120              },
   121              "bbox": {
   122                "type": "array",
   123                "minItems": 4,
   124                "items": {
   125                  "type": "number"
   126                }
   127              }
   128            }
   129          },
   130          {
   131            "title": "GeoJSON MultiPoint",
   132            "type": "object",
   133            "required": [
   134              "type",
   135              "coordinates"
   136            ],
   137            "properties": {
   138              "type": {
   139                "type": "string",
   140                "enum": [
   141                  "MultiPoint"
   142                ]
   143              },
   144              "coordinates": {
   145                "type": "array",
   146                "items": {
   147                  "type": "array",
   148                  "minItems": 2,
   149                  "items": {
   150                    "type": "number"
   151                  }
   152                }
   153              },
   154              "bbox": {
   155                "type": "array",
   156                "minItems": 4,
   157                "items": {
   158                  "type": "number"
   159                }
   160              }
   161            }
   162          },
   163          {
   164            "title": "GeoJSON MultiLineString",
   165            "type": "object",
   166            "required": [
   167              "type",
   168              "coordinates"
   169            ],
   170            "properties": {
   171              "type": {
   172                "type": "string",
   173                "enum": [
   174                  "MultiLineString"
   175                ]
   176              },
   177              "coordinates": {
   178                "type": "array",
   179                "items": {
   180                  "type": "array",
   181                  "minItems": 2,
   182                  "items": {
   183                    "type": "array",
   184                    "minItems": 2,
   185                    "items": {
   186                      "type": "number"
   187                    }
   188                  }
   189                }
   190              },
   191              "bbox": {
   192                "type": "array",
   193                "minItems": 4,
   194                "items": {
   195                  "type": "number"
   196                }
   197              }
   198            }
   199          },
   200          {
   201            "title": "GeoJSON MultiPolygon",
   202            "type": "object",
   203            "required": [
   204              "type",
   205              "coordinates"
   206            ],
   207            "properties": {
   208              "type": {
   209                "type": "string",
   210                "enum": [
   211                  "MultiPolygon"
   212                ]
   213              },
   214              "coordinates": {
   215                "type": "array",
   216                "items": {
   217                  "type": "array",
   218                  "items": {
   219                    "type": "array",
   220                    "minItems": 4,
   221                    "items": {
   222                      "type": "array",
   223                      "minItems": 2,
   224                      "items": {
   225                        "type": "number"
   226                      }
   227                    }
   228                  }
   229                }
   230              },
   231              "bbox": {
   232                "type": "array",
   233                "minItems": 4,
   234                "items": {
   235                  "type": "number"
   236                }
   237              }
   238            }
   239          },
   240          {
   241            "title": "GeoJSON GeometryCollection",
   242            "type": "object",
   243            "required": [
   244              "type",
   245              "geometries"
   246            ],
   247            "properties": {
   248              "type": {
   249                "type": "string",
   250                "emum": [
   251                  "GeometryCollection"
   252                ]
   253              },
   254              "geometries": {
   255                "type": "array",
   256                "items": {
   257                  "oneOf": [
   258                    {
   259                      "title": "GeoJSON Point",
   260                      "type": "object",
   261                      "required": [
   262                        "type",
   263                        "coordinates"
   264                      ],
   265                      "properties": {
   266                        "type": {
   267                          "type": "string",
   268                          "enum": [
   269                            "Point"
   270                          ]
   271                        },
   272                        "coordinates": {
   273                          "type": "array",
   274                          "minItems": 2,
   275                          "items": {
   276                            "type": "number"
   277                          }
   278                        },
   279                        "bbox": {
   280                          "type": "array",
   281                          "minItems": 4,
   282                          "items": {
   283                            "type": "number"
   284                          }
   285                        }
   286                      }
   287                    },
   288                    {
   289                      "title": "GeoJSON LineString",
   290                      "type": "object",
   291                      "required": [
   292                        "type",
   293                        "coordinates"
   294                      ],
   295                      "properties": {
   296                        "type": {
   297                          "type": "string",
   298                          "enum": [
   299                            "LineString"
   300                          ]
   301                        },
   302                        "coordinates": {
   303                          "type": "array",
   304                          "minItems": 2,
   305                          "items": {
   306                            "type": "array",
   307                            "minItems": 2,
   308                            "items": {
   309                              "type": "number"
   310                            }
   311                          }
   312                        },
   313                        "bbox": {
   314                          "type": "array",
   315                          "minItems": 4,
   316                          "items": {
   317                            "type": "number"
   318                          }
   319                        }
   320                      }
   321                    },
   322                    {
   323                      "title": "GeoJSON Polygon",
   324                      "type": "object",
   325                      "required": [
   326                        "type",
   327                        "coordinates"
   328                      ],
   329                      "properties": {
   330                        "type": {
   331                          "type": "string",
   332                          "enum": [
   333                            "Polygon"
   334                          ]
   335                        },
   336                        "coordinates": {
   337                          "type": "array",
   338                          "items": {
   339                            "type": "array",
   340                            "minItems": 4,
   341                            "items": {
   342                              "type": "array",
   343                              "minItems": 2,
   344                              "items": {
   345                                "type": "number"
   346                              }
   347                            }
   348                          }
   349                        },
   350                        "bbox": {
   351                          "type": "array",
   352                          "minItems": 4,
   353                          "items": {
   354                            "type": "number"
   355                          }
   356                        }
   357                      }
   358                    },
   359                    {
   360                      "title": "GeoJSON MultiPoint",
   361                      "type": "object",
   362                      "required": [
   363                        "type",
   364                        "coordinates"
   365                      ],
   366                      "properties": {
   367                        "type": {
   368                          "type": "string",
   369                          "enum": [
   370                            "MultiPoint"
   371                          ]
   372                        },
   373                        "coordinates": {
   374                          "type": "array",
   375                          "items": {
   376                            "type": "array",
   377                            "minItems": 2,
   378                            "items": {
   379                              "type": "number"
   380                            }
   381                          }
   382                        },
   383                        "bbox": {
   384                          "type": "array",
   385                          "minItems": 4,
   386                          "items": {
   387                            "type": "number"
   388                          }
   389                        }
   390                      }
   391                    },
   392                    {
   393                      "title": "GeoJSON MultiLineString",
   394                      "type": "object",
   395                      "required": [
   396                        "type",
   397                        "coordinates"
   398                      ],
   399                      "properties": {
   400                        "type": {
   401                          "type": "string",
   402                          "enum": [
   403                            "MultiLineString"
   404                          ]
   405                        },
   406                        "coordinates": {
   407                          "type": "array",
   408                          "items": {
   409                            "type": "array",
   410                            "minItems": 2,
   411                            "items": {
   412                              "type": "array",
   413                              "minItems": 2,
   414                              "items": {
   415                                "type": "number"
   416                              }
   417                            }
   418                          }
   419                        },
   420                        "bbox": {
   421                          "type": "array",
   422                          "minItems": 4,
   423                          "items": {
   424                            "type": "number"
   425                          }
   426                        }
   427                      }
   428                    },
   429                    {
   430                      "title": "GeoJSON MultiPolygon",
   431                      "type": "object",
   432                      "required": [
   433                        "type",
   434                        "coordinates"
   435                      ],
   436                      "properties": {
   437                        "type": {
   438                          "type": "string",
   439                          "enum": [
   440                            "MultiPolygon"
   441                          ]
   442                        },
   443                        "coordinates": {
   444                          "type": "array",
   445                          "items": {
   446                            "type": "array",
   447                            "items": {
   448                              "type": "array",
   449                              "minItems": 4,
   450                              "items": {
   451                                "type": "array",
   452                                "minItems": 2,
   453                                "items": {
   454                                  "type": "number"
   455                                }
   456                              }
   457                            }
   458                          }
   459                        },
   460                        "bbox": {
   461                          "type": "array",
   462                          "minItems": 4,
   463                          "items": {
   464                            "type": "number"
   465                          }
   466                        }
   467                      }
   468                    }
   469                  ]
   470                }
   471              },
   472              "bbox": {
   473                "type": "array",
   474                "minItems": 4,
   475                "items": {
   476                  "type": "number"
   477                }
   478              }
   479            }
   480          }
   481        ]
   482      },
   483      "bbox": {
   484        "type": "array",
   485        "minItems": 4,
   486        "items": {
   487          "type": "number"
   488        }
   489      }
   490    }
   491  }
   492  `