Öğretici: İç mekan haritaları oluşturmak için Creator kullanma

Bu öğreticide iç mekan haritalarını nasıl oluşturabilirsiniz? Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Upload harita Çizim paketinizi seçin.
  • Çizim paketinizi eşleme verilerine dönüştürebilirsiniz.
  • Harita verilerinizden bir veri kümesi oluşturun.
  • Veri kümenizin verilerinden bir kutucuk kümesi oluşturun.
  • Harita özellikleriniz hakkında Haritalar Web Feature Service için Azure Haritalar Web Feature Service (WFS) API'sini sorgular.
  • Harita özelliklerinizi ve veri kümenizin verilerini kullanarak bir özellik durumları kümesi oluşturun.
  • Özellik durumları kümesinizi güncelleştirin.

Önkoşullar

  1. Azure Haritalar olun.
  2. Birincil anahtar veya abonelikanahtarı olarak da bilinen birincil abonelik anahtarını alın.
  3. Oluşturucu kaynağı oluşturun.
  4. Örnek Çizim paketini indirin.

Bu öğreticide Postman uygulaması kullanılır, ancak farklı bir API geliştirme ortamı kullanabilirsiniz.

Önemli

Bu öğretici coğrafi us.atlas.microsoft.com URL'yi kullanır. Oluşturucu hizmetiniz bu hizmette oluşturulmadı Birleşik Devletler farklı bir coğrafi URL kullansanız gerekir. Daha fazla bilgi için bkz. Creator Services'e Erişim. Bölgenin coğrafi konuma eşlemelerini görüntülemek için bkz. Oluşturucu hizmeti coğrafi kapsamı.

Upload çizim paketi

Çizim paketini Azure Upload kaynaklara yüklemek için Data Haritalar API'sini kullanın.

Data Upload API'si, Creator Long-Running Operation API V2 içinde tanımlanan deseni uygulayan uzun süre çalışan bir işlemdir.

Çizim paketini karşıya yüklemek için:

  1. Postman uygulamasında Yeni'yi seçin.

  2. Yeni Oluştur penceresinde HTTP İsteği'ne tıklayın.

  3. İstek için POST Data Upload gibi bir istek adı girin.

  4. POST HTTP yöntemini seçin.

  5. Data Upload API'sinin şu URL'sini girin: İstek aşağıdaki URL gibi olmalıdır (yerine {Azure-Maps-Primary-Subscription-key} birincil abonelik anahtarınızı yazın)::

    https://us.atlas.microsoft.com/mapData?api-version=2.0&dataFormat=dwgzippackage&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Üst Bilgiler sekmesini seçin.

  7. ANAHTAR alanında öğesini Content-Type seçin.

  8. DEĞER alanında öğesini application/octet-stream seçin.

    Veri yükleme için üst bilgi sekmesi bilgileri.

  9. Gövde sekmesini seçin.

  10. Açılan listede ikili öğesini seçin.

  11. Dosya Seç'i ve ardından bir Çizim paketi seçin.

    Çizim paketi seçin.

  12. Gönder’i seçin.

  13. Yanıt penceresinde Üst Bilgiler sekmesini seçin.

  14. Operation-Location anahtarının değeri olan değerini status URL kopyalayın. Çizim paketini karşıya yükleme status URL durumunu kontrol etmek için kullanıriz.

    Konum anahtarında durum URL'sini kopyalayın.

Çizim paketinin karşıya yükleme durumunu denetleme

Çizim paketinin durumunu kontrol etmek ve benzersiz kimliğini ( ) almak udid için:

  1. Postman uygulamasında Yeni'yi seçin.

  2. Yeni Oluştur penceresinde HTTP İsteği'ne tıklayın.

  3. İstek için GET Data Upload Status gibi bir istek adı girin.

  4. GET HTTP yöntemini seçin.

  5. Çizim status URL paketine kopya Upload girin. İstek aşağıdaki URL'ye benzer olmalıdır (yerine {Azure-Maps-Primary-Subscription-key} birincil abonelik anahtarınızı yazın):

    https://us.atlas.microsoft.com/mapData/operations/{operationId}?api-version=2.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Gönder’i seçin.

  7. Yanıt penceresinde Üst Bilgiler sekmesini seçin.

  8. Resource-Location anahtarının değerini (değeri) resource location URL kopyalayın. , resource location URL çizim paketi kaynağının benzersiz tanımlayıcısını ( udid ) içerir.

    Kaynak konumu URL'sini kopyalayın.

