Drawing Conversion のエラーと警告
Azure Maps Conversion サービスを使用すると、アップロードされた描画パッケージをマップ データに変換できます。 Drawing パッケージは、Drawing パッケージの要件に従っている必要があります。 1 つまたは複数の要件が満たされていない場合は、Conversion サービスからエラーまたは警告が返されます。 この記事では、変換のエラーと警告コードと、その解決方法の推奨事項を示します。 また、Conversion サービスからこれらのコードが返される可能性がある図面の例もいくつか示します。
何らかの変換の警告が発生した場合でも、Conversion サービスは成功します。 ただし、すべての警告を確認して解決することをお勧めします。 警告は、変換の一部が無視されたか、自動的に修正されたことを意味します。 警告を解決しないと、後のプロセスでエラーが発生する可能性があります。
一般的な警告
geometryWarning
geometryWarning の説明
geometryWarning は、図面に無効なエンティティが含まれている場合に発生します。 無効なエンティティは、幾何拘束に準拠していないエンティティです。 無効なエンティティの例として、自己交差する多角形や、閉じたジオメトリのみをサポートするレイヤー内の開いているポリラインがあります。
Conversion サービスでは、無効なエンティティからマップ地物が作成されず、無視されます。
geometryWarning の例
次の 2 つの画像は、自己交差する多角形の例を示しています。
次の画像は、開いているポリラインを示しています。 レイヤーが閉じたジオメトリのみをサポートしているとします。
geometryWarning を修正する方法
各エンティティの geometryWarning を調べて、幾何拘束に従っていることを確認します。
unexpectedGeometryInLayer
unexpectedGeometryInLayer の説明
unexpectedGeometryInLayer 警告は、特定のレイヤーに想定されているジオメトリの種類と互換性のないジオメトリが図面に含まれている場合に発生します。 Conversion サービスから unexpectedGeometryInLayer 警告が返された場合、そのジオメトリは無視されます。
unexpectedGeometryInLayer の例
次の画像は、開いているポリラインを示しています。 レイヤーが閉じたジオメトリのみをサポートしているとします。
unexpectedGeometryInLayer を修正する方法
各 unexpectedGeometryInLayer 警告を調べて、互換性のないジオメトリを互換性のあるレイヤーに移動します。 他のどのレイヤーとも互換性がない場合は、削除する必要があります。
unsupportedFeatureRepresentation
unsupportedFeatureRepresentation の説明
unsupportedFeatureRepresentation 警告は、サポートされていないエンティティの種類が図面に含まれている場合に発生します。
unsupportedFeatureRepresentation の例
次の画像は、ラベル レイヤー上の複数行のテキスト オブジェクトとしてサポートされていないエンティティの種類を示しています。
unsupportedFeatureRepresentation を修正する方法
DWG ファイルにサポートされているエンティティの種類のみが含まれていることを確認します。 サポートされている種類は、描画パッケージの要件の記事の描画ファイルの要件に関するセクションに記載されています。
automaticRepairPerformed
automaticRepairPerformed の説明
automaticRepairPerformed 警告は、無効なジオメトリが Conversion サービスによって自動的に修復されたときに発生します。
automaticRepairPerformed の例
次の画像は、自己交差する多角形が、Conversion サービスによって有効なジオメトリにどのように修復されるかを示しています。
次の画像は、Conversion サービスで、開いているポリラインの最初と最後の頂点をスナップして閉じたポリラインを作成するようすを示しています。ここで、最初と最後の頂点の間隔は 1 mm 未満でした。
次の画像は、閉じたポリラインのみをサポートするレイヤーで、Conversion サービスによって複数の開いているポリラインがどのように修復されるかを示しています。 開いているポリラインが破棄されないように、このサービスでは、それらを 1 つの閉じたポリラインに結合しました。
automaticRepairPerformed を修正する方法
automaticRepairPerformed 警告を修正するには、次の操作を実行します。
- 各警告のジオメトリと具体的な警告テキストを確認します。
- 自動修復が正しいかどうかを確認します。
- 修復が正しい場合は、続行します。 それ以外の場合は、設計ファイルにアクセスし、警告を手動で解決します。
ヒント
この警告が今後表示されないようにするには、元の図面を変更して、元の図面が修復された図面と一致するようにします。
マニフェストの警告
redundantAttribution
redundantAttribution の説明
redundantAttribution 警告は、冗長な、または競合するオブジェクト プロパティがマニフェストに含まれている場合に発生します。
redundantAttribution の例
次の JSON の例には、同じ
name
を持つ 2 つ以上のunitProperties
オブジェクトが含まれています。"unitProperties": [ { "unitName": "L1-100", "categoryName": "room.office" }, { "unitName": "L1-101", "categoryName": "room.office" }, { "unitName": "L1-101", "categoryName": "room.office" } ]
次の JSON スニペットでは、2 つ以上の
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 の説明
manifestWarning は、変換中に使用されていない unitProperties または zoneProperties オブジェクトがマニフェストに含まれている場合に発生します。
manifestWarning の例
マニフェストには、
unitLabel
レイヤーに一致するラベルがないunitName
のunitProperties
オブジェクトが含まれています。マニフェストには、
zoneLabel
レイヤーに一致するラベルがないzoneName
のzoneProperties
オブジェクトが含まれています。
manifestWarning を修正する方法
manifestWarning を修正するには、未使用の unitProperties
または zoneProperties
オブジェクトをマニフェストから削除するか、ユニットまたはゾーン ラベルを図面に追加して、変換中にプロパティ オブジェクトが使用されるようにします。
壁の警告
wallOutsideLevel
wallOutsideLevel の説明
wallOutsideLevel 警告は、レベル アウトラインの境界の外側にある壁ジオメトリが図面に含まれている場合に発生します。
wallOutsideLevel の例
次の画像は、黄色のレベル境界の外側に内壁 (赤色) があることを示しています。
次の画像は、黄色のレベル境界の外側に外壁 (赤色) があることを示しています。
wallOutsideLevel を修正する方法
wallOutsideLevel 警告を修正するには、レベル ジオメトリを展開してすべての壁を含めます。 または、レベル境界内に収まるように壁の境界を変更します。
ユニットの警告
unitOutsideLevel
unitOutsideLevel の説明
unitOutsideLevel 警告は、レベル アウトラインの境界の外側にあるユニット ジオメトリが図面に含まれている場合に発生します。
unitOutsideLevel の例
次の画像では、ユニット ジオメトリ (赤色) が黄色のレベル境界の境界を越えています。
unitOutsideLevel を修正する方法
unitOutsideLevel 警告を修正するには、レベル境界を展開してすべてのユニットを含めます。 または、レベル境界内に収まるようにユニットのジオメトリを変更します。
partiallyOverlappingUnit
partiallyOverlappingUnit の説明
partiallyOverlappingUnit 警告は、別のユニット ジオメトリと一部が重なり合うユニット ジオメトリが図面に含まれている場合に発生します。 重なり合うユニットは Conversion サービスによって破棄されます。
partiallyOverlappingUnit のシナリオ例
次の画像では、重なり合うユニットが赤色で強調表示されています。 UNIT110
と HALLWAY
は破棄されます。
partiallyOverlappingUnit を修正する方法
partiallyOverlappingUnit 警告を修正するには、一部が重なり合う各ユニットを描画し直し、他のユニットと重ならないようにします。
ドアの警告
doorOutsideLevel
doorOutsideLevel の説明
doorOutsideLevel 警告は、レベル ジオメトリの境界の外側にあるドア ジオメトリが図面に含まれている場合に発生します。
doorOutsideLevel の例
次の画像では、赤色で強調表示されているドア ジオメトリが黄色のレベル境界に重なっています。
doorOutsideLevel を修正する方法
doorOutsideLevel 警告を修正するには、ドア ジオメトリを描画し直して、レベルの境界内に収まるようにします。
ゾーンの警告
zoneWarning
zoneWarning の説明
zoneWarning は、ゾーンにラベルが含まれていない場合に発生します。 ラベルではないゾーンは、Conversion サービスによって破棄されます。
zoneWarning の例
次の画像は、ラベルが含まれていないゾーンを示しています。
zoneWarning を修正する方法
zoneWarning を修正するには、各ゾーンに 1 つのラベルがあることを確認します。
ラベルの警告
labelWarning
labelWarning の説明
labelWarning は、あいまいな、または矛盾するラベル地物が図面に含まれている場合に発生します。
labelWarning は、次の理由の 1 つ以上が原因で発生します。
- どのユニットにもユニット ラベルがない。
- どのゾーンにもゾーン ラベルがない。
- 2 つ以上のゾーンにゾーン ラベルがある。
labelWarning の例
次の画像は、2 つのゾーン内にあるラベルを示しています。
labelWarning を修正する方法
labelWarning を修正するには、次のことを確認します。
- すべてのユニット ラベルがユニット内にあります。
- すべてのゾーン ラベルがゾーン内にあります。
- すべてのゾーン ラベルは 1 つのゾーン内にのみあります。
Drawing パッケージのエラー
invalidArchiveFormat
invalidArchiveFormat の説明
invalidArchiveFormat エラーは、図面パッケージが GZIP や 7-Zip などの無効なアーカイブ形式である場合に発生します。 ZIP アーカイブ形式のみがサポートされています。
invalidArchiveFormat エラーは、ZIP アーカイブが空である場合にも発生します。
invalidArchiveFormat を修正する方法
invalidArchiveFormat エラーを修正するには、次のことを確認します。
- アーカイブ ファイル名の末尾が .zip です。
- ZIP アーカイブにデータが含まれています。
- ZIP アーカイブを開くことができます。
invalidUserData
invalidUserData の説明
invalidUserData エラーは、Conversion サービスでストレージからユーザー データ オブジェクトを読み取ることができない場合に発生します。
invalidUserData のシナリオ例
正しくない udid
パラメーターを使用して描画パッケージをアップロードしようとしました。
invalidUserData を修正する方法
invalidUserData エラーを修正するには、次のことを確認します。
- アップロードされたパッケージに正しい
udid
を指定しています。 - 描画パッケージのアップロードに使用した Azure Maps アカウントで Azure Maps Creator を有効にしています。
- Conversion サービスに対する API 要求には、描画パッケージのアップロードに使用した Azure Maps アカウントのサブスクリプション キーが含まれています。
dwgError
dwgError の説明
dwgError は、アップロードされた ZIP アーカイブ内の Drawing パッケージに、DWG ファイルに関する問題が 1 つ以上含まれている場合に発生します。
dwgError は、無効な、または破損しているために開けない DWG ファイルが図面パッケージに含まれている場合に発生します。
- DWG ファイルは、有効な AutoCAD DWG ファイル形式の図面ではありません。
- DWG ファイルは破損しています。
- DWG ファイルは manifest.json ファイルに列挙されていますが、ZIP アーカイブに含まれていません。
dwgError を修正する方法
dwgError を修正するには、manifest.json ファイルを調べて次のことを確認します。
- ZIP アーカイブ内のすべての DWG ファイルは有効な AutoCAD DWG 形式の図面です。1 つずつ AutoCAD で開きます。 すべての無効な図面を削除するか修正します。
- manifest.json 内の DWG ファイルの一覧は、ZIP アーカイブの DWG ファイルと一致します。
マニフェストのエラー
invalidJsonFormat
invalidJsonFormat の説明
invalidJsonFormat エラーは、manifest.json ファイルを読み取れない場合に発生します。
JSON の形式または構文エラーのため、_manifest.json_file を読み取ることができません。 JSON の形式と構文の詳細については、「JavaScript Object Notation (JSON) データ交換形式」を参照してください。
invalidJsonFormat を修正する方法
invalidJsonFormat エラーを修正するには、JSON リンターを使用して JSON エラーを検出し、解決します。
missingRequiredField
missingRequiredField の説明
missingRequiredField エラーは、manifest.json ファイルに必要なデータが不足している場合に発生します。
missingRequiredField を修正する方法
missingRequiredField エラーを修正するには、マニフェストに必要なプロパティがすべて含まれていることを確認します。 必要なマニフェスト オブジェクトの完全な一覧については、「Drawing パッケージの要件」のマニフェストのセクションを参照してください。
missingManifest
missingManifest の説明
missingManifest エラーは、manifest.json ファイルが ZIP アーカイブに存在しない場合に発生します。
missingManifest エラーは、次の理由の 1 つ以上が原因で発生します。
- manifest.json ファイルのスペルが間違っています。
- manifest.json がありません。
- manifest.json が ZIP アーカイブのルート ディレクトリにありません。
missingManifest を修正する方法
missingManifest エラーを修正するには、ZIP アーカイブのルート レベルにアーカイブに manifest.json という名前のファイルがあることを確認します。
conflict
conflict の説明
conflict エラーは、manifest.json ファイルに競合する情報が含まれている場合に発生します。
conflict のシナリオ例
同じレベルの ordinal で複数のレベルが定義されている場合は、Conversion サービスから conflict エラーが返されます。 次の JSON スニペットは、同じ ordinal で定義された 2 つのレベルを示しています。
"buildingLevels":
{
"levels": [
{
"levelName": "Ground",
"ordinal": 0,
"filename": "./Level_0.dwg"
},
{
"levelName": "Parking",
"ordinal": 0,
"filename": "./Level_P.dwg"
}
]
}
conflict を修正する方法
conflict エラーを修正するには、manifest.json を調べて競合する情報を削除します。
invalidGeoreference
invalidGeoreference の説明
invalidGeoreference エラーは、manifest.json ファイルに無効なジオリファレンスが含まれている場合に発生します。
invalidGeoreference エラーは、次の理由の 1 つ以上が原因で発生します。
- ユーザーが範囲外の緯度値または経度値をジオリファレンスしています。
- ユーザーが範囲外の回転値をジオリファレンスしています。
invalidGeoreference のシナリオ例
次の JSON スニペットでは、緯度が上限を超えています。
"georeference"
{
"lat": 88.0,
"lon": -122.132600,
"angle": 0
},
invalidGeoreference を修正する方法
invalidGeoreference エラーを修正するには、ジオリファレンスされた値が範囲内にあることを確認します。
重要
GeoJSON では、座標は経度、緯度の順です。 正しい順序を使用しないと、範囲外の緯度値または経度値を誤って参照する可能性があります。
壁のエラー
wallError
wallError の説明
wallError は、壁地物を作成しようとしたときに図面にエラーが含まれている場合に発生します。
wallError のシナリオ例
次の画像は、どのユニットにも重なっていない壁地物を示しています。
wallError を修正する方法
wallError エラーを修正するには、少なくとも 1 つのユニットと重なるように壁を描画し直します。 または、壁と重なる新しいユニットを作成します。
垂直貫入のエラー
verticalPenetrationError
verticalPenetrationError の説明
verticalPenetrationError は、曖昧な垂直貫入地物が図面に含まれている場合に発生します。
verticalPenetrationError は、次の理由の 1 つ以上が原因で発生します。
- 図面に垂直貫入領域が含まれており、その上または下のレベルに垂直貫入領域が重なっていません。
- 図面パッケージには 2 つ以上の垂直貫入地物を含むレベルがあり、その両方が、そのすぐ上またはすぐ下の別のレベルにある 1 つの垂直貫入地物と重なっています。
verticalPenetrationError のシナリオ例
次の画像は、その上または下のレベルに重なっている垂直貫入領域が存在しない垂直貫入領域を示しています。
次の画像は、隣接するレベル上の複数の垂直貫入領域と重なる垂直貫入領域を示しています。
verticalPenetrationError を修正する方法
verticalPenetrationError エラーを修正するには、「Drawing パッケージの要件」の記事の垂直貫入地物の使用方法を参照してください。