Deutsch

Problem: Eine Network Analyst-Ausgaberoute enthält keine M-Werte

Beschreibung

Wenn in ArcMap beim Berechnen eines Netzwerkanalyse-Layers der Ausgabe-Shape-Typ auf "Echtes Shape mit Messwerten" festgelegt ist, wird die folgende Fehlermeldung zurückgegeben:

Error: 
Warnung: Die Ausgabegeometrie für "Position [Nummer der Netzwerkadresse] - Position [Nummer der Netzwerkadresse]" in "Routen" verfügt über keine M-Werte, da der maximale M-Wert höher ist als der höchste M-Wert, der von der M-Domäne unterstützt werden kann.
An image of the warning message.

Ursache

Das Problem tritt auf, wenn der Messwert (M-Wert) des Netzwerkanalyse-Layers den höchsten M-Wert überschreitet, der von der M-Domäne unterstützt wird. Da der Speicherplatz für M-Werte 4 Byte beträgt, lautet der höchste M-Wert, der gespeichert werden kann, 2.147.483.648 (2^31). Dabei wird vorausgesetzt, dass der M-Wert keine Dezimalstellen enthält. M-Werte für eine Route in Network Analyst haben standardmäßig vier Dezimalstellen, um eine ausreichende Genauigkeit zu bieten und den Speicherplatz zu verringern. Deshalb lautet der höchste M-Wert, der für eine Route gespeichert werden kann, 214.748,3648.

Lösung oder Problemumgehung

Verwenden Sie eine der folgenden Lösungen, um das Problem zu beheben:

Ändern des Parameters "Ausgabe-Shape-Typ" in "Echtes Shape"

Ändern Sie den Ausgabe-Shape-Typ in den Eigenschaften des Netzwerkanalyse-Layers in Echtes Shape. Auf diese Weise werden beim Berechnen der Netzwerkanalyse-Layer die M-Werte ausgeschlossen. In den folgenden Schritten wird beschrieben, wie Sie den Parameter "Ausgabe-Shape-Typ" ändern.

Hinweis:
Mit der Option "Echtes Shape" wird die genaue Form der resultierenden Route ohne die Routenmesswerte ausgegeben. Wenn die Option "Echtes Shape" ausgewählt wird, erscheint beim Berechnen des Netzwerkanalyse-Layers keine Warnmeldung mehr, die Ausgaberoute enthält jedoch keine M-Werte.
  1. Klicken Sie im Fenster Network Analyst auf die Schaltfläche Analyse-Layer-Eigenschaften.

    The Analysis Layer Properties button. 

    Das Dialogfeld Layer-Eigenschaften wird geöffnet.
  2. Klicken Sie im Dialogfeld Layer-Eigenschaften auf die Registerkarte Analyseeinstellungen.
  3. Klicken Sie auf den Dropdown-Pfeil für Ausgabe-Shape-Typ, und wählen Sie Echtes Shape aus.
  4. Klicken Sie auf Übernehmen und dann auf OK.

    Properties in the Analysis Settings tab.
     
  5. Führen Sie die Netzwerkanalyse für den Netzwerkanalyse-Layer aus. Die Warnmeldung wird nicht mehr generiert, die Ausgaberoute enthält jedoch keine M-Werte.
Ändern der Einheit für das Netzwerk-Dataset-Kostenattribut in eine größere Einheit