(İsteğe bağlı) Çizim paketi meta verilerini alma

Çizim paketi kaynağından meta verileri alın. Meta veriler kaynak konumu URL'si, oluşturma tarihi, güncelleştirilmiş tarih, boyut ve karşıya yükleme durumu gibi bilgileri içerir.

İçerik meta verilerini almak için:

  1. Postman uygulamasında Yeni'yi seçin.

  2. Yeni Oluştur penceresinde HTTP İsteği'ne tıklayın.

  3. İstek için GET Data Upload Metadata gibi bir İstek adı girin.

  4. . GET HTTP yöntemini seçin.

  5. Çizim resource Location URL paketini karşıya yükleme durumunu denetleme alanına kopyalanan değeri girin. İstek aşağıdaki URL'ye benzer olmalıdır (yerine {Azure-Maps-Primary-Subscription-key} birincil abonelik anahtarınızı yazın):

    https://us.atlas.microsoft.com/mapData/metadata/{udid}?api-version=2.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Gönder’i seçin.

  7. Yanıt penceresinde Gövde sekmesini seçin. Meta veriler aşağıdaki JSON parçasına benzer:

    {
        "udid": "{udid}",
        "location": "https://us.atlas.microsoft.com/mapData/6ebf1ae1-2a66-760b-e28c-b9381fcff335?api-version=2.0",
        "created": "5/18/2021 8:10:32 PM +00:00",
        "updated": "5/18/2021 8:10:37 PM +00:00",
        "sizeInBytes": 946901,
        "uploadStatus": "Completed"
    }
    

Çizim paketini dönüştürme

Artık Çizim paketi karşıya yüklendi, paketi harita verilerine dönüştürmek için karşıya udid yüklenen paket için kullanız. Dönüştürme API'si burada tanımlanan deseni uygulayan uzun süre çalışan bir işlem kullanır.

