Share via


繪製轉換錯誤和警告

Azure 地圖服務轉換服務可讓您將上傳的繪圖套件轉換成地圖資料。 繪圖套件必須符合繪圖套件需求。 如果不符合一或多項需求,轉換服務就會傳回錯誤或警告。 本文列出轉換錯誤和警告的代碼,並提供解決這些問題的建議。 此外也會提供一些可能導致轉換服務傳回這些代碼的繪製範例。

出現任何轉換警告時,轉換服務仍會成功。 但建議您檢閱所有警告並加以解決。 出現警告時,表示已忽略或自動修正轉換的一部分。 若無法解決警告,可能會導致後續的程序發生錯誤。

一般警告

geometryWarning

geometryWarning 的描述

當繪圖包含無效的實體時,就會發生 geometryWarning。 無效的實體是不符合幾何條件約束的實體。 舉例來說,僅支援封閉幾何圖形的圖層中包含的自我相交多邊形或開放聚合線條,都是無效實體。

轉換服務無法從無效的實體建立地圖功能,而會加以忽略。

geometryWarning 的範例

  • 以下二圖顯示自我相交多邊形的範例。

    Example of a self-intersecting polygon, example one.

    Example of a self-intersecting polygon, example two.

  • 下圖顯示開放聚合線條。 假設圖層僅支援封閉幾何圖形。

    Example of an open PolyLine

如何修正 geometryWarning

檢查每個實體的 geometryWarning,以確認實體符合幾何條件約束。

unexpectedGeometryInLayer

unexpectedGeometryInLayer 的描述

當繪圖包含與指定圖層預期的幾何類型不相容的幾何圖形時,就會發生 unexpectedGeometryInLayer 警告。 轉換服務傳回 unexpectedGeometryInLayer 警告時,會忽略該幾何圖形。

unexpectedGeometryInLayer 的範例

下圖顯示開放聚合線條。 假設圖層僅支援封閉幾何圖形。

Example of an open PolyLine

如何修正 unexpectedGeometryInLayer

檢查每個 unexpectedGeometryInLayer 警告,並將不相容的幾何圖形移至相容的圖層。 如果該圖形與任何其他圖層都不相容,則應加以移除。

unsupportedFeatureRepresentation

unsupportedFeatureRepresentation 的描述

當繪圖包含不支援的實體類型時,就會發生 unsupportedFeatureRepresentation 警告。

unsupportedFeatureRepresentation 的範例

下圖顯示在標籤圖層上以不支援的實體類型作為多行文字物件的情形。

Example of a multi-line text object on label layer

如何修正 unsupportedFeatureRepresentation

請確定您的 DWG 檔案僅包含支援的實體類型。 「繪圖套件需求」一文中的繪圖檔案需求這一節列出了支援的類型。

automaticRepairPerformed

automaticRepairPerformed 的描述

當轉換服務自動修復無效的幾何圖形時,就會發生 automaticRepairPerformed 警告。

automaticRepairPerformed 的範例

  • 下圖顯示轉換服務如何將自我相交多邊形修復成有效的幾何圖形。

    Example of a self-intersecting polygon repaired

  • 下圖顯示轉換服務如何將開放聚合線條的第一個和最後一個頂點貼齊,以建立封閉聚合線條;其中,第一個和最後一個頂點的距離不到 1 公釐。

    Example of a snapped PolyLine

  • 下圖顯示轉換服務如何在僅支援封閉聚合線條的圖層中修復多個開放聚合線條。 為了避免捨棄開放聚合線條,服務會將其結合成單一封閉聚合線條。

    Example of open Polylines combined into a single closed PolyLine

如何修正 automaticRepairPerformed

若要修正 automaticRepairPerformed 警告,請採取下列動作:

  1. 檢查每個警告的幾何圖形和特定警告文字。
  2. 確認自動修復是否正確。
  3. 如果修復正確,請繼續操作。 否則,請移至設計檔案並手動解決警告。

提示

若要在未來隱藏警告,請對原始繪圖進行變更,使原始繪圖符合已修復的繪圖。

