繪製轉換錯誤和警告
注意
Azure 地圖服務 Creator 淘汰
Azure 地圖服務 Creator 室內地圖服務現在已被取代,且將於 2025/9/30 淘汰。 如需詳細資訊,請參閱 Azure 地圖服務 Creator 的生命周期結束公告。
Azure 地圖服務轉換服務可讓您將上傳的繪圖套件轉換成地圖資料。 繪圖套件必須符合繪圖套件需求。 如果不符合一或多項需求,轉換服務就會傳回錯誤或警告。 本文列出轉換錯誤和警告的代碼,並提供解決這些問題的建議。 此外也會提供一些可能導致轉換服務傳回這些代碼的繪製範例。
出現任何轉換警告時,轉換服務仍會成功。 但建議您檢閱所有警告並加以解決。 出現警告時,表示已忽略或自動修正轉換的一部分。 若無法解決警告,可能會導致後續的程序發生錯誤。
一般警告
geometryWarning
geometryWarning 的描述
當繪圖包含無效的實體時,就會發生 geometryWarning。 無效的實體是不符合幾何條件約束的實體。 舉例來說,僅支援封閉幾何圖形的圖層中包含的自我相交多邊形或開放聚合線條,都是無效實體。
轉換服務無法從無效的實體建立地圖功能,而會加以忽略。
geometryWarning 的範例
以下二圖顯示自我相交多邊形的範例。
下圖顯示開放聚合線條。 假設圖層僅支援封閉幾何圖形。
如何修正 geometryWarning
檢查每個實體的 geometryWarning,以確認實體符合幾何條件約束。
unexpectedGeometryInLayer
unexpectedGeometryInLayer 的描述
當繪圖包含與指定圖層預期的幾何類型不相容的幾何圖形時,就會發生 unexpectedGeometryInLayer 警告。 轉換服務傳回 unexpectedGeometryInLayer 警告時,會忽略該幾何圖形。
unexpectedGeometryInLayer 的範例
下圖顯示開放聚合線條。 假設圖層僅支援封閉幾何圖形。
如何修正 unexpectedGeometryInLayer
檢查每個 unexpectedGeometryInLayer 警告,並將不相容的幾何圖形移至相容的圖層。 如果該圖形與任何其他圖層都不相容,則應加以移除。
unsupportedFeatureRepresentation
unsupportedFeatureRepresentation 的描述
當繪圖包含不支援的實體類型時,就會發生 unsupportedFeatureRepresentation 警告。
unsupportedFeatureRepresentation 的範例
下圖顯示在標籤圖層上以不支援的實體類型作為多行文字物件的情形。
如何修正 unsupportedFeatureRepresentation
請確定您的 DWG 檔案僅包含支援的實體類型。 「繪圖套件需求」一文中的繪圖檔案需求這一節列出了支援的類型。
automaticRepairPerformed
automaticRepairPerformed 的描述
當轉換服務自動修復無效的幾何圖形時,就會發生 automaticRepairPerformed 警告。
automaticRepairPerformed 的範例
下圖顯示轉換服務如何將自我相交多邊形修復成有效的幾何圖形。
下圖顯示轉換服務如何將開放聚合線條的第一個和最後一個頂點貼齊,以建立封閉聚合線條;其中,第一個和最後一個頂點的距離不到 1 公釐。
下圖顯示轉換服務如何在僅支援封閉聚合線條的圖層中修復多個開放聚合線條。 為了避免捨棄開放聚合線條,服務會將其結合成單一封閉聚合線條。
如何修正 automaticRepairPerformed
若要修正 automaticRepairPerformed 警告,請採取下列動作:
- 檢查每個警告的幾何圖形和特定警告文字。
- 確認自動修復是否正確。
- 如果修復正確,請繼續操作。 否則,請移至設計檔案並手動解決警告。
提示
若要在未來隱藏警告,請對原始繪圖進行變更,使原始繪圖符合已修復的繪圖。
資訊清單警告
redundantAttribution
redundantAttribution 的描述
當資訊清單包含多餘或衝突的物件屬性時,就會發生 redundantAttribution 警告。
redundantAttribution 的範例
下列 JSON 範例包含兩個或更多具有相同
name
的unitProperties
物件。"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
物件,其unitName
在unitLabel
圖層中沒有相符的標籤。資訊清單包含一個
zoneProperties
物件,其zoneName
在zoneLabel
圖層中沒有相符的標籤。
如何修正 manifestWarning
若要修正 manifestWarning,請從資訊清單中移除未使用的 unitProperties
或 zoneProperties
物件,或將單元/區域標籤新增至繪圖,以便在轉換期間使用屬性物件。
牆警告
wallOutsideLevel
wallOutsideLevel 的描述
當繪圖包含的牆幾何圖形超出層級外框的範圍時,就會發生 wallOutsideLevel 警告。
wallOutsideLevel 的範例
下圖顯示在黃色層級界限以外的內牆 (以紅色表示)。
下圖顯示在黃色層級界限以外的外牆 (以紅色表示)。
如何修正 wallOutsideLevel
若要修正 wallOutsideLevel 警告,請擴展層級幾何圖形以包含所有牆。 或者,修改牆邊界,使其容納於層級界限內。
單元警告
unitOutsideLevel
unitOutsideLevel 的描述
當繪圖包含的單元幾何圖形超出層級外框的範圍時,就會發生 unitOutsideLevel 警告。
unitOutsideLevel 的範例
在下圖中,單元幾何圖形 (以紅色表示) 超出黃色層級界限的範圍。
如何修正 unitOutsideLevel
若要修正 unitOutsideLevel 警告,請擴展層級界限以包含所有單元。 或者,修改單元幾何圖形,使其容納於層級界限內。
partiallyOverlappingUnit
partiallyOverlappingUnit 的描述
當繪圖包含與另一個單元幾何圖形部分重疊的單元幾何圖形時,就會發生 partiallyOverlappingUnit 警告。 轉換服務會捨棄重疊的單元。
範例案例 partiallyOverlappingUnit
在下圖中,重疊的單元會以紅色醒目提示。 UNIT110
和 HALLWAY
會被捨棄。
如何修正 partiallyOverlappingUnit
若要修正 partiallyOverlappingUnit 警告,請重繪每個部分重疊的單元,使其不會與任何其他單元重疊。
門警告
doorOutsideLevel
doorOutsideLevel 的描述
當繪圖包含的門幾何圖形超出層級幾何圖形的範圍時,就會發生 doorOutsideLevel 警告。
doorOutsideLevel 的範例
在下圖中,以紅色醒目提示的門幾何圖形與黃色的層級界限重疊。
如何修正 doorOutsideLevel
若要修正 doorOutsideLevel 警告,請重繪您的門幾何圖形,使其位於層級界限內。
區域警告
zoneWarning
zoneWarning 的描述
當區域未包含標籤時,就會發生 zoneWarning。 轉換服務會捨棄未加上標籤的區域。
zoneWarning 的範例
下圖顯示未包含標籤的區域。
如何修正 zoneWarning
若要修正 zoneWarning,請確認每個區域都有單一標籤。
標籤警告
labelWarning
labelWarning 的描述
當繪圖包含不明確或衝突的標籤功能時,就會發生 labelWarning。
labelWarning 可能由於下列一或多個原因而發生:
- 單元標籤不在任何單元中。
- 區域標籤不在任何區域中。
- 區域標籤位於兩個或更多區域內。
labelWarning 的範例
下圖顯示位於兩個區域內的標籤。
如何修正 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 的範例案例
下圖顯示未與任何單元重疊的牆功能。
如何修正 wallError
若要修正 wallError 錯誤,請重繪牆而使其與至少一個單元重疊。 或者,建立一個與牆重疊的新單元。
垂直穿透錯誤
verticalPenetrationError
verticalPenetrationError 的描述
當繪圖包含不明確的垂直穿透功能時,就會發生 verticalPenetrationError。
verticalPenetrationError 錯誤可能由於下列一或多個原因而發生:
- 繪圖包含垂直穿透區域,且在其上或其下的任何層級上都沒有重疊的垂直穿透區域。
- 繪圖套件包含的某個層級具有兩個或更多垂直穿透功能,且都與該層級的上一層或下一層的單一垂直穿透功能重疊。
verticalPenetrationError 的範例案例
下圖顯示一個垂直穿透區域,且在其上或其下的層級上並沒有重疊的垂直穿透區域。
下圖顯示與相鄰層級上的多個垂直穿透區域重疊的垂直穿透區域。
如何修正 verticalPenetrationError
若要修正 verticalPenetrationError 錯誤,請參閱繪圖套件需求一文中有關於如何使用垂直穿透功能的部分。