डेटासेट बनाने की प्रोसेस दो चरणों में होती है:
डेटासेट बनाने के लिए अनुरोध करें.
डेटासेट में डेटा अपलोड करने के लिए अनुरोध करें.
शुरुआती डेटा अपलोड करने के बाद, डेटासेट में नया डेटा अपलोड किया जा सकता है, ताकि डेटासेट का एक नया वर्शन है.
ज़रूरी शर्तें
डेटासेट बनाते समय:
- आपके Google Cloud प्रोजेक्ट के डिसप्ले नेम यूनीक होने चाहि��.
- डिसप्ले नेम का साइज़ 64 बाइट से कम होना चाहिए, क्योंकि ये वर्ण UTF-8 में दिखाए जाते हैं, कुछ भाषाओं में, हर वर्ण को कई बाइट से दिखाया जा सकता है).
- जानकारी 1000 बाइट से कम होनी चाहिए.
डेटा अपलोड करते समय:
- CSV, GeoJSON, और KML फ़ाइल टाइप का इस्तेमाल किया जा सकता है.
- फ़ाइल का साइज़ 350 एमबी से ज़्यादा नहीं होना चाहिए.
- विशेषता कॉलम के नाम स्ट्रिंग "?_" से शुरू नहीं हो सकते.
- 3-डाइमेंशन वाली ज्यामितियां काम नहीं करतीं. इसमें "Z" शामिल है WKT फ़ॉर्मैट में सफ़िक्स है, और GeoJSON फ़ॉर्मैट में ऊंचाई कोऑर्डिनेट सबमिट किए जा सकते हैं.
डेटा तैयार करने के सबसे सही तरीके
अगर आपका सोर्स डेटा जटिल या बड़ा है, जैसे कि सघन बिंदु, लंबी लाइनस्ट्रिंग या पॉलीगॉन (अक्सर 50 एमबी से बड़ी सोर्स फ़ाइल इस कैटगरी में ������ है), ��स��िए ������े ��ेटा ��ो आसान बनाने के बारे में सोचें अपलोड करने से पहले, ताकि विज़ुअल मैप में सबसे अच्छी परफ़ॉर्मेंस मिल सके.
यहां अपना डेटा तैयार करने के कुछ सबसे सही तरीके बताए गए हैं:
- सुविधा की प्रॉपर्टी को छोटा करना. स्टाइल के लिए ज़रूरी सुविधा प्रॉपर्टी ही रखें आपका मैप, उदाहरण के लिए "id" और "कैटगरी" चुनें. क्लाइंट की एक सुविधा में दूसरी प्रॉपर्टी भी जोड़ी जा सकती हैं किसी यूनीक आइडेंटिफ़ायर कुंजी पर डेटा-ड्रिवन स्टाइल का इस्तेमाल करने वाला ऐप्लिकेशन. उदाहरण के लिए, देखें डेटा-ड्रिवन स्टाइल की मदद से, रीयल टाइम में अपना डेटा देखना.
- जहां संभव हो, प्रॉपर्टी ऑब्जेक्ट के लिए आसान डेटा टाइप इस्तेमाल करें, जैसे कि पूर्णांक, टाइल के साइज़ को कम करने और मैप की परफ़ॉर्मेंस को बेहतर बनाने के लिए.
- फ़ाइल अपलोड करने से पहले जटिल ज्यामितियां आसान बनाएं. इसकी मदद से, अपनी पसंद का जियोस्पेशियल टूल, जैसे कि ओपन सोर्स Mapshaper.org सुविधा या BigQuery में ST_Simplify जटिल पॉलीगॉन ज्यामितियों पर.
- फ़ाइल अपलोड करने से पहले बहुत सघन बिंदु. इसकी मदद से, अपनी पसंद का जियोस्पेशियल टूल, जैसे कि ओपन सोर्स 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 की ज़रूरी शर्तें:
- सभी यूआरएल, फ़ाइल से जुड़े हुए (या मिलते-जुलते) होने चाहिए.
- पॉइंट, लाइन, और पॉलीगॉन की ज्यामितियां इस्तेमाल की जा सकती हैं.
- डेटा के सभी एट्रिब्यूट को स्ट्रिंग माना जाता है.
- फ़ाइल के बाहर तय किए गए आइकॉन या
<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
डेटासेट के पिछले वर्शन को "चालू है" के तौर पर ही प्रोसेस किया गया है वर्शन है और आपके ऐप्लिकेशन में इस्तेमाल किया गया वर्शन.