Veri kümesi oluşturma

Veri kümesi oluşturma iki adımlı bir işlemdir:

  1. Veri kümesini oluşturma isteğinde bulunun.

  2. Veri kümesine veri yükleme isteğinde bulunun.

İlk veri yükleme işleminden sonra, veri kümesine yeni veriler yükleyerek yeni bir sürüm oluşturabilirsiniz.

Ön koşullar

Veri kümesi oluştururken:

  • Görünen adlar, Google Cloud projenizde benzersiz olmalıdır.
  • Görünen adlar 64 bayttan küçük olmalıdır (Bu karakterler UTF-8'de temsil edildiğinden, bazı dillerde her karakter birden çok baytla temsil edilebilir).
  • Açıklamalar 1.000 bayttan küçük olmalıdır.

Veri yüklerken:

  • Desteklenen dosya türleri CSV, GeoJSON ve KML'dir.
  • Desteklenen maksimum dosya boyutu 350 MB'tır.
  • Özellik sütunu adları "?_" dizesiyle başlayamaz.
  • Üç boyutlu geometriler desteklenmez. Buna "Z" dahildir WKT biçiminde son ek, ve rakım koordinatı, GeoJSON biçimindedir.

Veri hazırlamayla ilgili en iyi uygulamalar

Yoğun noktalar, uzun çizgi dizeleri veya poligonlar gibi kaynak verileriniz karmaşık veya büyükse (genellikle 50 MB'tan büyük kaynak dosya boyutları bu kategoriye girer). Verilerinizi basitleştirmeyi düşünün. görsel haritada en iyi performansı elde etmek için yüklemeden önce bakın.

Verilerinizi hazırlamaya yönelik en iyi uygulamalardan bazıları şunlardır:

  1. Özellik özelliklerini en aza indirin. Yalnızca stil belirlemek için gereken özellik özelliklerini koru haritanız (ör. "id") ve "category". Bir istemcideki özelliğin ek mülklerini ekleyebilirsiniz benzersiz tanımlayıcı anahtarında veriye dayalı stiller kullanan bir uygulamadır. Örneğin, bkz. Veriye dayalı stil ile verilerinizi gerçek zamanlı olarak görün.
  2. Mümkün olduğunda tamsayılar, kullanarak karo boyutunu küçültün ve harita performansını artırın.
  3. Bir dosya yüklemeden önce karmaşık geometrileri basitleştirin. Bu işlemi seçtiğiniz jeo-uzamsal araç (ör. açık kaynak Mapshaper.org yardımcı programını kullanarak veya ST_Simplify geometrik şekiller ve grafiklerdir.
  4. Bir dosya yüklemeden önce çok yoğun noktaları kümeleyin. Bu işlemi seçtiğiniz jeo-uzamsal araç (ör. açık kaynak turf.js küme işlevleri olarak veya BigQuery'de ST_CLUSTERDBSCAN kullanılarak GeoX çalışması yapmaya karar verdi.

Veri kümeleriyle ilgili en iyi uygulamalar hakkında daha fazla bilgi için Veri kümeleri ve BigQuery ile verilerinizi görselleştirin.

GeoJSON gereksinimleri

Maps Datasets API, mevcut GeoJSON spesifikasyonu. Maps Datasets API, aşağıdaki nesne türlerinden herhangi birini içeren GeoJSON dosyalarını da destekler:

  • Geometri nesneleri. Geometri nesnesi, birleşim olarak tanımlanan mekansal bir şekildir noktaların, çizgilerin ve poligonların sayısını gösterir.
  • Nesneleri öne çıkarın. Özellik nesnesi bir geometri ve buna ek olarak (anlamı uygulamaya özgü olan ad/değer çiftleri).
  • Özellik koleksiyonları. Özellik koleksiyonu, özellik nesnelerinden oluşan bir gruptur.

Haritalar Veri Kümeleri API'si, koordinat referans sisteminde veri içeren GeoJSON dosyalarını desteklemez WGS84 dışında (CRS) kullanmayın.

GeoJSON hakkında daha fazla bilgi için bkz. RFC 7946 uyumlu.

KML gereksinimleri

Haritalar Veri Kümeleri API'si aşağıdaki şartlara sahiptir:

  • Tüm URL'ler, dosyanın kendisinde yerel (veya göreli) olmalıdır.
  • Nokta, çizgi ve poligon geometrileri desteklenir.
  • Tüm veri özellikleri dize olarak kabul edilir.
Aşağıdaki KML özellikleri desteklenmez:
  • Dosyanın dışında tanımlanmış simgeler veya <styleUrl>.
  • Ağ bağlantıları, ör. <NetworkLink>
  • <GroundOverlay> gibi zemin bindirmeler
  • 3D geometriler veya <altitudeMode> gibi rakımla ilgili etiketler
  • Kamera özellikleri (ör. <LookAt>)
  • KML dosyasında tanımlanan stiller.

CSV koşulları

CSV dosyaları için, desteklenen sütun adları öncelik sırasına göre aşağıda listelenmiştir:

  • latitude, longitude
  • lat, long
  • x, y
  • wkt (İyi Bilinen Metin)
  • address, city, state, zip
  • address
  • Tüm adres bilgilerini içeren tek bir sütun, örneğin 1600 Amphitheatre Parkway Mountain View, CA 94043.

Örneğin, dosyanız x, y ve wkt adlı sütunlar içeriyor. x ve y, tarama sırasına göre daha yüksek bir önceliğe sahip olduğu için desteklenen sütun adları şunlardır: x ve y sütunlarındaki değerler kullanılır ve wkt sütunu yoksayılır.

Ayrıca:

  • Her sütun adı tek bir sütuna ait olmalıdır. Diğer bir deyişle, Hem x hem de y koordinat verilerini içeren xy. x ve y koordinatlarının içinde olmalıdır ayrı sütunlar oluşturabilirsiniz.
  • Sütun adları büyük/küçük harfe duyarlı değildir.
  • Sütun adlarının sırası önemli değildir. Örneğin, CSV dosyanız lat ve long sütunları herhangi bir sırada olabilir.

Veri yükleme hatalarını işleme

Bir veri kümesine veri yüklerken, bu makalede açıklanan yaygın hatalardan biriyle karşılaşabilirsiniz: bölümüne bakın.

GeoJSON hataları

Yaygın GeoJSON hataları şunlardır:

  • type alanı eksik veya type bir dize değil. Yüklenen GeoJSON veri dosyası, her bir değerin parçası olarak type adlı bir dize alanı içermelidir Özellik nesnesi ve Geometri nesne tanımı.

KML hataları

Yaygın KML hataları şunlardır:

  • Veri dosyası yukarıda listelenen desteklenmeyen KML özelliklerinin hiçbirini içermemelidir, aksi takdirde veri içe aktarma işlemi başarısız olabilir.

CSV hataları

Sık karşılaşılan CSV hataları şunlardır:

  • Bazı satırlarda bir geometri sütunu için değer eksik. CSV dosyasındaki tüm satırlar şunları içermelidir: boş olmayan değerleri girin. Geometri sütunları şunları içerir:
    • latitude, longitude
    • lat, long
    • x, y
    • wkt
    • address, city, state, zip
    • address
    • Tüm adres bilgilerini içeren tek bir sütun, örneğin 1600 Amphitheatre Parkway Mountain View, CA 94043.
  • Geometri sütunlarınız x ve y ise birimlerin boylam ve enlem. Bazı herkese açık veri kümeleri, başlıkların altında farklı koordinat sistemleri kullanır. x ve y. Yanlış birimler kullanılırsa veri kümesi içe aktarılabilir başarılı bir şekilde çalışır, ancak oluşturulan veriler beklenmedik konumlardaki veri kümesi noktalarını gösterebilir.

Veri kümesini oluşturma

Veri kümesi oluşturmak içinPOST veri kümeleri uç noktası:

https://mapsplatformdatasets.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID/datasets

JSON gövdesi iletme isteğe bağlı olarak kullanırız. Bu politika uyarınca:

  • Veri kümesinin displayName öğesini belirtin. displayName değeri tüm veri kümeleri için benzersiz olmalıdır.

  • usage değerini USAGE_DATA_DRIVEN_STYLING olarak ayarlayın.

Örneğin:

curl -X POST -d '{
    "displayName": "My Test Dataset", 
    "usage": "USAGE_DATA_DRIVEN_STYLING"
  }' \
  -H 'X-Goog-User-Project: PROJECT_NUMBER_OR_ID' \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer $TOKEN" \
  https://mapsplatformdatasets.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID/datasets

Yanıt, veri kümesinin kimliğini şu biçimde içerir: projects/PROJECT_NUMBER_OR_ID/datasets/DATASET_ID. ek bilgilerle birlikte gönderebilirsiniz. Veri kümesi kimliğini kullanarak veri kümesini güncelleyebilir veya değiştirebilir.

{
  "name": "projects/PROJECT_NUMBER_OR_ID/datasets/f57074a0-a8b6-403e-9df1-e9fc46",
  "displayName": "My Test Dataset",
  "usage": [
    "USAGE_DATA_DRIVEN_STYLING"
  ],
  "createTime": "2022-08-15T17:50:00.189682Z",
  "updateTime": "2022-08-15T17:50:00.189682Z" 
}

Veri kümesine veri yükleme

Veri kümesini oluşturduktan sonra Google Cloud Storage veya yerel bir dosyadan veri kümesine eklenir.

Cloud Storage'dan veri yükleme

Cloud Storage'dan veri kümenize veri kümesine POST isteği göndererek veri kümeleri uç noktası da veri kümesinin kimliğini içerir:

https://mapsplatformdatasets.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID/datasets/DATASET_ID:import

JSON istek gövdesinde:

  • Verileri içeren kaynağın dosya yolunu belirtmek için inputUri değerini kullanın . Bu yol, gs://GCS_BUCKET/FILE

    İstekte bulunan kullanıcı için Storage Nesnesi Görüntüleyen rolü veya storage.objects.get iznini içeren başka bir rol. Örneğin, Cloud Storage'a erişimi yönetme hakkında daha fazla bilgi için bkz. Erişim denetimine genel bakış.

  • Verilerin dosya biçimini aşağıdaki şekilde belirtmek için fileFormat kullanın: FILE_FORMAT_GEOJSON (GeoJson dosyası), FILE_FORMAT_KML (KML dosyası) veya FILE_FORMAT_CSV (CSV dosyası).

Örneğin:

curl -X POST  -d '{
    "gcs_source":{
      "inputUri": "gs://my_bucket/my_csv_file",
      "fileFormat": "FILE_FORMAT_CSV"
    }
  }' \
  -H 'X-Goog-User-Project: PROJECT_NUMBER_OR_ID' \
  -H "content-type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  https://mapsplatformdatasets.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID/datasets/f57074a0-a8b6-403e-9df1-e9fc46:import

Yanıt şu biçimdedir:

{
  "name": "projects/PROJECT_NUMBER_OR_ID/datasets/DATASET_ID@VERSION_NUMBER"
}

Dosyadan veri yükleme

Bir dosyadan veri yüklemek için şuraya HTTP POST isteği gönderin veri kümeleri uç noktası da veri kümesinin kimliğini içerir:

https://mapsplatformdatasets.googleapis.com/upload/v1/projects/PROJECT_NUMBER_OR_ID/datasets/DATASET_ID:import
.

İstek şunları içeriyor:

  • Goog-Upload-Protocol başlığı multipart olarak ayarlandı.

  • metadata özelliği, Yüklenecek verilerin türü. Bunlar şunlardan biridir: FILE_FORMAT_GEOJSON (GeoJSON dosyası), FILE_FORMAT_KML (KML dosyası) veya FILE_FORMAT_CSV (CSV dosyası).

    Bu dosyanın içeriği aşağıdaki biçimdedir:

    {"local_file_source": {"file_format": "FILE_FORMAT_GEOJSON"}}
  • GeoJSON, KML veya CSV dosyasının yolunu belirten rawdata özelliği ekleyebilirsiniz.

Aşağıdaki istekte, iki öğenin yolunu belirtmek için curl -F seçeneği kullanılmaktadır dosyalar:

curl -X POST \
  -H 'X-Goog-User-Project: PROJECT_NUMBER_OR_ID' \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Goog-Upload-Protocol: multipart" \
  -F "metadata=@csv_metadata_file" \
  -F "rawdata=@csv_data_file" \
  https://mapsplatformdatasets.googleapis.com/upload/v1/projects/PROJECT_NUMBER_OR_ID/datasets/f57074a0-a8b6-403e-9df1-e9fc46:import

Yanıt şu biçimdedir:

{
  "name": "projects/PROJECT_NUMBER_OR_ID/datasets/DATASET_ID@VERSION_NUMBER"
}

Veri kümesine yeni veri yükleme

Veri kümesini oluşturup ilk verileri başarıyla yükledikten sonra, durum veri kümesinin yüzdesi STATE_COMPLETED olarak ayarlandı. Bu, veri kümesinin elde edersiniz. Veri kümesinin state değerini belirlemek için veri kümesi bulunmalıdır.

Ayrıca, veri kümesine yeni veriler yükleyerek veri kümesiyle eşleştirilir. Yeni veri yüklemek için Veri yükleme işlemini izleyerek yeni verileri yükleyin. Cloud Storage'dan veya Bir dosyadan veri yükleyin, ve yüklenecek yeni verileri belirtin.

Yeni veriler başarıyla yüklenirse:

  • Veri kümesinin yeni sürümünün durumu STATE_COMPLETED olarak ayarlanır.

  • Yeni sürüm "etkin" hale gelir sürümünü temsil eder ve uygulamasını indirin.

Yükleme işleminde hata varsa:

  • Yeni veri kümesi sürümünün durumu, aşağıdaki durumlardan birine ayarlanır:

    • STATE_IMPORT_FAILED
    • STATE_PROCESSING_FAILED
    • STATE_PUBLISHING_FAILED
    • STATE_DELETION_FAILED
  • Önceki veri kümesinin başarılı sürümü "etkin" olarak kalır ve uygulamanızın kullandığı sürüm.