forked from MBunel/Ruitor-Api
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathopenapi.json
1 lines (1 loc) · 16.1 KB
/
openapi.json
1
{"openapi":"3.0.2","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/mnt/bbox":{"get":{"summary":"Mnt Bbox","description":"Renvoie la bbox du MNT utilisé pour le calcul des ZLC et de la ZLP\n\nDans le cas où la ZIR spécifiée par l'utilisateur n'est pas\nrenseignée, le calcul ne peut pas aboutir.\n\nLa BBOX renvoyée est de la forme [XMIN, YMIN, XMAX, YMAX]\n\nLes coordonées sont exprimées dans le système de projection de la\ncouche.","operationId":"mnt_bbox_mnt_bbox_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/mnt/crs":{"get":{"summary":"Mnt Bbox","description":"Renvoie le CRS du MNT utilisé","operationId":"mnt_bbox_mnt_crs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/spatialisation":{"post":{"summary":"Spatialisation","description":"La fonction prend en entrée un indice de localisation et renvoie la\nzlc correspondante sous la forme d'un GeoTiff.","operationId":"spatialisation_spatialisation_post","parameters":[{"required":false,"schema":{"$ref":"#/components/schemas/Operateur"},"name":"operateur","in":"query"},{"description":"La confiance est une valeur que le secouriste peut\ndéfinir pour donner une indication sur sa croyance en la véracité de\nl'indice de localisation.\n\nCette valeur est optionelle. Si aucune valeur n'est fournie l'indice\nest spatialisé avec une certitude maximale, 1.\n\nLa valeur de la confiance doit être comprise dans l'intervalle\n[0,1]","required":false,"schema":{"title":"Confiance","maximum":1.0,"minimum":0.0,"type":"number","description":"La confiance est une valeur que le secouriste peut\ndéfinir pour donner une indication sur sa croyance en la véracité de\nl'indice de localisation.\n\nCette valeur est optionelle. Si aucune valeur n'est fournie l'indice\nest spatialisé avec une certitude maximale, 1.\n\nLa valeur de la confiance doit être comprise dans l'intervalle\n[0,1]","default":1},"name":"confiance","in":"query"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Indice"}}},"required":true},"responses":{"200":{"description":"Retourne un GeoTiff représentant la ZLC","content":{"image/tiff":{}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/fusion":{"post":{"summary":"Fusion","description":"La fonction prend en entrée un ensemble de fichiers GeoTiff,\nchacun représentant une zlc, et renvoie un seul GeoTiff,\nreprésentant la zlp.\n\n**Le format de retour risque d'être modifié. En effet l'évaluation\n conduit à construire un nouveau raster, il est possible qu'a\n terme deux GeoTiff soient retournés, le premier correspondant à\n la ZLP et le second à l'évaluation de composantes de la ZLP.**\n\nPlusieurs paramètres optionels peuvent être ajoutés dans la\nrequête. Il est possible d'évaluer la qualité de la zlp construite\n(améliorations nécessaires) à l'aide des paramètres `evaluator` et\n`evaluation_metric`. Il est également possible de sélectioner la\nt-norme qui sera utilisée pour la fusion, à l'aide du paramètre\n`operator`.","operationId":"fusion_fusion_post","parameters":[{"required":false,"schema":{"$ref":"#/components/schemas/Operateur"},"name":"operator","in":"query"},{"required":false,"schema":{"$ref":"#/components/schemas/Evaluator"},"name":"evaluator","in":"query"},{"required":false,"schema":{"$ref":"#/components/schemas/EvaluationMetric"},"name":"evaluation_metric","in":"query"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_fusion_fusion_post"}}},"required":true},"responses":{"200":{"description":"Retourne un GeoTiff représentant la ZLP","content":{"image/tiff":{}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Body_fusion_fusion_post":{"title":"Body_fusion_fusion_post","required":["files"],"type":"object","properties":{"files":{"title":"Files","type":"array","items":{"type":"string","format":"binary"}}}},"EvaluationMetric":{"title":"EvaluationMetric","enum":["Note","Zone","Rank"],"type":"string","description":"Définition de la valeur retournée par l'évaluateur.\n\n**Cette fonctionalité est encore expérimentale, elle ne devrait pas\nêtre utilisée.**\n\n```\"Note\"``` calcule une note, en fonction de l'évaluateur choisi.\n\n```\"Rank\"``` calcule une note, en fonction de l'évaluateur choisi\net retourne le rang des zones en fonctions de la valeur\ndécroissante de cette note.\n\n```\"Zone\"``` Renvoie l'id de chaque zone. Ce paramètre n'est\ndestité qu'au débugage."},"Evaluator":{"title":"Evaluator","enum":["FIS","DST"],"type":"string","description":"Défini la méthode utilisée pour l'évaluation de la qualité.\n\n**Cette fonctionalité est encore expérimentale, elle ne devrait pas\nêtre utilisée.**\n\n```\"FIS\"``` permet d'évaluer la qualité à l'aide d'un système d'inférence flou.\n\n```\"DST\"``` permet d'évaluer la qualité à l'aide d'un évaluateur\nutilisant la théorie des fonctions de croyances (Beta)."},"Feature":{"title":"Feature","required":["geometry"],"type":"object","properties":{"type":{"title":"Type","type":"string"},"geometry":{"title":"Geometry","anyOf":[{"$ref":"#/components/schemas/Point"},{"$ref":"#/components/schemas/MultiPoint"},{"$ref":"#/components/schemas/LineString"},{"$ref":"#/components/schemas/MultiLineString"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"}]},"properties":{"title":"Properties","type":"object"},"id":{"title":"Id","type":"string"},"bbox":{"title":"Bbox","anyOf":[{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]},{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]}]}},"description":"Feature Model"},"FeatureCollection":{"title":"FeatureCollection","required":["features"],"type":"object","properties":{"type":{"title":"Type","type":"string"},"features":{"title":"Features","type":"array","items":{"$ref":"#/components/schemas/Feature"}},"bbox":{"title":"Bbox","anyOf":[{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]},{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]}]}},"description":"FeatureCollection Model"},"HTTPValidationError":{"title":"HTTPValidationError","type":"object","properties":{"detail":{"title":"Detail","type":"array","items":{"$ref":"#/components/schemas/ValidationError"}}}},"Indice":{"title":"Indice","required":["zir","relationLocalisation","site"],"type":"object","properties":{"zir":{"title":"Zir","anyOf":[{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]},{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]}],"description":"Boundig Box de la Zone initiale de recherche (ZIR)"},"relationLocalisation":{"$ref":"#/components/schemas/RelationLocalisation"},"site":{"title":"Site","anyOf":[{"type":"array","items":{"type":"array","items":{"$ref":"#/components/schemas/Feature"}}},{"$ref":"#/components/schemas/FeatureCollection"}],"description":"Site utilisé pour la spatialisation de l'indice de localisaition.\n\nLe site peut être de plusieurs types, en fonctions des paramètres de\nla relation de localisation utilisée.\n\nSi la relation ne demande qu'un site (cas classique), le site fourni\ndans le corps de la requête doit être une `FeatureCollection`\ngeojson. Chacune des features de cette collection est traitée comme un\nsite séparé et la fonction de spatialisation renvoie la zone qui\ncorrespond à **l'union** des ZLC construites pour chacun de ces sites.\n\nDans le cas où la relaiton nécessite deux (ou plus) sites\n(p. ex. `orl#EntreXEtY`) alors le site fourni dans le cœur de la\nrequête doit être une liste de liste de Features. La liste la plus\n\"profonde\" contient toutes les sites qui seront passés à la fonction\nde spatialisation lors de la spatialisation pour une configuration\ndonnée. La liste de plus haut niveau contient toutes les listes de\nsites qui seront utilisées pour générer les ZLC, lesquelles seront\nensuite unies pour créer la ZLC finale (elles jouent le même rôle que\nla FeatureCollection dans le premier cas).\n\n\n#### Dans le cas d'une relation simple (proche), avec un objet\n```site = FeatureCollection(geom1)```\n\n#### Dans le cas d'une relation simple (proche), avec plusieurs objets\n```site = FeatureCollection(geom1, geom2, ...)```\n\n#### Dans le cas d'une relation complexe (entre), avec un objet\n```site = [[site1, site2]]```\n\n#### Dans le cas d'une relation complexe (entre), avec plusieurs objets\n```site = [[site1, site2], [site2, site3], ...]```\n\n"}},"description":"Documentation"},"LineString":{"title":"LineString","required":["coordinates"],"type":"object","properties":{"coordinates":{"title":"Coordinates","minItems":2,"type":"array","items":{"anyOf":[{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]},{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]}]}},"type":{"title":"Type","type":"string"}},"description":"LineString Model"},"Modifieur":{"title":"Modifieur","required":["uri"],"type":"object","properties":{"uri":{"title":"Uri","maxLength":65536,"minLength":1,"type":"string","description":"Uri du modifieur dans l'ontologie ORL","format":"uri"},"value":{"title":"Value","description":"Valeur du modifieur, si nécessaire"}},"description":"Classe définissant le type modifieur"},"MultiLineString":{"title":"MultiLineString","required":["coordinates"],"type":"object","properties":{"coordinates":{"title":"Coordinates","type":"array","items":{"type":"array","items":{"anyOf":[{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]},{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]}]}}},"type":{"title":"Type","type":"string"}},"description":"MultiLineString Model"},"MultiPoint":{"title":"MultiPoint","required":["coordinates"],"type":"object","properties":{"coordinates":{"title":"Coordinates","type":"array","items":{"anyOf":[{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]},{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]}]}},"type":{"title":"Type","type":"string"}},"description":"MultiPoint Model"},"MultiPolygon":{"title":"MultiPolygon","required":["coordinates"],"type":"object","properties":{"coordinates":{"title":"Coordinates","type":"array","items":{"type":"array","items":{"type":"array","items":{"anyOf":[{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]},{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]}]}}}},"type":{"title":"Type","type":"string"}},"description":"MultiPolygon Model"},"Operateur":{"title":"Operateur","enum":["Zadeh","Lukacewiz","Probabiliste","Nilpotent","Drastique"],"type":"string","description":"Défini la famille d'opérateurs flous utilisés pour les opérations\nd'intersection et d'union inter-raster flous.\n\nLes opérateurs flous sont décrits dans les Chapitres 3 et 8 de la\nla thèse. Le changement des opérateurs de construction a une\ninfluence considérable sur la ZLC ou la ZLP obtenue. En cas de\ndoute se référer au chapitre 8 de la thèse.\n\n**Bien que cela demeure possible, il n'est pas conseillé de changer\nd'opérateurs entre la spatialisation et la fusion.**\n\n```\"Zadeh\"``` est le paramètre par défaut. Lorsque l'on utilise ce\nparamètre les intersections sont calculés à l'aide de la *t-norme*\nde Zadeh, dont la définition est la suivante :\nt-norme(a,b)=min(a,b) et les unions à l'aide de la t-conorme de\nZadeh, dont la définition est : t-conorme(a,b)=max(a,b).\n\nLorsque la valeur du paramètre est ```\"Lukacewiz\"``` alors les\nintersections sont calculées à l'aide de la t-norme de Lukacewiz,\ndont la définition est : t-norme(a,b) = max(a+b-1,0) et les union\nà l'aide de la t-conorme de Lukacewicz dont la définition est :\nt-conorme(a,b) = min(a+b,1).\n\nLa valeur ```\"Probabiliste\"``` permet d'utiliser la t-norme\nprobabiliste dont la définition est : t-norme(a,b)=a*b et la\nt-conorme probabiliste dont la définition est :\nt-conorme(a,b)=a+b-a*b.\n\nLa valeur ```\"Nilpotent\"``` permet d'utiliser la t-norme\nnilpotente dont la définition est : t-norme(a,b)= min(a,b) si a+\nb>1, 0 sinon; et la t-conorme nipotente dont la définition est :\nt-conorme(a,b)=max(a,b) si a+b < 1, 1 sinon.\n\nLa valeur ```\"Drastique\"``` permet d'utiliser la t-norme\ndrastique, dont la définition est : t-norme(a,b) = b si a = 1, a\nsi b = 1, 0 sinon; et la t-conorme probabiliste dont la définition\nest : t-conorme(a,b) = b si a = 0, a si b=0; 1 sinon."},"Point":{"title":"Point","required":["coordinates"],"type":"object","properties":{"coordinates":{"title":"Coordinates","anyOf":[{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]},{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]}]},"type":{"title":"Type","type":"string"}},"description":"Point Model"},"Polygon":{"title":"Polygon","required":["coordinates"],"type":"object","properties":{"coordinates":{"title":"Coordinates","type":"array","items":{"type":"array","items":{"anyOf":[{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]},{"type":"array","items":[{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]},{"anyOf":[{"type":"number"},{"type":"integer"}]}]}]}}},"type":{"title":"Type","type":"string"}},"description":"Polygon Model"},"RelationLocalisation":{"title":"RelationLocalisation","required":["uri"],"type":"object","properties":{"uri":{"title":"Uri","maxLength":65536,"minLength":1,"type":"string","description":"Uri de la relation de localisation dans l'ontologie ORL","format":"uri"},"modifieurs":{"title":"Modifieurs","type":"array","items":{"$ref":"#/components/schemas/Modifieur"},"description":"Liste des modifieurs à appliquer à la relation de localisation"}},"description":"Relation de localisation utilisée pour l'indice de localisation\nspatialisé"},"ValidationError":{"title":"ValidationError","required":["loc","msg","type"],"type":"object","properties":{"loc":{"title":"Location","type":"array","items":{"type":"string"}},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}}}}}}