GetCapabilities

Descripción

El servicio GetCapabilites permite al usuario obtener metadatos acerca del motor de enrutamiento implementado. Estos metadatos permiten a los usuarios explorar un servicio y sus capacidades, optimizando así su experiencia con el uso de los servicios de enrutamiento.

Está disponible solo como servicio REST.

Formato de dirección URL de HTTP GET
http://<server>:<port>/rest/Spatial/erm/v1/capabilities.json
Parámetros de consulta
Parámetro Requerido Descripción
acceptVersions Opcional Marcador (no funcional)
secciones Opcional

Cuando se omite, devuelve información sobre todas las secciones.

La lista no ordenada separada por coma de cero o más nombres de secciones del documento de metadatos del servicio se devuelve en el documento de metadatos del servicio. Los valores de sección distinguen mayúsculas de minúsculas. Los valores de sección aceptados son ServiceIdentification, ServiceProvider, operationsMetadata y bases de datos.

Respuesta

La respuesta estará en línea con OGC GetCapabilities. Este es el formato JSON y tiene estas secciones:

  • serviceIdentification
  • serviceProvider
  • operationsMetadata
  • bases de datos

serviceIdentification

Esta sección contiene metadatos básicos sobre este servidor específico. Su contenido se muestra de la siguiente manera:

  "serviceIdentification":
      {
          "title": "PBS Routing Service",
          "abstract": "Routing service maintained by PBS",
          "keywords":
          {
              "keyword":
              [
              ]
          },
          "serviceType": "Routing",
          "serviceTypeVersion": "v1",
          "fees": "none",
          "accessConstraints": "none"
      }

Esta información será igual a la que está disponible en el archivo de configuración getCapabilities.json.

Este archivo se encuentra en <SpectrumFolder>\server\modules\routing. Debe reiniciar el servidor en caso de cualquier cambio efectuado en el archivo, para que este tenga efecto. El administrador determina qué información debe obtener el usuario y puede modificar o eliminar las entradas correspondientes en el archivo JSON. Todos los campos en el archivo JSON son opcionales.

serviceProvider

Esta sección contiene metadatos sobre la organización que opera este servidor. Su contenido se muestra de la siguiente manera:

"serviceProvider":
      {
          "providerName": "Routing Service Provider",
          "providerSite":
          {
              "href": "http://www.yourcompany.com/",
              "type": "simple"
          },
          "serviceContact":
          {
              "contactInfo":
              {
                  "address":
                  {
                      "administrativeArea": "Province",
                      "city": "City",
                      "country": "Country",
                      "deliveryPoint": "Mail Delivery Location",
                "electronicMailaddress":"mailto://support@yourcompany.com",
                      "postalCode": "PostCode"
                  },
                  "contactInstructions": "Contact Instructions",
                  "hoursOfservice": "24 Hours",
                  "phone":
                  {
                      "facsimile": "1.800.000.0000",
                      "voice": "1.800.000.0000"
                  }
              },
              "individualName": "Contact Person",
              "positionName": "Contact Person's Title",
              "role": "Contact Person's Role"
          }
      }

Esto también se configurará usando el archivo de configuración getCapabilities.json como describimos antes.

operationsMetadata

Esta sección contiene metadatos sobre las operaciones implementadas por este servidor, incluidas las direcciones URL para solicitudes de operación. En esta sección, aparecen estas operaciones o servicios fijos:

  • GetRoute: servicio punto a punto
  • GetRouteCostMatrix: servicio de procesamiento de matriz de puntos
  • GetTravelBoundary: genera una frontera de distancia o de tiempo en vehículo o a pie
  • DescribeDatasets: ofrece información sobre los conjuntos de datos configurados
  • DescribeDatabases: ofrece información acerca de todas las bases de datos configuradas
  • GetSegmentDataForPoint: permite obtener la información de los segmentos para un punto
  • GetSegmentDataForSegment: permite obtener información de los segmentos para un ID de segmento
  • ListPersistentUpdates: enumera todas las actualizaciones persistentes que existen en el servidor
  • DeletePersistentUpdates: elimina todas las actualizaciones persistentes que existen en el servidor
  • SetPersistentUpdatesAtPoint: guarda la actualización persistente para el punto específico en el servidor
  • SetPersistentUpdatesForSegment: guarda la actualización persistente para el ID de segmento específico en el servidor
  • SetPersistentUpdatesForRoadType: guarda la actualización persistente para el tipo de camino específico en el servidor

