GetTravelBoundary (Veraltet)

Wichtig: Dieser Schritt ist seit Version 12.2 veraltet. Beim Erstellen neuer Datenflüsse sollte stattdessen der Schritt „Fahrtgrenze“ verwendet werden.

GetTravelBoundary bestimmt die Fahrt- oder Gehzeit bzw. die Fahrtgrenze von einer Position aus. Mit dieser Funktion werden Polygone abgerufen, die deiner Berechnung von Isochronen oder Isodistanzen entsprechen. Ein Isochron ist ein Polygon oder Satz von Punkten und stellt ein Gebiet dar, das in einem Netz von einem Startpunkt in einer gegebenen Zeitdauer traversiert werden kann. Eine Isodistanz ist ein Polygon oder Satz von Punkten und stellt das Gebiet dar, das eine bestimmte Entfernung vom Startpunkt hat. Bei dem Vorgang „Get Travel Boundary“ (auch bekannt als Iso-Definition) werden ein Startpunkt, eine Einheit (linear oder Zeit), mindestens ein Kostenwert und die zugehörigen Tags als Eingabe ausgewählt und die resultierende Fahrtgrenze wird zurückgegeben. Kosten beziehen sich auf die Zeit oder die Entfernung, die bei der Berechnung eines Iso verwendet wird. Ein Tag ist eine Zeichenfolge, die die Kosten identifiziert und für den Abgleich mit dem entsprechenden Ergebnis verwendet wird. Es können mehrere Kosten als Eingabe angegeben werden, indem die Kosten als eine mit „;“ getrennte Zeichenfolge angegeben werden.

GetTravelBoundary ist Teil des Enterprise Routing-Moduls.

Anmerkung: GetTravelBoundary steht nur als Webservice zur Verfügung. GetTravelBoundary ist nicht über die APIs von Java, C++, C, .NET oder COM verfügbar.

Ressourcen-URL

JSON-Endpunkt:

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

XML-Endpunkt:

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

Beispiel mit JSON-Antwort

Im folgenden Beispiel wird eine JSON-Antwort angefordert:

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

Die von dieser Anforderung zurückgegebene JSON-Antwort würde wie folgt lauten:

Anmerkung: Einige der Punkte wurden zwecks Kürzung aus diesem Beispiel entfernt.
Anmerkung: In der Antwort in diesem Beispiel werden Koordinaten für die zurückgegebenen Geometrien mit Werten mit bis zu 14 Dezimalstellen angezeigt. Dies trägt dazu bei, dass die Nutzlast in der JSON-Antwort umfangreicher ist als notwendig. Dies ist insbesondere dann der Fall, wenn große Polygone oder viele Datensätze zurückgegeben werden. Zudem kann dies zu ungültigen Geometriedaten führen, wie z. B. bei Selbstüberschneidungen. Um die Nutzlast durch Rückgabe gekürzter Koordinatenwerte zu verringern, müssen Sie Folgendes zu %Spectrum%\server\bin\wrapper\wrapper.conf hinzufügen und den Server neu starten: 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"
   }]
}]}

Beispiel mit XML-Antwort

Im folgenden Beispiel wird eine XML-Antwort angefordert:

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

Die von dieser Anforderung zurückgegebene XML-Antwort würde wie folgt lauten:

Anmerkung: Einige der Punkte wurden zwecks Kürzung aus diesem Beispiel entfernt.
<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>