डेटासेट बनाना

डेटासेट बनाने की प्रोसेस दो चरणों में होती है:

  1. डेटासेट बनाने के लिए अनुरोध करें.

  2. डेटासेट में डेटा अपलोड करने के लिए अनुरोध करें.

शुरुआती डेटा अपलोड करने के बाद, डेटासेट में नया डेटा अपलोड किया जा सकता है, ताकि डेटासेट का एक नया वर्शन है.

ज़रूरी शर्तें

डेटासेट बनाते समय:

  • आपके Google Cloud प्रोजेक्ट के डिसप्ले नेम यूनीक होने चाहिए.
  • डिसप्ले नेम का साइज़ 64 बाइट से कम होना चाहिए, क्योंकि ये वर्ण UTF-8 में दिखाए जाते हैं, कुछ भाषाओं में, हर वर्ण को कई बाइट से दिखाया जा सकता है).
  • जानकारी 1000 बाइट से कम होनी चाहिए.

डेटा अपलोड करते समय:

  • CSV, GeoJSON, और KML फ़ाइल टाइप का इस्तेमाल किया जा सकता है.
  • फ़ाइल का साइज़ 350 एमबी से ज़्यादा नहीं होना चाहिए.
  • विशेषता कॉलम के नाम स्ट्रिंग "?_" से शुरू नहीं हो सकते.
  • 3-डाइमेंशन वाली ज्यामितियां काम नहीं करतीं. इसमें "Z" शामिल है WKT फ़ॉर्मैट में सफ़िक्स है, और GeoJSON फ़ॉर्मैट में ऊंचाई कोऑर्डिनेट सबमिट किए जा सकते हैं.

डेटा तैयार करने के सबसे सही तरीके

अगर आपका सोर्स डेटा जटिल या बड़ा है, जैसे कि सघन बिंदु, लंबी लाइनस्ट्रिंग या पॉलीगॉन (अक्सर 50 एमबी से बड़ी सोर्स फ़ाइल इस कैटगरी में आती है), इसलिए अपने डेटा को आसान बनाने के बारे में सोचें अपलोड करने से पहले, ताकि विज़ुअल मैप में सबसे अच्छी परफ़ॉर्मेंस मिल सके.

यहां अपना डेटा तैयार करने के कुछ सबसे सही तरीके बताए गए हैं:

  1. सुविधा की प्रॉपर्टी को छोटा करना. स्टाइल के लिए ज़रूरी सुविधा प्रॉपर्टी ही रखें आपका मैप, उदाहरण के लिए "id" और "कैटगरी" चुनें. क्लाइंट की एक सुविधा में दूसरी प्रॉपर्टी भी जोड़ी जा सकती हैं किसी यूनीक आइडेंटिफ़ायर कुंजी पर डेटा-ड्रिवन स्टाइल का इस्तेमाल करने वाला ऐप्लिकेशन. उदाहरण के लिए, देखें डेटा-ड्रिवन स्टाइल की मदद से, रीयल टाइम में अपना डेटा देखना.
  2. जहां संभव हो, प्रॉपर्टी ऑब्जेक्ट के लिए आसान डेटा टाइप इस्तेमाल करें, जैसे कि पूर्णांक, टाइल के साइज़ को कम करने और मैप की परफ़ॉर्मेंस को बेहतर बनाने के लिए.
  3. फ़ाइल अपलोड करने से पहले जटिल ज्यामितियां आसान बनाएं. इसकी मदद से, अपनी पसंद का जियोस्पेशियल टूल, जैसे कि ओपन सोर्स Mapshaper.org सुविधा या BigQuery में ST_Simplify जटिल पॉलीगॉन ज्यामितियों पर.
  4. फ़ाइल अपलोड करने से पहले बहुत सघन बिंदु. इसकी मदद से, अपनी पसंद का जियोस्पेशियल टूल, जैसे कि ओपन सोर्स turf.js क्लस्टर फ़ंक्शन या BigQuery में ST_CLUSTERDBSCAN का इस्तेमाल करके सघन बिंदु ज्यामितियों पर.

