{
"inputs": {
"completo": false,
"fecha": "06/06/2022-12/06/2022",
"formatogeom": "wkt",
"geom": "POLYGON((-746636.892289602 4784346.47442575,-490419.973477691
4783123.48197319,-485528.00366744 4653486.28200153,-746636.892289602
4784346.47442575))"
}
}
- Parámetros de Orientación Externa
Si además se quieren obtener los datos de orientación externa, tendremos dos opciones:
- Parámetros de entrada: Introduciendo el rango de fechas, la geometría del área de búsqueda y el parámetro «completo» con valor true.
{
"inputs": {
"completo": true,
"fecha":
"06/06/2022-12/06/2022",
"formatogeom": "wkt",
"geom": "POLYGON((-746636.892289602
4784346.47442575,-490419.973477691 4783123.48197319,-485528.00366744
4653486.28200153,-746636.892289602 4784346.47442575))"
}
}
- Listado de fotogramas: Introduciendo directamente el listado de fotogramas del que se quiere obtener los parámetros de orientación externa.
{
"inputs": {
"fotogramas": [
"h50_0780_fot_52-2906_cog",
"h50_0780_fot_52-2907_cog",
"h50_0780_fot_52-2908_cog",
"h50_0780_fot_52-2909_cog"]
}
}
Formatos:
Para indicar el área de búsqueda de los fotogramas sobre los que se quieren obtener los parámetros de orientación externa en formato WKT, el código JSON de la petición será similar al que se muestra en el siguiente ejemplo.
{
"inputs": {
"completo": true,
"fecha": "06/06/2022-12/06/2022",
"formatogeom": "wkt",
"geom":
"POLYGON((-746636.892289602 4784346.47442575,-490419.973477691
4783123.48197319,-485528.00366744 4653486.28200153,-746636.892289602
4784346.47442575))"
}
}
El cURL que se ejecuta es el siguiente:
curl -X
POST
"https://api-processes.idee.es/processes/bsq-fotogramas/execution" -H
"accept: application/json" -H "Content-Type:
application/json" -d
"{\"inputs\":{\"completo\":true,\"fecha\":\"06/06/2022-12/06/2022\",\"formatogeom\":\"wkt\",\"geom\":\"POLYGON((-746636.892289602
4784346.47442575,-490419.973477691 4783123.48197319,-485528.00366744
4653486.28200153,-746636.892289602 4784346.47442575))\"}}"
Para indicar el área de búsqueda de los fotogramas sobre los que se quiere obtener los parámetros de orientación externa en formato GeoJSON, el código JSON de la petición será similar al que se muestra en el siguiente ejemplo.
{
"inputs": {
"completo": true,
"fecha":
"06/06/2022-12/06/2022",
"formatogeom":
"geojson",
"geom":
{"type":"Polygon", "coordinates":[[[-746636.892289602,4784346.47442575],[-490419.973477691,4783123.48197319],[-485528.00366744,653486.28200153],[-746636.892289602,4784346.47442575]]]}
}
}
El cURL que se ejecuta es el siguiente:
curl -X
POST
"https://api-processes.idee.es/processes/bsq-fotogramas/execution" -H
"accept: application/json" -H "Content-Type:
application/json" -d "{\"inputs\":{\"completo\":true,\"fecha\":\"06/06/2022-12/06/2022\",\"formatogeom\":\"geojson\",\"geom\":{\"type\":\"Polygon\",\"coordinates\":[[[-746636.892289602,4784346.47442575],[-490419.973477691,4783123.48197319],[-485528.00366744,653486.28200153],[-746636.892289602,4784346.47442575]]]}}}"
·
Bbox
Para indicar el área de búsqueda de los fotogramas sobre los que se quiere obtener los parámetros de orientación externa a partir de un bbox, el código JSON de la petición será similar al que se muestra en el siguiente ejemplo.
{
"inputs":
{
"completo": true,
"fecha":
"06/06/2022-26/06/2022",
"formatogeom": "bbox",
"geom":
[-708910.05,4707190.97,-704111.50,4711055.28]
}
}
El cURL que se ejecuta es el siguiente:
curl -X
POST "https://api-processes.idee.es/processes/bsq-fotogramas/execution"
-H "accept: application/json" -H "Content-Type:
application/json" -d
"{\"inputs\":{\"completo\":true,\"fecha\":\"06/06/2022-26/06/2022\",\"formatogeom\":\"bbox\",\"geom\":[-708910.05,4707190.97,-704111.5,4711055.28]}}"
Ejemplo de petición desde un script Python:
En el siguiente ejemplo se muestra cómo realizar la misma petición HTTP POST al servicio publicado en una OGC API processes desde un script de Python. Para ello, se utiliza la librería
requests, cuya importación se realiza en la primera línea. Posteriormente se definen las variables «url» (texto con la URL a la que se va a realizar la petición) y «myObj» (json con los parámetros de entrada de la función a ejecutar). Por último, se realiza la petición y se guarda en el parámetro «result».
Dentro de la variable tenemos distintos métodos, entre los que destacan:
- «request» para obtener los datos de la petición
- «.json()» para obtener el resultado de la operación ejecutada en formato json
- «.status_code» para obtener el estado de la petición HTTP.
import requests
# URL del proceso en el processes
url = 'https://api-processes.idee.es/processes/bsq-fotogramas/execution'
myObj = {
"inputs": {
"completo": True,
"fecha": "06/06/2022-12/06/2022",
"formatogeom": "geojson",
"geom": {"type":"Polygon", "coordinates":[[[-746636.892289602,4784346.47442575],[-490419.973477691,4783123.48197319],[-485528.00366744,653486.28200153],[-746636.892289602,4784346.47442575]]]},
}
}
result = requests.post(url, json = myObj)
print('resultado de la petición: ',result.request)
print('resultado del proceso: ',result.json())
print('estado de la petición: ',result.status_code)
En los ejemplos mostrados anteriormente sólo se muestra la petición cURL, por simplificar. Para crear el script de Python, solo habría que modificar el objeto myObj con el JSON indicado en cada caso.
Resultado de la ejecución del proceso:
Como resultado devolverá la lista de fotogramas con los parámetros de orientación externa (siempre que el parámetro «completo» tenga valor true).
{
"id": "BsqFotogramas",
"fotogramas": [
{
"id_copia_digital": 2318363,
"nom_fichero": "h50_0780_fot_52-2906_cog",
"fecha_fotograma": "12/06/2022",
"x_fotocentro_at": 282983.499,
"y_fotocentro_at": 4313857.597,
"z_fotocentro_at": 3982.706,
"giro_w_at": 0.161996,
"giro_phi_at": -0.081723,
"giro_k_at": -1.06082
},
{
"id_copia_digital": 2318364,
"nom_fichero": "h50_0780_fot_52-2907_cog",
"fecha_fotograma": "12/06/2022",
"x_fotocentro_at": 284174.024,
"y_fotocentro_at": 4313819.589,
"z_fotocentro_at": 3977.971,
"giro_w_at": 0.106673,
"giro_phi_at": -0.078144
"giro_k_at": -1.035709
},
{
"id_copia_digital": 2318365,
"nom_fichero": "h50_0780_fot_52-2908_cog",
"fecha_fotograma": "12/06/2022",
"x_fotocentro_at": 285366.7,
"y_fotocentro_at": 4313780.33,
"z_fotocentro_at": 3991.615,
"giro_w_at": 0.089358,
"giro_phi_at": -0.015966,
"giro_k_at": -0.970882
}
]
}
Este artículo forma parte de una serie. Para saber más sobre OGC API Processes y otros procesos del Servicio OGC API procesos del CNIG consulta el
artículo índice.
Publicado por Rosa Mª Mislata Cabo