Su contenido se muestra de la siguiente manera:

{"operationsMetadata": [{
		"name": "GetRoute",
		"DCP": {
			"HTTP": {
				"GET": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>.json?q=route",
				"POST": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>.json?q=route"
			}
		},
		"parameter": {
			"name": "OutputFormat",
			"value": "text/json"
		}
	}, 
	
	{
		"name": "GetRouteCostMatrix",
		"DCP": {
			"HTTP": {
				"GET": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>.json?q=routeCostMatrix",
				"POST": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>.json?q=routeCostMatrix"
			}
		},"parameter": {
			"name": "OutputFormat",
			"value": "text/json"}
			
	},
				
	{
			
		"name": "GetTravelBoundary",
		"DCP": {
			"HTTP": {
				"GET": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>.json?q=travelBoundary",
				"POST": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>.json?q=travelBoundary"
			}
		},
		"parameter": {
			"name": "OutputFormat",
			"value": "text/json"
		}
	}, 
	
	{
		"name": "DescribeDatasets",
		"DCP": {
			"HTTP": {
				"GET": "<schema>://<server>:<port>/rest/Spatial/erm/v1/datasets.json"
			}
		},
		"parameter": {
			"name": "OutputFormat",
			"value": "text/json"
		}
	}, 
	
	{
		"name": "DescribeDatabases",
		"DCP": {
			"HTTP": {
				"GET": "<schema>://<server>:<port>/rest/Spatial/erm/v1/databases.json"
			}
		},
		"parameter": {
			"name": "OutputFormat",
			"value": "text/json"
		}
	},
	
	{
		"name": "GetSegmentDataForPoint",
		"DCP": {
			"HTTP": {
				"GET": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>/segments.json"
				
			}
		},
		"parameter": {
			"name": "OutputFormat",
			"value": "text/json"
		}
	},
	
	{
		"name": "GetSegmentDataForSegment",
		"DCP": {
			"HTTP": {
				"GET": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>/segments/<segmentID>.json"
			}
		},
		"parameter": {
			"name": "OutputFormat",
			"value": "text/json"
		}
	},
	
	{
		"name": "ListPersistentUpdates",
		"DCP": {
			"HTTP": {
				"GET": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>/persistentUpdates.json"
			}
		},
		"parameter": {
			"name": "OutputFormat",
			"value": "text/json"
		}
	},
	
	{
		"name": "DeletePersistentUpdates",
		"DCP": {
			"HTTP": {
				"DELETE": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>/persistentUpdates"
			}
		},
		"parameter": {
			"name": "OutputFormat",
			"value": "text/json"
		}
	},
	
	{
		"name": "SetPersistentUpdatesAtPoint",
		"DCP": {
			"HTTP": {
				"POST": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>/persistentUpdates.jason"
			}
		},
		"parameter": {
			"name": "OutputFormat",
			"value": "text/json"
		}
	},
	
	{
		"name": "SetPersistentUpdatesForSegment",
		"DCP": {
			"HTTP": {
				"POST": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>/persistentUpdates/segments/<segmentID>.json"
			}
		},
		"parameter": {
			"name": "OutputFormat",
			"value": "text/json"
		}
	},
	
	
	{
		"name": "SetPersistentUpdatesForRoadType",
		"DCP": {
			"HTTP": {
				"POST": "<schema>://<server>:<port>/rest/Spatial/erm/databases/<DB_NAME>/persistentUpdates/roadTypes/<roadtype>.json"
			}
		},
		"parameter": {
			"name": "OutputFormat",
			"value": "text/json"
		}
	}
	
]
}

bases de datos

Esta sección contiene la lista de nombres de bases de datos que están configuradas en el servidor.

Por ejemplo:

{
	"databases":
	[
	"US_NE",
	"US"
	]}

Si no hay una base de datos configurada en el servidor, se devuelve esto:

{
	"databases":[
]
}