繪圖套件需求
注意
Azure 地圖服務 Creator 淘汰
Azure 地圖服務 Creator 室內地圖服務現在已被取代,且將於 2025/9/30 淘汰。 如需詳細資訊,請參閱 Azure 地圖服務 Creator 的生命周期結束公告。
您可以使用 Azure 地圖服務轉換服務,將上傳的繪圖套件轉換為地圖資料。 本文將說明轉換 API 的繪圖套件需求。 若要查看範例套件,您可以下載繪圖套件範例。
必要條件
繪圖套件包含以 DWG 格式儲存的繪圖,這是 Autodesk 中 AutoCAD® 軟體的原生檔案格式。
在繪圖套件中,您可以選擇任何 CAD 軟體來產生繪圖。
轉換服務會將繪圖套件轉換成地圖資料。 轉換服務適用於 AUTOCAD DWG 檔案格式 AC1032
。
詞彙
為了方便參考,以下是一些閱讀本文時很重要的詞彙和定義。
詞彙 | 定義 |
---|---|
層 | 繪圖檔的 AutoCAD DWG 層。 |
實體 | 繪圖檔的 AutoCAD DWG 實體。 |
Xref | 檔案格式為 AutoCAD DWG 並附加至主要繪圖作為外部參考的檔案。 |
層級 | 已設定高度的建築物區域。 例如,建築物的樓層。 |
功能 | 從轉換服務產生的物件執行個體,結合幾何與中繼資料資訊。 |
特徵類別 | 特徵的常見藍圖。 例如,「單位」是特徵類別,而「辦公室」則是一項特徵。 |
繪圖套件結構
繪製套件是包含下列檔案的 .zip 封存檔:
- AutoCAD DWG 檔案格式的 DWG 檔案。
- manifest.json 檔案,描述繪圖套件中的 DWG 檔案。
繪圖套件必須壓縮為單一封存檔,副檔名為 .zip。 DWG 檔案可以在套件內以任何方式組織,但是資訊清單檔案必須存留在已壓縮套件的根目錄。 下面各節將詳細說明 DWG 檔案、資訊清單檔案及這些檔案內容的需求。 若要檢視範例套件,您可以下載範例繪圖套件。
DWG 檔案轉換程序
轉換服務會在每個 DWG 檔案上執行下列作業:
- 擷取特徵類別:
- 層級
- 單位
- 區域
- 開口
- 牆
- 垂直穿透
- 產生設施特徵。
- 產生一組最少的預設類別特徵,供其他特徵參考:
- 房間
- 結構
- wall
- opening.door
- 區域
- 設施
DWG 檔案需求
設施的每個樓層都需要一個 DWG 檔案。 單一樓層的所有資料都必須包含在單一 DWG 檔案中。 任何外部參考 (xrefs) 都必須繫結至父系繪圖。 例如,具有三個樓層的設施在繪圖套件中有三個 DWG 檔案。
每個 DWG 都必須遵循下列需求:
- DWG 檔案必須定義外部和單位圖層。 可以選擇性地定義下列圖層:Wall、Door、UnitLabel、Zone 和 ZoneLabel。
- DWG 檔案不能包含多個樓層的特徵。
- DWG 檔案不能包含多個設施的特徵。
- DWG 必須參考與繪圖套件中其他 DWG 檔案相同的度量系統和度量單位。
DWG 圖層需求
每個 DWG 圖層都必須遵守下列規則:
- 圖層必須獨佔包含單一類別的特徵。 例如,單位和牆不能位於相同的圖層中。
- 單一特徵類別可由多個圖層表示。
- 允許自我交集多邊形,但是會自動修復。 修復時,轉換服務會引發警告。 建議您手動檢查已修復的結果,因為其可能不符合預期的結果。
- 每個圖層都有一份支援的實體類型清單。 圖層中的任何其他實體類型都會被忽略。 例如,牆圖層不支援文字實體。
下表概述每個圖層支援的實體類型和已轉換地圖特徵。 如果圖層包含不支援的實體類型,則轉換服務將會忽略這些實體。
層 | 實體類型 | 已轉換的特徵 |
---|---|---|
外部 | 多邊形、聚合線條 (封閉)、圓形或橢圓形 (封閉) | 層級 |
單位 | 多邊形、聚合線條 (封閉)、圓形或橢圓形 (封閉) | 單位和垂直穿透 |
牆 | 多邊形、聚合線條 (封閉)、圓形或橢圓形 (封閉)、結構 | |
門 | 多邊形、聚合線條、線條、圓弧、圓形 | 開口 |
區域 | 多邊形、聚合線條 (封閉)、圓形或橢圓形 (封閉) | 區域 |
UnitLabel | 文字 (單行) | 不適用。 此圖層只能從單位層將屬性新增至單位特徵。 如需詳細資訊,請參閱 UnitLabel 圖層。 |
ZoneLabel | 文字 (單行) | 不適用。 此層只能從 ZonesLayer 將屬性新增至區域特徵。 如需詳細資訊,請參閱 ZoneLabel 圖層。 |
下列各節說明每個圖層的需求。
外部圖層
每個樓層的 DWG 檔案都必須包含一個圖層,以定義該樓層的周邊。 此圖層稱為外部圖層。 例如,如果設施包含兩個樓層,則其需要有兩個 DWG 檔案,而每個檔案都會有一個外部圖層。
不論外部圖層中有多少個實體繪圖,產生的設施資料集都只會為每個 DWG 檔案包含一個樓層特徵。 此外:
- 外部圖層必須繪製成多邊形、聚合線條 (封閉)、圓形或橢圓形 (封閉)。
- 外部圖層可以重疊,但是會解析成一個幾何圖形。
- 產生的樓層特徵至少必須是 4 平方公尺。
- 產生的樓層特徵不得大於 40 萬平方公尺。
如果圖層包含多個重疊的聚合線條,則聚合線條會解析成單一樓層特徵。 或者,如果圖層包含多個非重疊的聚合線條,則產生的樓層特徵會有多個多邊形的表示方式。
外部圖層的範例可視為範例繪圖套件中的外框圖層。
單位圖層
每個樓層的 DWG 檔案都會定義一個包含單位的圖層。 單位是建築物中的可通行空間,例如辦公室、走廊、階梯和電梯。 如果已定義 VerticalPenetrationCategory
屬性,則跨越多個樓層的可導覽單位 (例如電梯或樓梯) 會轉換為「垂直穿透」特徵。 彼此重疊的垂直穿透特徵會獲指派一個 setid
。
單位圖層應遵循下列需求:
- 單位圖層必須繪製成多邊形、聚合線條 (封閉)、圓形或橢圓形 (封閉)。
- 單位必須落在設施外部周邊的範圍內。
- 單位不能部分重疊。
- 單位不得包含任何自我相交的幾何圖形。
藉由在 UnitLabel 圖層中建立文字物件來命名單位,然後將物件放在該單位的界限內。 如需詳細資訊,請參閱 UnitLabel 圖層。
您可以在範例繪圖套件中看到單位圖層的範例。
牆圖層
每個樓層的 DWG 檔案都可包含一個圖層來定義牆、柱子和其他建築物結構的實體範圍。
- 牆圖層必須繪製成多邊形、聚合線條 (封閉)、圓形或橢圓形 (封閉)。
- 牆圖層應只包含會解譯為建築物結構的幾何圖形。
您可以在範例繪圖套件中看到牆圖層的範例。
門圖層
您可以納入包含門的 DWG 圖層。 每扇門都必須與單位圖層的單位邊緣重疊。
在 Azure 地圖服務資料集中,門的開口會表示為與多個單位界限重疊的單行線段。 下圖顯示 Azure 地圖服務如何將門圖層幾何轉換成資料集中的開口特徵。
區域圖層
每個樓層的 DWG 檔案都可包含一個區域圖層來定義區域的實體範圍。 區域是可命名和轉譯的非可導覽空間。 區域可以跨越多個樓層,並使用 zoneSetId 屬性分組在一起。
- 區域圖層必須繪製成多邊形、聚合線條 (封閉) 或橢圓形 (封閉)。
- 區域可以重疊。
- 區域可以落在設施外部周邊的內部或外部。
藉由在 ZoneLabel 圖層中建立文字物件來命名區域,並將文字物件放在區域的界限內。 如需詳細資訊,請參閱 ZoneLabel 圖層。
您可以在範例繪圖套件中看到區域圖層的範例。
UnitLabel 圖層
每個樓層的 DWG 檔案都可以包含 UnitLabel 圖層。 UnitLabel 圖層會將名稱屬性新增到從單位圖層擷取的單位。 具有名稱屬性的單位可以在資訊清單檔中指定更多詳細資料。
- 單位標籤必須是單行文字實體。
- 單位標籤必須完全落在其單位的界限內。
- 單位不能在 UnitLabel 圖層中包含多個文字實體。
您可以在範例繪圖套件中看到 UnitLabel 圖層的範例。
ZoneLabel 圖層
每個樓層的 DWG 檔案都可以包含 ZoneLabel 圖層。 此層會將名稱屬性新增至從區域圖層擷取的區域。 具有名稱屬性的區域可以在資訊清單檔中指定更多詳細資料。
- 區域標籤必須是單行文字實體。
- 區域標籤必須落在其區域的界限內。
- 區域不能在 ZoneLabel 圖層中包含多個文字實體。
您可以在範例繪圖套件中看到 ZoneLabel 圖層的範例。
資訊清單檔的需求
zip 資料夾必須在目錄的根樓層中包含資訊清單檔,而且該檔案必須命名為 manifest.json。 其中會描述可讓轉換服務剖析其內容的 DWG 檔案。 只有資訊清單所識別的檔案可擷取。 在 zip 資料夾中但未在資訊清單中正確列出的檔案將會遭到忽略。
雖然在使用資訊清單物件時有一些需求,但並非所有的物件都是必要的。 下表顯示轉換服務 1.1 版的必要和選用物件。
注意
除非另有指定,否則具有字串屬性類型的所有屬性都允許一千個字元。
Object | 必要 | 描述 |
---|---|---|
version |
true | 資訊清單結構描述版本。 目前僅支援 1.1 版。 |
directoryInfo |
true | 概述設施的地理和連絡資訊。 其也可以用來概述住戶的地理和連絡資訊。 |
buildingLevels |
true | 指定建築物的樓層,以及包含樓層設計的檔案。 |
georeference |
true | 包含設施繪圖的數值地理資訊。 |
dwgLayers |
true | 列出圖層的名稱,而每個圖層都會列出其所有特徵的名稱。 |
unitProperties |
false | 可以用來插入單位特徵的更多中繼資料。 |
zoneProperties |
false | 可以用來插入區域特徵的更多中繼資料。 |
下面各節將詳細說明每個物件的需求。
directoryInfo
屬性 | 型別 | 必要 | 描述 |
---|---|---|---|
name |
string | true | 建築物的名稱。 |
streetAddress |
string | false | 建築物的地址。 |
unit |
string | false | 建築物中的單位。 |
locality |
string | false | 城市、鄉鎮、地區、鄰近地區或區域的名稱。 |
adminDivisions |
字串的 JSON 陣列 | false | 包含地址指定的陣列。 例如:(國家/地區、州別) 使用 ISO 3166 國家/地區代碼和 ISO 3166-2 州/地區代碼。 |
postalCode |
string | false | 郵寄分類代碼。 |
hoursOfOperation |
string | false | 遵循 OSM 開放時間格式。 |
phone |
string | false | 與建築物相關聯的電話號碼。 |
website |
string | false | 與建築物相關聯的網站。 |
nonPublic |
bool | false | 指定建築物是否為公開的旗標。 |
anchorLatitude |
numeric | false | 設施錨點的緯度 (圖釘)。 |
anchorLongitude |
numeric | false | 設施錨點的經度 (圖釘)。 |
anchorHeightAboveSeaLevel |
numeric | false | 設施地面在海平面上的高度 (以公尺為單位)。 |
defaultLevelVerticalExtent 數值 |
false | 未定義樓層的 verticalExtent 時,用於此設施樓層的預設高度 (厚度)。 |
buildingLevels
buildingLevels
物件包含建築物樓層的 JSON 陣列。
屬性 | 型別 | 必要 | 描述 |
---|---|---|---|
levelName |
string | true | 描述性樓層名稱。 例如:1 樓 (Floor 1)、大廳 (Lobby)、藍色停車區 (Blue Parking) 或地下室 (Basement)。 |
ordinal |
整數 | true | 決定樓層的垂直順序。 每個設施都必須具有序數 0 的樓層。 |
heightAboveFacilityAnchor |
numeric | false | 錨點上的樓層高度 (以公尺為單位)。 |
verticalExtent |
numeric | false | 樓層的地板到天花板高度 (厚度),以公尺為單位。 |
filename |
string | true | 建築物樓層 CAD 繪圖的檔案系統路徑。 其必須相對於建築物 zip 檔案的根目錄。 |
georeference
屬性 | 型別 | 必要 | 描述 |
---|---|---|---|
lat |
numeric | true | 設施繪圖的原始緯度十進位標記法。 原始座標必須在 WGS84 Web Mercator (EPSG:3857 ) 中。 |
lon |
numeric | true | 設施繪圖的原始經度十進位標記法。 原始座標必須在 WGS84 Web Mercator (EPSG:3857 ) 中。 |
angle |
numeric | true | 正北和繪圖垂直軸 (Y) 之間的順時針角度 (以度為單位)。 |
dwgLayers
屬性 | 型別 | 必要 | 描述 |
---|---|---|---|
exterior |
字串陣列 | true | 定義外部建築物概況的圖層名稱。 |
unit |
字串陣列 | false | 用於定義單位的圖層名稱。 |
wall |
字串陣列 | false | 用於定義牆的圖層名稱。 |
door |
字串陣列 | false | 用於定義門的圖層名稱。 |
unitLabel |
字串陣列 | false | 用於定義單位名稱的圖層名稱。 |
zone |
字串陣列 | false | 用於定義區域的圖層名稱。 |
zoneLabel |
字串陣列 | false | 用於定義區域名稱的圖層名稱。 |
unitProperties
unitProperties
物件包含單位屬性的 JSON 陣列。
屬性 | 型別 | 必要 | 描述 |
---|---|---|---|
unitName |
string | true | 要與此 unitProperty 記錄相關聯的單位名稱。 只有在 unitLabel 圖層中找到符合 unitName 的標籤時,此記錄才有效。 |
categoryName |
string | false | 單位的用途。 categories.json 中記載了所提供轉譯樣式可以使用的值清單。 |
occupants |
directoryInfo 物件的陣列 | false | 單位的住戶清單。 |
nameAlt |
string | false | 單位的替代名稱。 |
nameSubtitle |
string | false | 單位的子標題。 |
addressRoomNumber |
string | false | 單位的房間、單位、公寓或套房編號。 |
verticalPenetrationCategory |
string | false | 定義此屬性時,產生的特徵將會是垂直穿透 (VRT),而不是一個單位。 您可以使用垂直穿透來移至其上方或下方樓層中的其他垂直穿透特徵。 垂直穿透是類別名稱。 如果已定義屬性,則 categoryName 屬性會以 verticalPenetrationCategory 覆寫。 |
verticalPenetrationDirection |
string | false | 如果已定義 verticalPenetrationCategory ,則可選擇定義有效的行進方向。 允許的值為:lowToHigh 、highToLow 、both 和 closed 。 預設值是 both 。 此值區分大小寫。 |
nonPublic |
bool | false | 指出單位是否要向外公開。 |
isRoutable |
bool | false | 當此屬性設定為 false 時,您無法進入或通過單位。 預設值是 true 。 |
isOpenArea |
bool | false | 允許導覽代理程式進入單位,而不需要將開口附加到單位。 根據預設,這個值會針對沒有開口的單位設定為 true ,針對具有開口的單位設定為 false 。 在沒有開口的單位上手動將 isOpenArea 設定為 false 會導致警告,因為導覽代理程式無法抵達產生的單位。 |
zoneProperties
zoneProperties
物件包含區域屬性的 JSON 陣列。
屬性 | 型別 | 必要 | 描述 |
---|---|---|---|
zoneName | string | true | 要與 zoneProperty 記錄相關聯的區域名稱。 只有在區域的 zoneLabel 圖層中找到符合 zoneName 的標籤時,此記錄才有效。 |
categoryName | string | false | 區域的用途。 categories.json 中記載了所提供轉譯樣式可以使用的值清單。 |
zoneNameAlt | string | false | 區域的替代名稱。 |
zoneNameSubtitle | string | false | 區域的子標題。 |
zoneSetId | string | false | 設定識別碼以建立多個區域之間的關聯性,以便查詢或選取為群組。 例如,跨越多個樓層的區域。 |
繪圖套件資訊清單範例
以下是繪圖套件範例的資訊清單檔。 移至 GitHub 上適用於 Azure 地圖服務建立工具的範例繪圖套件,以下載整個套件。
資訊清單檔
{
"version": "1.1",
"directoryInfo": {
"name": "Contoso Building",
"streetAddress": "Contoso Way",
"unit": "1",
"locality": "Contoso eastside",
"postalCode": "98052",
"adminDivisions": [
"Contoso city",
"Contoso state",
"Contoso country"
],
"hoursOfOperation": "Mo-Fr 08:00-17:00 open",
"phone": "1 (425) 555-1234",
"website": "www.contoso.com",
"nonPublic": false,
"anchorLatitude": 47.636152,
"anchorLongitude": -122.132600,
"anchorHeightAboveSeaLevel": 1000,
"defaultLevelVerticalExtent": 3
},
"buildingLevels": {
"levels": [
{
"levelName": "Basement",
"ordinal": -1,
"filename": "./Basement.dwg"
}, {
"levelName": "Ground",
"ordinal": 0,
"verticalExtent": 5,
"filename": "./Ground.dwg"
}, {
"levelName": "Level 2",
"ordinal": 1,
"heightAboveFacilityAnchor": 3.5,
"filename": "./Level_2.dwg"
}
]
},
"georeference": {
"lat": 47.636152,
"lon": -122.132600,
"angle": 0
},
"dwgLayers": {
"exterior": [
"OUTLINE", "WINDOWS"
],
"unit": [
"UNITS"
],
"wall": [
"WALLS"
],
"door": [
"DOORS"
],
"unitLabel": [
"UNITLABELS"
],
"zone": [
"ZONES"
],
"zoneLabel": [
"ZONELABELS"
]
},
"unitProperties": [
{
"unitName": "B01",
"categoryName": "room.office",
"occupants": [
{
"name": "Joe's Office",
"phone": "1 (425) 555-1234"
}
],
"nameAlt": "Basement01",
"nameSubtitle": "01",
"addressRoomNumber": "B01",
"nonPublic": true,
"isRoutable": true,
"isOpenArea": true
},
{
"unitName": "B02"
},
{
"unitName": "B05",
"categoryName": "room.office"
},
{
"unitName": "STRB01",
"verticalPenetrationCategory": "verticalPenetration.stairs",
"verticalPenetrationDirection": "both"
},
{
"unitName": "ELVB01",
"verticalPenetrationCategory": "verticalPenetration.elevator",
"verticalPenetrationDirection": "high_to_low"
}
],
"zoneProperties":
[
{
"zoneName": "WifiB01",
"categoryName": "Zone",
"zoneNameAlt": "MyZone",
"zoneNameSubtitle": "Wifi",
"zoneSetId": "1234"
},
{
"zoneName": "Wifi101",
"categoryName": "Zone",
"zoneNameAlt": "MyZone",
"zoneNameSubtitle": "Wifi",
"zoneSetId": "1234"
}
]
}
您可以使用 Azure 地圖服務轉換服務,將上傳的繪圖套件轉換為地圖資料。 本文將說明轉換 API 的繪圖套件需求。 若要檢視範例套件,您可以下載範例繪圖套件 v2。
如需如何準備繪圖套件的指南,請參閱繪圖套件指南。
變更和修訂
- 已新增對使用者定義功能類別的支援。
- 簡化 DWG 圖層的需求。
必要條件
繪圖套件包含以 DWG 格式儲存的繪圖,這是 Autodesk 中 AutoCAD® 軟體的原生檔案格式。
在繪圖套件中,您可以選擇任何 CAD 軟體來產生繪圖。
轉換服務會將繪圖套件轉換成地圖資料。 轉換服務適用於 AutoCAD DWG 檔案格式 AC1032。
詞彙
為了方便參考,以下是一些閱讀本文時很重要的詞彙和定義。
詞彙 | 定義 |
---|---|
層 | 繪圖檔的 AutoCAD DWG 層。 |
實體 | 繪圖檔的 AutoCAD DWG 實體。 |
Xref | 檔案格式為 AutoCAD DWG 並附加至主要繪圖作為外部參考的檔案。 |
層級 | 已設定高度的設施區域。 例如,設施的樓層。 |
功能 | 從轉換服務產生的物件執行個體,結合幾何與中繼資料資訊。 |
特徵類別 | 特徵的常見藍圖。 |
繪圖套件結構
繪製套件是包含下列檔案的 ZIP 封存檔:
- AutoCAD DWG 檔案格式的 DWG 檔案。
- manifest.json 檔案,描述繪圖套件中的 DWG 檔案。
繪圖套件必須壓縮為單一封存檔,副檔名為 .zip。 DWG 檔案可以在繪圖套件內以任何方式組織,但是資訊清單檔案必須存留在根目錄中。 下一節說明 DWG 和資訊清單檔案的轉換程序和需求,以及這些檔案的內容。 若要檢視範例套件,您可以下載範例繪圖套件 v2。
DWG 檔案轉換程序
Azure 地圖服務轉換服務會將設施的 DWG 檔案轉換為地圖資料,以代表設施和設施的功能。
Azure 地圖服務轉換服務會建立:
- 設施功能:設施的所有層級都關聯至設施的最上層功能。
- 樓層特徵:為設施的每個樓層建立一個樓層特徵。 樓層上的所有特徵都關聯至一個樓層。
- 使用者定義的功能:DWG 圖層會對應至使用者定義的特徵類別,並成為特徵類別的實例。
DWG 檔案需求
每個 DWG 檔案都必須遵循下列需求:
- DWG 檔案不能包含多個設施的特徵。
- DWG 檔案不能包含多個樓層的特徵。 例如,具有三個樓層的設施在繪圖套件中有三個 DWG 檔案。
- 單一樓層的所有資料都必須包含在單一 DWG 檔案中。 任何外部參考 (xrefs) 都必須繫結至父系繪圖。
- DWG 檔案必須定義代表該樓層界限的圖層。
- DWG 必須參考與繪圖套件中其他 DWG 檔案相同的度量系統和度量單位。
- 當 DWG 檔案堆疊在相同設施的另一個樓層上時,必須對齊 DWG 檔案。
DWG 圖層需求
特徵類別
一或多個 DWG 圖層可以對應至使用者定義的特徵類別。 該特徵的一個執行個體是從對應圖層上的實體建立的。 例如,DWG 圖層椅子、桌子和沙發會對應至稱為傢俱的特徵類別。 傢俱特徵是為定義圖層中的每個實體所建立。 此外:
- 所有圖層都應該分開,以代表設施的不同特徵類型。
- 所有實體都必須落在樓層周邊的界限內。
- 支援的 AutoCAD 實體類型:TEXT、MTEXT、POINT、ARC、CIRCLE、LINE、POLYLINE、ELLIPSE。
特徵類別屬性
落在封閉圖形界限內的文字實體可以作為屬性與該特徵相關聯。 例如,房間特徵類別可能有描述房間名稱的文字,而另一個房間類型範例繪圖套件 v2。 此外:
- 只有 TEXT 和 MTEXT 實體可以作為屬性與該特徵相關聯。 其他所有實體類型都會被忽略。
- TEXT 和 MTEXT 對齊點必須落在封閉圖形的界限內。
- 如果多個 TEXT 屬性位於封閉圖形的界限內,而且兩者都對應至一個屬性,則會隨機選取一個屬性。
設施樓層
每個樓層的 DWG 檔案都必須包含一個圖層,以定義該樓層的周邊。 例如,如果設施包含兩個樓層,則其需要有兩個 DWG 檔案,而每個檔案都有一個定義該樓層周邊的圖層。
不論樓層周邊的圖層中有多少個實體繪圖,產生的設施資料集都只會為每個 DWG 檔案包含一個樓層特徵。 此外:
- 樓層周邊必須繪製成多邊形、聚合線條 (封閉)、圓形或橢圓形 (封閉)。
- 樓層周邊可以重疊,但是會解析成一個幾何圖形。
- 產生的樓層特徵至少必須是 4 平方公尺。
- 產生的樓層特徵不得大於 40 萬平方公尺。
如果圖層包含多個重疊的聚合線條,則聚合線條會合併成單一樓層特徵。 或者,如果圖層包含多個非重疊的聚合線條,則產生的樓層特徵會有多個多邊形的表示方式。
樓層周邊圖層的範例可視為GROS$
範例繪圖套件 v2 中的 圖層。
資訊清單檔的需求
繪圖套件必須在根樓層中包含資訊清單檔,而且該檔案必須命名為 manifest.json。 其中會描述可讓轉換服務剖析其內容的 DWG 檔案。 只有資訊清單所識別的檔案可使用。 在繪圖套件中但未在資訊清單中正確列出的檔案將會遭到忽略。
在資訊清單檔的 buildingLevels 物件中,檔案路徑必須相對於繪圖套件的根目錄。 DWG 檔案名稱必須完全符合設施樓層的名稱。 例如,「地下室」樓層的 DWG 檔案會是 Basement.dwg。 樓層 2 的 DWG 檔案會命名為 level_2.dwg。 檔名不能包含空格,您可以使用底線來取代任何空格。
雖然在使用資訊清單物件時有一些需求,但並非所有的物件都是必要的。 下表顯示 2023-03-01-preview 轉換服務的必要和選擇性物件。
注意
除非另有指定,否則所有字串屬性都會限制為一千個字元。
資訊清單 JSON 檔案
屬性 | 型別 | 必要 | 描述 |
---|---|---|---|
version |
string | TRUE | 資訊清單結構描述版本。 目前版本 "2.0" |
buildingLevels |
BuildingLevels 物件 | TRUE | 指定設施的樓層,以及包含樓層設計的檔案。 |
featureClasses |
featureClass 物件的陣列 | TRUE | 定義如何從 DWG 繪圖檔讀取圖層的特徵類別物件清單。 |
georeference |
Georeference 物件 | FALSE | 包含設施繪圖的數值地理資訊。 |
facilityName |
string | FALSE | 設施的名稱。 |
下面各節將詳細說明每個物件的需求。
buildingLevels
屬性 | 型別 | 必要 | 描述 |
---|---|---|---|
dwgLayers |
字串陣列 | TRUE | 定義外部設施概況的圖層名稱。 |
levels |
樓層物件的陣列 | TRUE | 樓層是指 DWG 檔案中定義的設施中的唯一樓層,每個樓層的高度和其出現的垂直順序。 |
level
屬性 | 型別 | 必要 | 描述 |
---|---|---|---|
levelName |
string | TRUE | 層級的名稱。 例如:1 樓 (Floor 1)、大廳 (Lobby)、藍色停車區 (Blue Parking) 或地下室 (Basement)。 |
ordinal |
整數 | TRUE | 決定樓層的垂直順序。 所有 ordinal 值在設施內必須是唯一的。 |
filename |
string | TRUE | DWG 檔案的路徑和名稱,代表設施中的樓層。 路徑必須相對於繪圖套件的根目錄。 |
verticalExtent |
數值 | FALSE | 樓層的地板到天花板垂直高度 (厚度),以公尺為單位。 |
featureClass
屬性 | 型別 | 必要 | 描述 |
---|---|---|---|
dwgLayers |
字串陣列 | TRUE | 定義特徵類別的每個圖層名稱。 指定圖層上的每個實體都會轉換為特徵類別的執行個體。 特徵所轉換的 dwgLayer 名稱最終會作為該特徵的屬性。 |
featureClassName |
String | TRUE | 特徵類別的名稱。 典型的範例包括房間、工作區或牆。 |
featureClassProperties |
featureClassProperty 物件的陣列 | FALSE | 將與特徵相關聯的 DWG 檔案中的文字圖層指定為屬性。 例如,落在空間界限內的標籤,例如房間號碼。 |
featureClassProperty
屬性 | 型別 | 必要 | 描述 |
---|---|---|---|
dwgLayers |
字串陣列 | TRUE | 定義特徵類別屬性的每個圖層名稱。 指定圖層上的每個實體都會轉換為屬性。 只有 DWG TEXT 和 MTEXT 實體會轉換為屬性。 其他所有實體會被忽略。 |
featureClassPropertyName |
String | TRUE | 特徵類別屬性的名稱,例如,spaceName 或 spaceUseType。 |
georeference
屬性 | 型別 | 必要 | 描述 |
---|---|---|---|
lat |
數值 | TRUE | 設施繪圖的原始緯度十進位標記法。 原始座標必須位於 WGS84 Web Mercator (EPSG:3857) 中。 |
lon |
數值 | TRUE | 設施繪圖的原始經度十進位標記法。 原始座標必須位於 WGS84 Web Mercator (EPSG:3857) 中。 |
angle |
數值 | TRUE | 正北和繪圖垂直軸 (Y) 之間的順時針角度 (以度為單位)。 |
繪圖套件資訊清單範例
此範例中的 JSON 顯示繪圖套件範例的資訊清單檔。 移至 GitHub 上適用於 Azure 地圖服務建立工具的範例繪圖套件 v2,以下載整個套件。
資訊清單檔
{
"version": "2.0",
"buildingLevels": {
"dwgLayers": [
"GROS$"
],
"levels": [
{
"filename": "Ground.dwg",
"levelName": "level 1",
"ordinal": 0
},
{
"filename": "Level_2.dwg",
"levelName": "level 2",
"ordinal": 1
}
]
},
"georeference": {
"lat": 47.63529901,
"lon": -122.13355885,
"angle": 0
},
"featureClasses": [
{
"featureClassName": "room",
"dwgLayers": [
"RM$"
],
"featureClassProperties": [
{
"featureClassPropertyName": "name",
"dwgLayers": [
"A-IDEN-NUMR-EXST"
]
},
{
"featureClassPropertyName": "roomType",
"dwgLayers": [
"A-IDEN-NAME-EXST"
]
}
]
},
{
"featureClassName": "wall",
"dwgLayers": [
"A-WALL-EXST",
"A-WALL-CORE-EXST",
"A-GLAZ-SILL-EXST",
"A-GLAZ-SHEL-SILL-EXST",
"A-GLAZ-SHEL-EXST",
"A-GLAZ-EXST"
]
},
{
"featureClassName": "workspace",
"dwgLayers": [
"A-BOMA"
]
},
{
"featureClassName": "workspaceFurniture",
"dwgLayers": [
"A-FURN-SYTM-EXST"
]
},
{
"featureClassName": "buildingFurniture",
"dwgLayers": [
"A-FURN-FREE-EXST"
]
}
],
"facilityName": "Contoso Building"
}
下一步
如需如何準備繪圖套件的指南,請參閱繪圖套件指南。