डेटासेट इस्तेमाल करने के सबसे सही तरीकों के बारे में ज़्यादा जानकारी के लिए, यहां जाएं: डेटासेट और BigQuery की मदद से अपने डेटा को विज़ुअलाइज़ करें.

GeoJSON से जुड़ी ज़रूरी शर्तें

Maps Datasets API मौजूदा वर्शन के साथ काम करता है GeoJSON खास जानकारी. Maps Datasets API, GeoJSON फ़ाइलों के साथ काम करता है जिनमें इनमें से किसी भी तरह का ऑब्जेक्ट होता है:

  • ज्यामिति ऑब्जेक्ट. ज्यामिति ऑब्जेक्ट एक स्पेशल आकार होता है, जिसे यूनियन के तौर पर दिखाया जाता है वैकल्पिक छेद वाले पॉइंट, लाइनें, और पॉलीगॉन चुनें.
  • फ़ीचर ऑब्जेक्ट. सुविधा ऑब्जेक्ट में एक ज्यामिति और अतिरिक्त शामिल है नाम/वैल्यू पेयर, जिनका मतलब ऐप्लिकेशन के हिसाब से अलग-अलग होता है.
  • कलेक्शन दिखाएं. सुविधा संग्रह, फ़ीचर ऑब्जेक्ट का एक सेट होता है.

Maps Datasets API, GeoJSON फ़ाइलों के साथ काम नहीं करता है जिनमें निर्देशांक रेफ़रंस सिस्टम में डेटा मौजूद होता है WGS84 के अलावा कोई और (CRS).

GeoJSON के बारे में ज़्यादा जानकारी के लिए, यहां देखें आरएफ़सी 7946 का पालन करना.

KML की ज़रूरी शर्तें

Maps Datasets API की ज़रूरी शर्तें:

  • सभी यूआरएल, फ़ाइल से जुड़े हुए (या मिलते-जुलते) होने चाहिए.
  • पॉइंट, लाइन, और पॉलीगॉन की ज्यामितियां इस्तेमाल की जा सकती हैं.
  • डेटा के सभी एट्रिब्यूट को स्ट्रिंग माना जाता है.
KML की ये सुविधाएं काम नहीं करती हैं:
  • फ़ाइल के बाहर तय किए गए आइकॉन या <styleUrl>.
  • नेटवर्क लिंक, जैसे कि <NetworkLink>
  • ग्राउंड ओवरले, जैसे कि <GroundOverlay>
  • 3D ज्यामितियां या ऊंचाई से संबंधित कोई भी टैग, जैसे कि <altitudeMode>
  • कैमरे की खास जानकारी, जैसे कि <LookAt>
  • KML फ़ाइल में तय की गई शैलियां.

CSV की ज़रूरी शर्तें

CSV फ़ाइलों के लिए, प्राथमिकता के हिसाब से इस्तेमाल किए जा सकने वाले कॉलम के नाम नीचे दिए गए हैं:

  • latitude, longitude
  • lat, long
  • x, y
  • wkt (जाने-पहचाने टेक्स्ट)
  • address, city, state, zip
  • address
  • पते की सारी जानकारी वाला एक कॉलम, जैसे कि 1600 Amphitheatre Parkway Mountain View, CA 94043

उदाहरण के लिए, आपकी फ़ाइल में x, y, और wkt नाम के कॉलम हैं. x और y की प्राथमिकता ज़्यादा है. इसलिए, इन्हें ऊपर दी गई सूची में मौजूद कॉलम नाम, x और y कॉलम में दिए गए मान का इस्तेमाल किया जाता है और wkt कॉलम को अनदेखा कर दिया जाता है.

इसके अलावा:

  • हर कॉलम का नाम एक ही कॉलम से जुड़ा होना चाहिए. इसका मतलब है कि आपके पास xy जिसमें x और y दोनों कोऑर्डिनेट डेटा शामिल है. x और y निर्देशांक बीच में होने चाहिए अलग-अलग कॉलम.
  • कॉलम के नाम केस-इनसेंसिटिव होते हैं.
  • कॉलम के नामों का क्रम कोई मायने नहीं रखता. उदाहरण के लिए, अगर आपकी CSV फ़ाइल में lat और long कॉलम में, उन्हें किसी भी क्रम में रखा जा सकता है.

