GetTravelBoundary (déprécié)

Important : Ce stage a été déprécié dans la version 12.2. Le stage Limite de déplacement doit être utilisé à la place lors de la création de dataflows.

GetTravelBoundary détermine une limite de distance ou de temps de marche ou de conduite en voiture à partir d'un emplacement. Cette fonctionnalité obtient des polygones correspondant à un calcul d'isochrone ou d'isodistance. Un isochrone est un polygone ou ensemble de points représentant une zone pouvant être traversée à partir d'un point de départ en un temps donné via un réseau routier. Un isodistance est un polygone ou ensemble de points représentant la zone située à une certaine distance par rapport à un point de départ. L'opération Get Travel Boundary (également appelée une définition iso) prend comme entrée un point de départ, une unité (linéaire ou temporelle), un ou plusieurs coûts et leurs balises associées, et renvoie la limite de chemin à parcourir ainsi obtenue. Le coût fait référence à la quantité de temps ou de distance à utiliser pour calculer un iso. Une balise est une chaîne qui identifie le coût et permet de mettre en correspondance le résultat correspondant. Plusieurs coûts peuvent être fournis en entrée, à condition qu'ils le soient sous forme de liste délimitée par des « ; ».

GetTravelBoundary fait partie du module Enterprise Routing.

Remarque : GetTravelBoundary est disponible uniquement sous forme de Service Web. GetTravelBoundary n'est pas disponible via les API Java, C++, C, .NET ou COM.

URL de la ressource

Endpoint JSON :

http://server:port/rest/GetTravelBoundary/results.json

Endpoint XML :

http://server:port/rest/GetTravelBoundary/results.xml

Exemple avec la réponse JSON

L'exemple suivant demande une réponse JSON :

http://myserver:8080/rest/GetTravelBoundary/results.json?​Data.Latitude=51.5072&Data.Longitude=0.1275&Data.&Data.TravelBoundaryCost=10&​Data.TravelBondaryCostUnits=Kilometers&Option.DataSetResourceName=Routing_db_gb

L'élément JSON renvoyé par cette demande serait :

Remarque : Certains points ont été supprimés de cet exemple à des fins de raccourci.
Remarque : Dans cet exemple, la réponse affiche les coordonnées des géométries renvoyés avec des valeurs à 14 décimales. Cela contribue à une charge utile supérieure à ce qu'il est nécessaire dans la réponse JSON, en particulier lors du renvoi de polygones volumineux ou d'un grand nombre d'enregistrements. Cela peut également entraîner des géométries non valides, comme des auto-intersections. Afin de réduire la charge utile en renvoyant des valeurs de coordonnées raccourcies, ajoutez la ligne suivante à %Spectrum%\server\bin\wrapper\wrapper.conf et redémarrez le serveur : wrapper.java.additional.xx=-Dcom.pb.midev.useprecision=true.
{"output_port": [{
   "IsoNodeResponse": [],
   "IsoPolygonResponse":    {
      "srsName": "epsg:4326",
      "Polygon": [      {
         "srsName": "epsg:4326",
         "Exterior": {"LineString": [{"Pos":          [
                        {
               "X": -84.34868168466456,
               "Y": 33.68373169496257
            },
                        {
               "X": -84.36945064055561,
               "Y": 33.69293307108579
            },
                        {
               "X": -84.3694506405556,
               "Y": 33.69293307108579
            },
                        {
               "X": -84.3694506405556,
               "Y": 33.69303002973829
            },
                        {
               "X": -84.37104825254721,
               "Y": 33.69391558543121
            },
                        {
               "X": -84.37104825254721,
               "Y": 33.6936408692491
            },
                        {
               "X": -84.42163929894845,
               "Y": 33.716054477754355
            },
                        {
               "X": -84.4440058668311,
               "Y": 33.710741143596806
            },
                        {
               "X": -84.43921303085625,
               "Y": 33.72800947960886
            },
                        {
               "X": -84.45678676276404,
               "Y": 33.73376559161287
            },
                        {
               "X": -84.43921303085625,
               "Y": 33.73996448146335
            },
            ...
         ]}]}
      }]
   },
   "user_fields": [   {
      "name": "TravelBoundaryCostUnits",
      "value": "Kilometers"
   }]
}]}

Exemple avec la réponse XML

L'exemple suivant demande une réponse XML :

http://myserver:8080/rest/GetTravelBoundary/results.xml?​Data.TravelBoundaryCostUnits=Kilometers&Data.Latitude=33.751748&​Data.Longitude=-84.364014&Data.TravelBoundaryCost=10

L'élément XML renvoyé par cette demande serait :

Remarque : Certains points ont été supprimés de cet exemple à des fins de raccourci.
<ns3:xml.GetTravelBoundaryResponse
xmlns:ns2="http://www.mapinfo.com/midev/service/geometries/v1"
xmlns:ns3="http://www.pb.com/spectrum/services/GetTravelBoundary">
   <ns3:output_port>
      <ns3:IsoRouteResponse>
         <ns3:IsoNodeResponse/>
         <ns3:IsoPolygonResponse
              xsi:type="ns2:MultiPolygon"
              srsName="epsg:4326"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <ns2:Polygon srsName="epsg:4326">
               <ns2:Exterior>
                  <ns2:LineString>
                     <ns2:Pos>
                        <ns2:X>-84.34868168466456</ns2:X>
                        <ns2:Y>33.68373169496257</ns2:Y>
                     </ns2:Pos>
                     <ns2:Pos>
                        <ns2:X>-84.36945064055561</ns2:X>
                        <ns2:Y>33.69293307108579</ns2:Y>
                     </ns2:Pos>
                     <ns2:Pos>
                        <ns2:X>-84.3694506405556</ns2:X>
                        <ns2:Y>33.69293307108579</ns2:Y>
                     </ns2:Pos>
                     <ns2:Pos>
                        <ns2:X>-84.3694506405556</ns2:X>
                        <ns2:Y>33.69303002973829</ns2:Y>
                     </ns2:Pos>
                     <ns2:Pos>
                        <ns2:X>-84.37104825254721</ns2:X>
                        <ns2:Y>33.69391558543121</ns2:Y>
                     </ns2:Pos>
                     <ns2:Pos>
                        <ns2:X>-84.37104825254721</ns2:X>
                        <ns2:Y>33.6936408692491</ns2:Y>
                     </ns2:Pos>
                     <ns2:Pos>
                        <ns2:X>-84.42163929894845</ns2:X>
                        <ns2:Y>33.716054477754355</ns2:Y>
                     </ns2:Pos>
                     <ns2:Pos>
                        <ns2:X>-84.4440058668311</ns2:X>
                        <ns2:Y>33.710741143596806</ns2:Y>
                     </ns2:Pos>
                     <ns2:Pos>
                        <ns2:X>-84.43921303085625</ns2:X>
                        <ns2:Y>33.72800947960886</ns2:Y>
                     </ns2:Pos>
                     <ns2:Pos>
                        <ns2:X>-84.45678676276404</ns2:X>
                        <ns2:Y>33.73376559161287</ns2:Y>
                     </ns2:Pos>
                     ...
                  </ns2:LineString>
               </ns2:Exterior>
            </ns2:Polygon>
         </ns3:IsoPolygonResponse>
         <ns3:user_fields/>
      </ns3:IsoRouteResponse>
   </ns3:output_port>
</ns3:xml.GetTravelBoundaryResponse>