Ändern Sie beim Erstellen des Netzwerk-Datasets die Einheit des Netzwerk-Dataset-Kostenattributs, das als Impedanz verwendet wird, im Dialogfeld "Netzwerk-Dataset" in eine größere Einheit. Wenn beispielsweise das Kostenattribut auf eine kleine Einheit wie Meter festgelegt ist und die Warnmeldung zurückgegeben wird, ändern Sie die Einheit des Kostenattributs in Kilometer. In den folgenden Schritten wird beschrieben, wie Sie beim Erstellen eines Netzwerk-Datasets die Einheit des Kostenattributs ändern.

  1. Klicken Sie im Fenster "Katalog" mit der rechten Maustaste auf das Netzwerk-Dataset, um Eigenschaften: Netzwerk-Dataset zu öffnen.
  2. Ändern Sie auf der Registerkarte Attribute die Einheit des Kostenattributs in eine größere Einheit.
    1. Klicken Sie auf die Spalte Einheiten des Kostenattributs, und ändern Sie die Einheit in eine größere Einheit.

      Beispielsweise ist in der folgenden Abbildung für die Länge der Route Meter als Einheit des Kostenattributs festgelegt, und diese wird in Kilometer geändert.

      User-added image
       
    2. Klicken Sie auf Evaluatoren.
    3. Klicken Sie im Dialogfeld Evaluatoren auf die erste Quellzeile, und klicken Sie in der Spalte Typ auf Feld.
    4. Klicken Sie auf die Schaltfläche Evaluator-Eigenschaften, um der Quelle einen Feld-Evaluator hinzuzufügen.

      Selecting Field as the source value Type and setting the evaluator properties.
       
    5. Geben Sie im Dialogfeld Feld-Evaluatoren einen Ausdruck ein, um im Parameter Wert die Einheit des Kostenattributs zu ändern.

      Beispielsweise werden mit dem folgenden Ausdruck die Attributwerte von Meter in Kilometer geändert:
      Value = [SHAPE_Length]/1000
      Expression to change the unit of the value used as the attribute source from meters to kilometers.
    6. Klicken Sie auf OK.
  3. Klicken Sie auf Übernehmen und OK, um das Dialogfeld Evaluatoren zu schließen.
  4. Erstellen Sie einen Netzwerkanalyse-Layer, und führen Sie die Netzwerkanalyse für den Layer aus. Es wird eine Ausgaberoute mit den M-Werten generiert.
Konfigurieren des Wertes von "RouteMDomainPrecision" im Registrierungs-Editor-Fenster
Hinweis:
Verwenden Sie diese Option nur, wenn sich das Problem mit keiner der beiden obigen Optionen lösen lässt.

Wenn das Problem mit keiner der oben beschriebenen Optionen gelöst wird, konfigurieren Sie im Registrierungs-Editor-Fenster den Wert von "RouteMDomainPrecision", um den von der M-Domäne unterstützen M-Wert zu erhöhen. Der Wert von "RouteMDomainPrecision" ist standardmäßig auf 10000 festgelegt, um eine Genauigkeit von vier Dezimalstellen zu erzielen. In den folgenden Schritten wird das Konfigurieren des Wertes von "RouteMDomainPrecision" im Registrierungs-Editor-Fenster beschrieben.

  1. Klicken Sie im Windows-Startmenü auf Ausführen.
  2. Geben Sie im Dialogfeld Ausführen regedit ein, und klicken Sie auf OK.
  3. Blenden Sie im Fenster Registrierungs-Editor den Schlüssel HKEY_CURRENT_USER\Software\ESRI\Desktop\ ein.
  4. Klicken Sie auf den Schlüssel NetworkAnalyst.

    Wenn der Schlüssel NetworkAnalyst nicht vorhanden ist, klicken Sie mit der rechten Maustaste auf den Schlüssel Desktop, und klicken Sie auf Neu > Schlüssel, um einen neuen Schlüssel zu erstellen. Benennen Sie den neuen Schlüssel in NetworkAnalyst um.
  5. Erstellen Sie im Schlüssel NetworkAnalyst einen Zeichenfolgenschlüssel mit dem Namen RouteMDomainPrecision.
    1. Klicken Sie mit der rechten Maustaste auf den Schlüssel NetworkAnalyst, und wählen Sie Neu > Zeichenfolgenwert aus.

      Creating a new String Value.
       
    2. Benennen Sie den erstellten Wertschlüssel in RouteMDomainPrecision um.
    3. Doppelklicken Sie auf den Wertschlüssel RouteMDomainPrecision, und legen Sie den Parameter Wertdaten auf einen geeigneten Wert fest, um die Genauigkeit des M-Wertes zu ändern.

      Legen Sie beispielsweise Wertdaten auf 100 fest, um den unterstützten Messwert in 21.474.836,48 zu ändern, oder auf 1000, um M-Werte von bis zu 2.147.483,648 zu unterstützen.

      Value Data of the RouteMDomainPrecision string.
       
    4. Klicken Sie auf OK.
  6. Erstellen Sie in ArcMap das Netzwerk-Dataset und den Netzwerkanalyse-Layer neu.
  7. Führen Sie die Netzwerkanalyse für den Netzwerkanalyse-Layer aus. Es wird eine Ausgaberoute mit dem M-Wert generiert.

Referenzinformationen