डेटा अपलोड करने में होने वाली गड़बड़ियां ठीक करना

किसी डेटासेट में डेटा अपलोड करते समय, आपको इस दस्तावेज़ में बताई गई आम गड़बड़ियों में से किसी एक का अनुभव हो सकता है सेक्शन में जाएं.

GeoJSON से जुड़ी गड़बड़ियां

GeoJSON की सामान्य गड़बड़ियों में ये शामिल हैं:

  • type फ़ील्ड मौजूद नहीं है या type कोई स्ट्रिंग नहीं है. अपलोड किए गए GeoJSON डेटा फ़ाइल में, हर एक स्ट्रिंग के हिस्से के तौर पर type नाम का एक स्ट्रिंग फ़ील्ड होना चाहिए फ़ीचर ऑब्जेक्ट और ज्यामिति ऑब्जेक्ट की परिभाषा.

KML गड़बड़ियां

KML की सामान्य गड़बड़ियों में ये शामिल हैं:

  • डेटा फ़ाइल में ऊपर दी गई कोई भी ऐसी KML सुविधा नहीं होनी चाहिए जो काम न करती हो. अगर ऐसा नहीं होता है, तो तो हो सकता है कि डेटा इंपोर्ट न हो पाए.

CSV फ़ाइल में गड़बड़ियां

CSV फ़ाइल में आम तौर पर होने वाली गड़बड़ियां:

  • ज्यामिति कॉलम की कुछ पंक्तियों में वैल्यू नहीं हैं. CSV फ़ाइल की सभी पंक्तियों में ज्यामिति कॉलम के लिए गैर-खाली मान. ज्यामिति कॉलम में ये शामिल हैं:
    • latitude, longitude
    • lat, long
    • x, y
    • wkt
    • address, city, state, zip
    • address
    • पते की सारी जानकारी वाला एक कॉलम, जैसे कि 1600 Amphitheatre Parkway Mountain View, CA 94043
  • अगर x और y आपके ज्यामिति कॉलम हैं, तो पक्का करें कि इकाइयां देशांतर और अक्षांश. कुछ सार्वजनिक डेटासेट, हेडर के नीचे अलग-अलग निर्देशांक सिस्टम का इस्तेमाल करते हैं x और y. गलत इकाइयों का इस्तेमाल करने पर, डेटासेट इंपोर्ट हो सकता है लेकिन रेंडर किया गया डेटा, ऐसी जगहों पर डेटासेट पॉइंट दिखा सकता है जहां इसकी उम्मीद नहीं थी.

डेटासेट बनाना

यहां POST अनुरोध भेजकर, डेटासेट बनाएं datasets एंडपॉइंट:

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

JSON का मुख्य हिस्सा पास करें डेटासेट तय करने वाले अनुरोध पर. इसलिए, आपको ये करने होंगे:

  • डेटासेट के displayName के बारे में बताएं. displayName का मान ऐसा होना चाहिए हर डेटासेट के लिए अलग होना चाहिए.

  • usage को USAGE_DATA_DRIVEN_STYLING पर सेट करें.

उदाहरण के लिए:

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

जवाब के तौर पर डेटासेट का आईडी, फ़ॉर्म में होता है projects/PROJECT_NUMBER_OR_ID/datasets/DATASET_ID साथ ही ज़्यादा जानकारी मिलेगी. को अनुरोध करते समय डेटासेट आईडी का इस्तेमाल करें डेटासेट को अपडेट या उसमें बदलाव करना.

{
  "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" 
}

डेटासेट में डेटा अपलोड करना

डेटासेट बनाने के बाद, Google Cloud Storage या लोकल फ़ाइल से डेटासेट में भेजा जा सकता है.

Cloud Storage से डेटा अपलोड करना

Cloud Storage से अपने डेटासेट में अपलोड किया जा सकता है. इसके लिए, आपकोPOST datasets एंडपॉइंट भी मिला इसमें डेटासेट का आईडी शामिल होता है:

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