Çizim paketini dönüştürmek için:

  1. Postman uygulamasında Yeni'yi seçin.

  2. Yeni Oluştur penceresinde HTTP İsteği'ne tıklayın.

  3. İstek için bir İstek adı girin, örneğin POST Convert Drawing Package.

  4. POST HTTP yöntemini seçin.

  5. Dönüştürme Hizmeti'nin aşağıdaki URL'sini girin (yerine birincil abonelik anahtarınızı ve yüklenen {Azure-Maps-Primary-Subscription-key} udid udid paketin URL'sini yazın):

    https://us.atlas.microsoft.com/conversions?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=2.0&udid={udid}&inputType=DWG&outputOntology=facility-2.0
    
  6. Gönder’i seçin.

  7. Yanıt penceresinde Üst Bilgiler sekmesini seçin.

  8. Operation-Location anahtarının değeri olan değerini status URL kopyalayın. Dönüştürmenin durumunu status URL kontrol etmek için kullanıriz.

    Çizim paketi için konum anahtarının değerini kopyalayın.

Çizim paketi dönüştürme durumunu denetleme

Dönüştürme işlemi tamamlandıktan sonra bir conversionId döndürür. Çizim paketi conversionId dönüştürme işleminin durumunu kontrol ederek nesnesine erişebiz. Daha conversionId sonra dönüştürülen verilere erişmek için kullanılabilir.

Dönüştürme işleminin durumunu kontrol etmek ve almak conversionId için:

  1. Postman uygulamasında Yeni'yi seçin.

  2. Yeni Oluştur penceresinde HTTP İsteği'ne tıklayın.

  3. İstek için GET Dönüştürme Durumu gibi bir İstek adı girin.

  4. GET HTTP yöntemini seçin:

  5. Çizim status URL paketini dönüştür alanına kopyalanan değeri girin. İstek aşağıdaki URL'ye benzer olmalıdır (yerine {Azure-Maps-Primary-Subscription-key} birincil abonelik anahtarınızı yazın):

    https://us.atlas.microsoft.com/conversions/operations/{operationId}?api-version=2.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Gönder’i seçin.

  7. Yanıt penceresinde Üst Bilgiler sekmesini seçin.

  8. Resource-Location anahtarının değerini (değeri) resource location URL kopyalayın. , resource location URL dönüştürülen eşleme conversionId verilerine erişmek için diğer API'ler tarafından kullanılan benzersiz tanımlayıcıyı () içerir.

    Dönüştürme kimliğini kopyalayın.

Örnek Çizim paketi hata veya uyarı olmadan dönüştürülmesi gerekir. Ancak, kendi çizim paketinizden hata veya uyarı alırsanız, JSON yanıtı Çizim hatası Görselleştiricisinibir bağlantı içerir. Hata ve uyarıların ayrıntılarını incelemek için çizim hatası görselleştiricisi ' i kullanabilirsiniz. Dönüştürme hatalarını ve uyarılarını çözmeye yönelik öneriler almak için bkz. çizim dönüştürme hataları ve uyarıları.

Aşağıdaki JSON parçası bir örnek dönüştürme uyarısı görüntülüyor:

{
    "operationId": "{operationId}",
    "created": "2021-05-19T18:24:28.7922905+00:00",
    "status": "Succeeded",
     "warning": {
        "code": "dwgConversionProblem",
        "details": [
            {
                "code": "warning",
                "details": [
                    {
                        "code": "manifestWarning",
                        "message": "Ignoring unexpected JSON property: unitProperties[0].nonWheelchairAccessible with value False"
                    }
                ]
            }
        ]
    },
    "properties": {
        "diagnosticPackageLocation": "https://atlas.microsoft.com/mapData/ce61c3c1-faa8-75b7-349f-d863f6523748?api-version=1.0"
    }
}

Veri kümesi oluşturma

Veri kümesi, binalar, düzeyler ve odalar gibi eşleme özelliklerinin koleksiyonudur. Bir veri kümesi oluşturmak için veri kümesi oluşturma API'sini kullanın. Veri kümesi oluşturma API 'SI, conversionId dönüştürülmüş çizim paketini alır ve datasetId oluşturulan veri kümesinin bir öğesini döndürür.

Bir veri kümesi oluşturmak için:

  1. Postman uygulamasında Yeni' yi seçin.

  2. Yeni oluştur penceresinde http isteği' ni seçin.

  3. İstek için veri kümesi oluşturma gibi bir istek adı girin.

  4. HTTP Post yöntemini seçin.

  5. Veri KÜMESI API'sine aşağıdaki URL 'yi girin. İstek aşağıdaki URL gibi görünmelidir ( {Azure-Maps-Primary-Subscription-key} birincil abonelik anahtarınızla değiştirin ve ' {conversionId conversionId ın Çizim paketi dönüştürme durumunu denetle' de alındı):

    https://us.atlas.microsoft.com/datasets?api-version=2.0&conversionId={conversionId}&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Gönder’i seçin.

  7. Yanıt penceresinde üstbilgiler sekmesini seçin.

  8. İşlem-konum anahtarı değerini kopyalayın status URL . status URLVeri kümesinin durumunu denetlemek için kullanacağız.

    Veri kümesi için konum anahtarının değerini kopyalayın.

Veri kümesi oluşturma durumunu denetleme

Veri kümesi oluşturma işleminin durumunu denetlemek ve şunu almak için datasetId :

  1. Postman uygulamasında Yeni' yi seçin.

  2. Yeni oluştur penceresinde http isteği' ni seçin.

  3. İstek için veri kümesi durumunu Al gibi bir istek adı girin.

  4. Get http yöntemini seçin.

  5. status URL Veri kümesi oluştur ' akopyaladığınız alanı girin. İstek aşağıdaki URL gibi görünmelidir ( {Azure-Maps-Primary-Subscription-key} birincil abonelik anahtarınızla değiştirin):

    https://us.atlas.microsoft.com/datasets/operations/{operationId}?api-version=2.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Gönder’i seçin.

  7. Yanıt penceresinde üstbilgiler sekmesini seçin. Kaynak-konum anahtarının değeri resource location URL . , resource location URL Veri kümesinin benzersiz tanımlayıcısını ( datasetId ) içerir.

  8. datasetIdBu öğreticinin sonraki bölümlerinde kullanacaksınız, öğesini kopyalayın.

    Veri kümesi KIMLIĞINI kopyalayın.

Bir tileset oluşturma

Bir tileset, haritada işlenen vektör kutucukları kümesidir. Tilesets 'ler var olan veri kümelerinden oluşturulur. Ancak, bir tileset, kaynağı oluşturulan veri kümesinden bağımsızdır. Veri kümesi silinirse, tileset var olmaya devam eder.

Bir tileset oluşturmak için:

  1. Postman uygulamasında Yeni' yi seçin.

  2. Yeni oluştur penceresinde http isteği' ni seçin.

  3. İstek için bir istek adı girin (örneğin, tileset oluşturma).

  4. HTTP Post yöntemini seçin.

  5. Tileset API'sine aşağıdaki URL 'yi girin. İstek aşağıdaki URL 'ye ( {Azure-Maps-Primary-Subscription-key} birincil abonelik anahtarınızla değiştirin) ve {datasetId } datasetId veri kümesi oluşturma durumununalındığı yer ile} benzer şekilde görünmelidir:

    https://us.atlas.microsoft.com/tilesets?api-version=2.0&datasetID={datasetId}&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Gönder’i seçin.

  7. Yanıt penceresinde üstbilgiler sekmesini seçin.

  8. İşlem-konum anahtarı değerini kopyalayın status URL . ' Nı, status URL tileset 'in durumunu denetlemek için kullanacağız.

    Tileset durum URL 'sinin değerini kopyalayın.

Tileset oluşturma durumunu denetleme

Veri kümesi oluşturma işleminin durumunu denetlemek ve şunu almak için tilesetId :

  1. Postman uygulamasında Yeni' yi seçin.

  2. Yeni oluştur penceresinde http isteği' ni seçin.

  3. İstek için bir istek adı girin (örneğin, tileset durumunu Al).

  4. Get http yöntemini seçin.

  5. status URL Bir tileset oluşturmakiçin kopyaladığınız alanı girin. İstek aşağıdaki URL gibi görünmelidir ( {Azure-Maps-Primary-Subscription-key} birincil abonelik anahtarınızla değiştirin):

    https://us.atlas.microsoft.com/tilesets/operations/{operationId}?api-version=2.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Gönder’i seçin.

  7. Yanıt penceresinde üstbilgiler sekmesini seçin. Kaynak-konum anahtarının değeri resource location URL . , resource location URL Veri kümesinin benzersiz tanımlayıcısını ( tilesetId ) içerir.

    Tileset KIMLIĞINI kopyalayın.

WFS API ile veri kümelerini sorgulama

Veri kümeleri, WFS APIkullanılarak sorgulanabilir. Tüm özellik koleksiyonlarını veya belirli bir koleksiyonu sorgulamak için WFS API 'sini kullanabilirsiniz. Öğreticinin bu bölümünde her ikisini de yapacağız. İlk olarak tüm koleksiyonları sorgularız ve sonra koleksiyon için sorgu yapacağız unit .

Özellik koleksiyonları için sorgu

Veri kümenizdeki tüm koleksiyonları sorgulamak için:

  1. Postman uygulamasında Yeni' yi seçin.

  2. Yeni oluştur penceresinde http isteği' ni seçin.

  3. İstek için Get DataSet koleksiyonları gibi bir istek adı girin.

  4. Get http yöntemini seçin.

  5. WFS API'sine aşağıdaki URL 'yi girin. İstek aşağıdaki URL 'ye ( {Azure-Maps-Primary-Subscription-key} birincil abonelik anahtarınızla değiştirin) ve {datasetId } datasetId veri kümesi oluşturma durumununalındığı yer ile} benzer şekilde görünmelidir:

    https://us.atlas.microsoft.com/wfs/datasets/{datasetId}/collections?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=2.0
    
  6. Gönder’i seçin.

  7. Yanıt gövdesi GeoJSON biçiminde döndürülür ve veri kümesindeki tüm koleksiyonları içerir. Kolaylık sağlaması için buradaki örnek yalnızca unit koleksiyonu gösterir. Tüm koleksiyonları içeren bir örneği görmek için bkz. WFS, koleksiyonları API 'Si açıklaması. Herhangi bir koleksiyon hakkında daha fazla bilgi edinmek için, öğesinin içindeki URL 'Lerden herhangi birini seçebilirsiniz link .

    {
    "collections": [
        {
            "name": "unit",
            "description": "A physical and non-overlapping area which might be occupied and traversed by a navigating agent. Can be a hallway, a room, a courtyard, etc. It is surrounded by physical obstruction (wall), unless the is_open_area attribute is equal to true, and one must add openings where the obstruction shouldn't be there. If is_open_area attribute is equal to true, all the sides are assumed open to the surroundings and walls are to be added where needed. Walls for open areas are represented as a line_element or area_element with is_obstruction equal to true.",
            "links": [
                {
                    "href": "https://atlas.microsoft.com/wfs/datasets/{datasetId}/collections/unit/definition?api-version=1.0",
                    "rel": "describedBy",
                    "title": "Metadata catalogue for unit"
                },
                {
                    "href": "https://atlas.microsoft.com/wfs/datasets/{datasetId}/collections/unit/items?api-version=1.0",
                    "rel": "data",
                    "title": "unit"
                }
                {
                    "href": "https://atlas.microsoft.com/wfs/datasets/{datasetId}/collections/unit?api-version=1.0",
                    "rel": "self",
                    "title": "Metadata catalogue for unit"
                }
            ]
        },
    

Birim özelliği koleksiyonu sorgusu

Bu bölümde, özellik koleksiyonu için WFS API sorgulaması yapacağız unit .

Veri kümenizdeki birim koleksiyonunu sorgulamak için:

  1. Postman uygulamasında Yeni' yi seçin.

  2. Yeni oluştur penceresinde http isteği' ni seçin.

  3. İstek için bir istek adı girin, örneğin birim koleksiyonu al.

  4. Get http yöntemini seçin.

  5. Aşağıdaki URL 'YI girin ( {Azure-Maps-Primary-Subscription-key} birincil abonelik anahtarınızla değiştirin ve ' {datasetId datasetId ın veri kümesi oluşturma durumunu denetle' de alınır):

    https://us.atlas.microsoft.com/wfs/datasets/{datasetId}/collections/unit/items?subscription-key={Your-Azure-Maps-Primary-Subscription-key}&api-version=2.0
    
  6. Gönder’i seçin.

  7. Yanıt dönüşdikten sonra özelliği id özelliklerden birine kopyalayın unit . Aşağıdaki örnekte, özelliği id "UNIT26" dir. Bu öğreticide, sonraki bölümde "UNIT26" özelliğini kullanacağız id .

    {
        "type": "FeatureCollection",
        "features": [
            {
                "type": "Feature",
                "geometry": {
                    "type": "Polygon",
                    "coordinates": ["..."]
                },
                "properties": {
                    "original_id": "b7410920-8cb0-490b-ab23-b489fd35aed0",
                    "category_id": "CTG8",
                    "is_open_area": true,
                    "navigable_by": [
                        "pedestrian"
                    ],
                    "route_through_behavior": "allowed",
                    "level_id": "LVL14",
                    "occupants": [],
                    "address_id": "DIR1",
                    "name": "157"
                },
                "id": "UNIT26",
                "featureType": ""
            }, {"..."}
        ]
    }
    

Özellik stateset oluşturma

Özellik statesets 'ler, dinamik özellikleri ve bunları destekleyen belirli özelliklerde değerleri tanımlar. Bu bölümde, bool özelliği için Boole değerleri ve karşılık gelen stilleri tanımlayan bir stateset oluşturacağız.

Bir stateset oluşturmak için:

  1. Postman uygulamasında Yeni' yi seçin.

  2. Yeni oluştur penceresinde http isteği' ni seçin.

  3. İstek için Create Stateset gibi bir istek adı girin.

  4. HTTP Post yöntemini seçin.

  5. Stateset API'sine aşağıdaki URL 'yi girin. İstek aşağıdaki URL gibi görünmelidir ( {Azure-Maps-Primary-Subscription-key} birincil abonelik anahtarınızla değiştirin ve ' {datasetId datasetId ın veri kümesi oluşturma durumunu denetle' de alınır):

    https://us.atlas.microsoft.com/featurestatesets?api-version=2.0&datasetId={datasetId}&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Üstbilgiler sekmesini seçin.

  7. Anahtar alanında öğesini seçin Content-Type .

  8. Değer alanında, öğesini seçin application/json .

    Stateset oluşturma için üst bilgi sekmesi bilgileri.

  9. Gövde sekmesini seçin.

  10. Açılan listelerde, RAW ve JSON' ı seçin.

  11. Aşağıdaki JSON stillerini kopyalayın ve ardından gövde penceresine yapıştırın:

    {
       "styles":[
          {
             "keyname":"occupied",
             "type":"boolean",
             "rules":[
                {
                   "true":"#FF0000",
                   "false":"#00FF00"
                }
             ]
          }
       ]
    }
    
  12. Gönder’i seçin.

  13. Yanıt başarıyla döndüğünde, statesetId Yanıt gövdesinden kopyalayın. Sonraki bölümde, statesetId occupancy "UNIT26" özelliğine sahip birimin özellik durumunu değiştirmek için öğesini kullanacağız id .

    Stateset KIMLIK yanıtı.

Özellik durumunu güncelleştirme

occupied"UNIT26" özelliğine sahip birimin durumunu güncelleştirmek için id :

  1. Postman uygulamasında Yeni' yi seçin.

  2. Yeni oluştur penceresinde http isteği' ni seçin.

  3. İstek için PUT set Stateset gibi bir istek adı girin.

  4. PUT http yöntemini seçin.

  5. Özellik Statesets API'sine aşağıdaki URL 'yi girin. İstek aşağıdaki URL gibi görünmelidir ( {Azure-Maps-Primary-Subscription-key} birincil abonelik anahtarınızla değiştirin ve {statesetId statesetId bir özellik oluşturma statesetile elde edin):

    https://us.atlas.microsoft.com/featurestatesets/{statesetId}/featureStates/UNIT26?api-version=2.0&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
    
  6. Üstbilgiler sekmesini seçin.

  7. Anahtar alanında öğesini seçin Content-Type .

  8. Değer alanında, öğesini seçin application/json .

    Stateset oluşturma için üst bilgi sekmesi bilgileri.

  9. Gövde sekmesini seçin.

  10. Açılan listelerde, RAW ve JSON' ı seçin.

  11. Aşağıdaki JSON stilini kopyalayın ve gövde penceresine yapıştırın:

    {
        "states": [
            {
                "keyName": "occupied",
                "value": true,
                "eventTimestamp": "2020-11-14T17:10:20"
            }
        ]
    }
    

    Not

    Güncelleştirme yalnızca, postalanan zaman damgası önceki isteğin zaman damgasından sonra olacak şekilde kaydedilir.

  12. Gönder’i seçin.

  13. Güncelleştirme tamamlandıktan sonra bir 200 OK http durum kodu alırsınız. Bir ınkapımap için dinamik stil uyguladıysanız, güncelleştirme işlenen haritadaki belirli zaman damgasında görüntülenir.

Özelliğini kullanarak bir özelliğin durumunu almak için, Get Stateset API 'sini kullanabilirsiniz id . Stateset ve kaynaklarını silmek için durum silme durumu API özelliğini de kullanabilirsiniz.

bu makalede ele alınan farklı Azure Haritalar creator hizmetleri hakkında daha fazla bilgi edinmek için bkz. Creator ınkapısı Haritalar.

Kaynakları temizleme

Temizlik gerektiren hiçbir kaynak yok.

Sonraki adımlar

ınkapıHaritalar modülünü nasıl kullanacağınızı öğrenmek için bkz.