資訊清單警告

redundantAttribution

redundantAttribution 的描述

當資訊清單包含多餘或衝突的物件屬性時,就會發生 redundantAttribution 警告。

redundantAttribution 的範例

  • 下列 JSON 範例包含兩個或更多具有相同 nameunitProperties 物件。

    "unitProperties": [
        {
            "unitName": "L1-100",
            "categoryName": "room.office"
        },
        {
            "unitName": "L1-101",
            "categoryName": "room.office"
        },
        {
            "unitName": "L1-101",
            "categoryName": "room.office"
        }
    ]
    
  • 下列 JSON 程式碼片段中,兩個或更多的 zoneProperties 物件具有相同的 name

     "zoneProperties": [
        {
            "zoneName": "Assembly Area 1",
            "categoryName": "zone.assembly"
        },
        {
            "zoneName": "Assembly Area 2",
            "categoryName": "zone.assembly"
        },
        {
            "zoneName": "Assembly Area 2",
            "categoryName": "zone.assembly"
        }
    

如何修正 redundantAttribution

若要修正 *redundantAttribution 警告,請移除多餘或衝突的物件屬性。

manifestWarning

manifestWarning 的描述

當資訊清單包含在轉換期間未使用的 unitProperties 或 zoneProperties 物件時,就會發生 manifestWarning

manifestWarning 的範例

  • 資訊清單包含一個 unitProperties 物件,其 unitNameunitLabel 圖層中沒有相符的標籤。

  • 資訊清單包含一個 zoneProperties 物件,其 zoneNamezoneLabel 圖層中沒有相符的標籤。

如何修正 manifestWarning

若要修正 manifestWarning,請從資訊清單中移除未使用的 unitPropertieszoneProperties 物件,或將單元/區域標籤新增至繪圖,以便在轉換期間使用屬性物件。

牆警告

wallOutsideLevel

wallOutsideLevel 的描述

當繪圖包含的牆幾何圖形超出層級外框的範圍時,就會發生 wallOutsideLevel 警告。

wallOutsideLevel 的範例

  • 下圖顯示在黃色層級界限以外的內牆 (以紅色表示)。

    Example of interior wall outside the level boundary

  • 下圖顯示在黃色層級界限以外的外牆 (以紅色表示)。

    Example of exterior wall outside the level boundary

如何修正 wallOutsideLevel

若要修正 wallOutsideLevel 警告,請擴展層級幾何圖形以包含所有牆。 或者,修改牆邊界,使其容納於層級界限內。

單元警告

unitOutsideLevel

unitOutsideLevel 的描述

當繪圖包含的單元幾何圖形超出層級外框的範圍時,就會發生 unitOutsideLevel 警告。

unitOutsideLevel 的範例

在下圖中,單元幾何圖形 (以紅色表示) 超出黃色層級界限的範圍。

Example of unit exceeding the level boundary

如何修正 unitOutsideLevel

若要修正 unitOutsideLevel 警告,請擴展層級界限以包含所有單元。 或者,修改單元幾何圖形,使其容納於層級界限內。

partiallyOverlappingUnit

partiallyOverlappingUnit 的描述

當繪圖包含與另一個單元幾何圖形部分重疊的單元幾何圖形時,就會發生 partiallyOverlappingUnit 警告。 轉換服務會捨棄重疊的單元。

範例案例 partiallyOverlappingUnit

在下圖中,重疊的單元會以紅色醒目提示。 UNIT110HALLWAY 會被捨棄。

Example of overlapping units

如何修正 partiallyOverlappingUnit

若要修正 partiallyOverlappingUnit 警告,請重繪每個部分重疊的單元,使其不會與任何其他單元重疊。

門警告

doorOutsideLevel

doorOutsideLevel 的描述

當繪圖包含的門幾何圖形超出層級幾何圖形的範圍時,就會發生 doorOutsideLevel 警告。

doorOutsideLevel 的範例

在下圖中,以紅色醒目提示的門幾何圖形與黃色的層級界限重疊。

Example of a door overlapping a level boundary

如何修正 doorOutsideLevel

若要修正 doorOutsideLevel 警告,請重繪您的門幾何圖形,使其位於層級界限內。

區域警告

zoneWarning

zoneWarning 的描述

當區域未包含標籤時,就會發生 zoneWarning。 轉換服務會捨棄未加上標籤的區域。

zoneWarning 的範例

下圖顯示未包含標籤的區域。

Example of a zone doesn't contain a label

如何修正 zoneWarning

若要修正 zoneWarning,請確認每個區域都有單一標籤。

標籤警告

labelWarning

labelWarning 的描述

當繪圖包含不明確或衝突的標籤功能時,就會發生 labelWarning

labelWarning 可能由於下列一或多個原因而發生:

  • 單元標籤不在任何單元中。
  • 區域標籤不在任何區域中。
  • 區域標籤位於兩個或更多區域內。

labelWarning 的範例

下圖顯示位於兩個區域內的標籤。

Example of a label inside two zones

如何修正 labelWarning

若要修正 labelWarning,請確定:

  • 所有單元標籤都位於單元內。
  • 所有區域標籤都位於區域內。
  • 所有區域標籤都僅位於單一區域中。

繪圖套件錯誤

invalidArchiveFormat

invalidArchiveFormat 的描述

當繪圖套件的封存格式無效 (如 GZIP 或 7-Zip) 時,就會發生 invalidArchiveFormat 錯誤。 目前僅支援 ZIP 封存格式。

如果 ZIP 封存是空的,也會發生 invalidArchiveFormat 錯誤。

如何修正 invalidArchiveFormat

若要修正 invalidArchiveFormat 錯誤,請確認:

  • 封存檔案名稱的結尾是 .zip
  • ZIP 封存包含資料。
  • 您可以開啟 ZIP 封存。

invalidUserData

invalidUserData 的描述

當轉換服務無法從儲存體讀取使用者資料物件時,就會發生 invalidUserData 錯誤。

invalidUserData 的範例案例

您嘗試上傳的繪圖套件具有不正確的 udid 參數。

如何修正 invalidUserData

若要修正 invalidUserData 錯誤,請確認:

  • 您已為上傳的套件提供了正確的 udid
  • 您已為用來上傳繪圖套件的 Azure 地圖服務帳戶啟用 Azure 地圖服務建立工具。
  • 轉換服務的 API 要求包含您用來上傳繪圖套件的 Azure 地圖服務帳戶的訂用帳戶金鑰。

dwgError

dwgError 的描述

當繪圖套件包含上傳的 ZIP 封存中一或多個 DWG 檔案的問題時,就會發生 dwgError

當繪圖套件包含因無效或已損毀而無法開啟的 DWG 檔案時,就會發生 dwgError

  • DWG 檔案不是有效的 AutoCAD DWG 檔案格式繪圖。
  • DWG 檔案已損毀。
  • DWG 檔案列在 manifest.json 檔案中,但 ZIP 封存未包含該檔案。

如何修正 dwgError

若要修正 dwgError,請檢查您的 manifest.json 檔案以確認:

  • ZIP 封存中的所有 DWG 檔案都是有效的 AutoCAD DWG 格式繪圖。請在 AutoCAD 中開啟每個檔案。 移除或修正所有無效的繪圖。
  • manifest.json 中的 DWG 檔案清單與 ZIP 封存中的 DWG 檔案相符。

資訊清單錯誤

invalidJsonFormat

invalidJsonFormat 的描述

無法讀取 manifest.json 檔案時,就會發生 invalidJsonFormat 錯誤。

_manifest. json_file 因 JSON 格式或語法錯誤而無法讀取。 若要深入了解 JSON 格式和語法,請參閱 JavaScript 物件標記法 (JSON) 資料交換格式 (英文)。

如何修正 invalidJsonFormat

若要修正 invalidJsonFormat 錯誤,請使用 JSON linter 來偵測並解決任何 JSON 錯誤。

missingRequiredField

missingRequiredField 的描述

manifest.json 檔案遺漏必要的資料時,就會發生 missingRequiredField 錯誤。

如何修正 missingRequiredField

若要修正 missingRequiredField 錯誤,請確認資訊清單包含所有必要的屬性。 如需必要資訊清單物件的完整清單,請參閱繪圖套件需求中的資訊清單章節

missingManifest

missingManifest 的描述

當 ZIP 封存中遺漏 manifest.json 檔案時,就會發生 missingManifest 錯誤。

missingManifest 錯誤可能由於下列一或多個原因而發生:

  • The manifest.json 檔案的拼字錯誤。
  • 遺漏 manifest.json
  • manifest.json 不在 ZIP 封存的根目錄中。

如何修正 missingManifest

若要修正 missingManifest 錯誤,請確認封存在 ZIP 封存的根層級中有名為 manifest.json 的檔案。

conflict

conflict 的描述

manifest.json 檔案包含衝突的資訊時,就會發生 conflict 錯誤。

conflict 的範例案例

如果以相同的層級序數定義了多個層級,轉換服務會傳回 conflict 錯誤。 下列 JSON 程式碼片段顯示兩個以相同序數定義的層級。

"buildingLevels":
{
    "levels": [
        {
            "levelName": "Ground",
            "ordinal": 0,
            "filename": "./Level_0.dwg"
        },
        {
            "levelName": "Parking",
            "ordinal": 0,
            "filename": "./Level_P.dwg"
        }
    ]
}

如何修正 conflict

若要修正 conflict 錯誤,請檢查您 manifest.json 並移除任何衝突的資訊。

invalidGeoreference

invalidGeoreference 的描述

manifest.json 檔案包含無效的地理座標參考時,就會發生 invalidGeoreference 錯誤。

invalidGeoreference 錯誤可能由於下列一或多個原因而發生:

  • 使用者對超出範圍的緯度或經度值進行地理座標參考。
  • 使用者對超出範圍的旋轉值進行地理座標參考。

invalidGeoreference 的範例案例

在下列 JSON 程式碼片段中,緯度高於上限。

"georeference"
{
    "lat": 88.0,
    "lon": -122.132600,
    "angle": 0
},

如何修正 invalidGeoreference

若要修正 invalidGeoreference 錯誤,請確認地理座標參考值位於範圍內。

重要

在 GeoJSON 中,座標依序為經度和緯度。 若未使用正確的順序,您可能會非預期地參照超出範圍的緯度或經度值。

牆錯誤

wallErrors

wallError 的描述

如果繪圖在嘗試建立牆功能時包含錯誤,就會發生 wallError

wallError 的範例案例

下圖顯示未與任何單元重疊的牆功能。

Example of Wall feature that doesn't overlap any units

如何修正 wallError

若要修正 wallError 錯誤,請重繪牆而使其與至少一個單元重疊。 或者,建立一個與牆重疊的新單元。

垂直穿透錯誤

verticalPenetrationError

verticalPenetrationError 的描述

當繪圖包含不明確的垂直穿透功能時,就會發生 verticalPenetrationError

verticalPenetrationError 錯誤可能由於下列一或多個原因而發生:

  • 繪圖包含垂直穿透區域,且在其上或其下的任何層級上都沒有重疊的垂直穿透區域。
  • 繪圖套件包含的某個層級具有兩個或更多垂直穿透功能,且都與該層級的上一層或下一層的單一垂直穿透功能重疊。

verticalPenetrationError 的範例案例

下圖顯示一個垂直穿透區域,且在其上或其下的層級上並沒有重疊的垂直穿透區域。

Example of a vertical penetration 1

下圖顯示與相鄰層級上的多個垂直穿透區域重疊的垂直穿透區域。

Example of a vertical penetration 2

如何修正 verticalPenetrationError

若要修正 verticalPenetrationError 錯誤,請參閱繪圖套件需求一文中有關於如何使用垂直穿透功能的部分。

下一步