JSON के अनुरोध के मुख्य हिस्से में:

  • डेटा वाले संसाधन का फ़ाइल पाथ बताने के लिए, inputUri का इस्तेमाल करें Cloud Storage में. यह पथ इस रूप में है gs://GCS_BUCKET/FILE.

    अनुरोध करने वाले उपयोगकर्ता को स्टोरेज ऑब्जेक्ट की ज़रूरत होती है दर्शक या कोई अन्य भूमिका जिसमें storage.objects.get की अनुमति शामिल हो. इसके लिए Cloud Storage का ऐक्सेस मैनेज करने के बारे में ज़्यादा जानकारी के लिए, ऐक्सेस कंट्रोल के बारे में खास जानकारी.

  • fileFormat का इस्तेमाल करके, डेटा के फ़ाइल फ़ॉर्मैट को इनमें से किसी एक के तौर पर तय करें: FILE_FORMAT_GEOJSON (GeoJson फ़ाइल), FILE_FORMAT_KML (KML फ़ाइल) या FILE_FORMAT_CSV (CSV फ़ाइल).

उदाहरण के लिए:

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

जवाब इस फ़ॉर्म में है:

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

फ़ाइल में मौजूद डेटा अपलोड करना

किसी फ़ाइल से डेटा अपलोड करने के लिए, POST datasets एंडपॉइंट भी मिला डेटासेट का आईडी शामिल होता है::

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

अनुरोध में ये चीज़ें शामिल हैं:

  • Goog-Upload-Protocol हेडर को multipart पर सेट किया गया है.

  • metadata प्रॉपर्टी, उस फ़ाइल का पाथ तय करती है जो अपलोड करने के लिए, डेटा का टाइप: FILE_FORMAT_GEOJSON (GeoJSON फ़ाइल), FILE_FORMAT_KML (KML फ़ाइल) या FILE_FORMAT_CSV (CSV फ़ाइल).

    इस फ़ाइल की सामग्री का फ़ॉर्मैट नीचे दिया गया है:

    {"local_file_source": {"file_format": "FILE_FORMAT_GEOJSON"}}
  • rawdata प्रॉपर्टी, जिसमें GeoJSON, KML या CSV फ़ाइल का पाथ बताया जा रहा हो जिसमें अपलोड किया जाने वाला डेटा मौजूद हो.

नीचे दिया गया अनुरोध curl -F विकल्प का इस्तेमाल करके, दोनों का पाथ बताता है फ़ाइलें:

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

जवाब इस फ़ॉर्म में है:

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

डेटासेट में नया डेटा अपलोड करना

डेटासेट बनाने और शुरुआती डेटा को अपलोड करने के बाद, डेटासेट को STATE_COMPLETED पर सेट किया गया है. इसका मतलब है कि डेटासेट तैयार है अपने ऐप्लिकेशन में इस्तेमाल करें. डेटासेट के state का पता लगाने के लिए, डेटासेट.

आप डेटासेट का नया डेटा भी अपलोड कर सकते हैं, ताकि डेटासेट. नया डेटा अपलोड करने के लिए, उसी प्रोसेस का इस्तेमाल करें जिसका इस्तेमाल आपने डेटा अपलोड करने के लिए किया था Cloud Storage से या किसी फ़ाइल से डेटा अपलोड करना, तो और अपलोड करने के लिए नया डेटा तय करें.

अगर नया डेटा अपलोड हो जाता है, तो:

  • डेटासेट के नए वर्शन की स्थिति, STATE_COMPLETED पर सेट है.

  • नया वर्शन "चालू" हो जाता है वर्शन है और वही वर्शन है जिसका इस्तेमाल आपकी है.

अगर अपलोड में कोई गड़बड़ी है, तो:

  • डेटासेट के नए वर्शन की स्थिति, इनमें से किसी एक स्थिति पर सेट है:

    • STATE_IMPORT_FAILED
    • STATE_PROCESSING_FAILED
    • STATE_PUBLISHING_FAILED
    • STATE_DELETION_FAILED
  • डेटासेट के पिछले वर्शन को "चालू है" के तौर पर ही प्रोसेस किया गया है वर्शन है और आपके ऐप्लिकेशन में इस्तेमाल किया गया वर्शन.