52 KiB
ಜಿಯೋಫೆನ್ಸಸ್
ಸ್ಕೆಚ್ನೋಟನ್ನು ನಿತ್ಯ ನರಸಿಂಹನ್ ರಚಿಸಿದ್ದಾರೆ. ದೊಡ್ಡ ಆಕರದಿಗಾಗಿ ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ.
ಈ ವೀಡಿಯೊವು ಜಿಯೋಫೆನ್ಸಸ್ಗಳ ಮತ್ತು ಅವುಗಳನ್ನು ಅಜೂರ್ ನಕ್ಷೆಗಳಲ್ಲಿ ಹೇಗೆ ಬಳಸಬೇಕೆಂಬುದರ ಅಳವಡಿಕೆಯನ್ನು ನೀಡುತ್ತದೆ, ಈ ಪಾಠದಲ್ಲಿ ಈ ವಿಷಯಗಳನ್ನು ಒಳಗೊಂಡಿದೆ:
🎥 ವೀಡಿಯೊವನ್ನು ನೋಡುವುದಕ್ಕೆ ಮೇಲಿನ ಚಿತ್ರವನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ
ಪೂರ್ವ-ಪಾಠ ಪ್ರಶ್ನೋತ್ತರ
ಪರಿಚಯ
ಕೆಳಗಿನ 3 ಪಾಠಗಳಲ್ಲಿ ನೀವು ನಿಮ್ಮ ಕೃಷಿಯಿಂದ ಪ್ರೊಸೆಸಿಂಗ್ ಹಬ್ಗು ಹೋಗುವ ಟ್ರಕ್ಗಳನ್ನು ಹುಡುಕಲು IoT ಅನ್ನು ಬಳಸಿದ್ದೀರಿ. ನೀವು GPS ದತ್ತಾಂಶವನ್ನು ಸೆರೆಹಿಡಿದು, ಅದನ್ನು ಕ್ಲೌಡ್ಗೆ ಕಳುಹಿಸಿ ಸಂಗ್ರಹಿಸಿದ್ದೀರಿ ಮತ್ತು ಅದನ್ನು ನಕ್ಷೆ ಮೇಲೆ ಪ್ರದರ್ಶಿಸಿದ್ದೀರಿ. ನಿಮ್ಮ ಸರಬರಾಜು ಸರಣಿಯ ಕಾರ್ಯಕ್ಷಮತೆಗೆ ಹೆಚ್ಚುವರಿ ನೀಡಲು ಮುಂದಿನ ಹಂತವೆಂದರೆ, ಟ್ರಕ್ ಪ್ರೊಸೆಸಿಂಗ್ ಹಬ್ಗೆ ಬಂದಾಗ ರಸ್ತೆ ಸಿಬ್ಬಂದಿಗೆ ಫೋರ್ಕ್ಲಿಫ್ಟ್ಗಳು ಮತ್ತು ಇತರೆ ಉಪಕರಣಗಳೊಂದಿಗೆ ಲೋಡ್ ಅನ್ಲೋಡ್ ಮಾಡಲು ಸಿದ್ಧರಾಗುವಂತೆ ಸಂದೇಶವನ್ನು ಪಡೆಯುವುದು. ಇದರಿಂದ ಟ್ರಕ್ ಮತ್ತು ಚಾಲಕ ಕಾಯುವ ಅವಧಿಯನ್ನು ಕಡಿಮೆ ಮಾಡಬಹುದು.
ಈ ಪಾಠದಲ್ಲಿ ನೀವು ಜಿಯೋಫೆನ್ಸಸ್ ಬಗ್ಗೆ ಕಲಿಯುತ್ತೀರಿ - ಪ್ರೊಸೆಸಿಂಗ್ ಹಬ್ನಿಂದ 2 ಕಿಲೋಮೀಟರ್ ಚಾಲನೆಯೊಳಗಿನ ಪ್ರದೇಶಗಳಂತಹ ನಿರ್ದಿಷ್ಟ ಭೌಗೋಳಿಕ ಪ್ರದೇಶಗಳ ಬಗ್ಗೆ, ಮತ್ತು GPS ಸಂಯೋಜನೆಗಳು ಜಿಯೋಫೆನ್ಸ್ ಒಳಗಿದೆಯೋ ಹೊರಗಿದೆಯೋ ಎಂದು ಪರೀಕ್ಷಿಸುವದಕ್ಕಾಗಿ, ನಿಮ್ಮ GPS ಸಂವೇದಕವು ಒಂದು ಪ್ರದೇಶಕ್ಕೆ ಬಂದುಹೋದರೆ ಅಥವಾ ಹೊರಟರೆ ನೋಡಬಹುದು.
ಈ ಪಾಠದಲ್ಲಿ ನಾವು ಸಂವರ್ತಿಸುತ್ತೇವೆ:
- ಜಿಯೋಫೆನ್ಸಸ್ ಎಂದರೆ 무엇?
- ಜಿಯೋಫೆನ್ಸ್ ವಿಭಜನೆ
- ಜಿಯೋಫೆನ್ಸ್ ವಿರುದ್ಧ ಬಿಂದುಗಳ ಪರೀಕ್ಷೆ
- ಸರ್ವರ್ಲೆಸ್ ಕೋಡ್ನಿಂದ ಜಿಯೋಫೆನ್ಸ್ ಬಳಸುವಿಕೆ
🗑 ಈ ಯೋಜನೆಯ ಕೊನೆಯ ಪಾಠ ಇದು, ಆದ್ದರಿಂದ ಪಾಠ ಮತ್ತು ನಿಯೋಜನೆಯನ್ನು ಮುಗಿಸಿದ ಮೇಲೆ, ನಿಮ್ಮ ಕ್ಲೌಡ್ ಸೇವೆಗಳ ಸ್ವಚ್ಛತೆಯನ್ನು ಮಾಡೋದು ಮರೆಯಬೇಡಿ. ನೀವು ನಿಯೋಜನೆ ಪೂರ್ಣಗೊಳಿಸಲು ಸೇವೆಗಳು ಬೇಕಾಗಬಹುದು, ಆದ್ದರಿಂದ ಮೊದಲು ನಿಯೋಜನೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸಿ.
ಬೇಕಾದಲ್ಲಿ ಯೋಜನೆಯ ಸ್ವಚ್ಛತಾ ಮಾರ್ಗದರ್ಶಿ ಅನ್ನು ನೋಡಿ.
ಜಿಯೋಫೆನ್ಸಸ್ ಎಂದರೆ ಏನು
ಜಿಯೋಫೆನ್ಸ್ ಎಂದರೆ ನಿಜಜೀವಿತ ಭೂಗೋಳಿಕಾ ಪ್ರದೇಶಕ್ಕೆ ಆಧಾರಿತ ಸಂವರ್ಧಿತ ಗಡಿಯಾರ. ಜಿಯೋಫೆನ್ಸಸ್ ವೃತ್ತಾಕಾರದಾಗಿ, ಒಂದು ಬಿಂದುವಿನ ಸುತ್ತಲೂ ನಿರ್ದಿಷ್ಟ ಅರೆಧ (ಉದಾಹರಣೆಗೆ ಕಟ್ಟಡ ಸುತ್ತ 100 ಮೀಟರ್ ವ್ಯಾಸದ ವೃತ್ತ), ಅಥವಾ ಶಾಲಾ ಭೂಮಿ, ನಗರ ಮಿತಿಗಳು ಅಥವಾ ವಿಶ್ವವಿದ್ಯಾಲಯ ಅಥವಾ ಕಚೇರಿ ಕ್ಯಾಂಪಸ್ ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವ ಬಹುಭುಜವೂ ಆಗಿರಬಹುದು.
💁 ನೀವು ಜಿಯೋಫೆನ್ಸಸ್ ಬಳಕೆ ಮಾಡಿರುವಿರಬಹುದು ಆದರೆ ತಿಳಿದಿರಲಾರಿರಿ. ನೀವು iOS ರಿಮೈಂಡರ್ ಆಪ್ ಅಥವಾ Google Keep ನಲ್ಲಿ ಸ್ಥಳಾಧಾರಿತ ಸ್ಮೃತಿ ಮಾಡಿದ್ದರೆ, ನೀವು ಜಿಯೋಫೆನ್ಸ್ ಬಳಸಿದ್ದೀರಾ. ಈ ಆಪ್ಸ್ ಸ್ಥಳಾಧಾರಿತ ಜಿಯೋಫೆನ್ಸಸ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿ, ನಿಮ್ಮ ಫೋನ್ ಜಿಯೋಫೆನ್ಸ್ಗೆ ಬಂದಾಗ ನಿಮಗೆ ಸೂಚನೆ ನೀಡುತ್ತದೆ.
ಜಾಹೀರಾತಿನ ಕೆಲ ಕಾರಣಗಳು ಏನೆಂದರೆ:
- ಲೋಡ್ ಅನ್ಲೋಡ್ ಸಿದ್ಧತೆ - ವಾಹನ ಸ್ಥಳಕ್ಕೆ ಬಂದಾಗ ಸೂಚನೆ ಪಡೆಯುವ ಮೂಲಕ ಸಿಬ್ಬಂದಿ ತಕ್ಷಣ ಲೋಡಿಂಗ್ಗೆ ಸಿದ್ಧರಾಗುತ್ತಾರೆ, ವಾಹನದ ಕಾಯುವ ಅವಧಿಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಇದರಿಂದ ಚಾಲಕನು ದಿನದಲ್ಲಿ ಹೆಚ್ಚು ವಿತರಣೆಯನ್ನೂ ಮಾಡಬಹುದು.
- ತೆರಿಗೆ ಅನುಸರಣೆ - ಕೆಲವು ದೇಶಗಳು, ನ್ಯೂಜಿಲೆಂಡ್ ಮುಂತಾದವು, ಡೀಸೆಲ್ ವಾಹನಗಳಿಗೆ ಸಾರ್ವಜನಿಕ ರಸ್ತೆಗಳಲ್ಲಿ ಮಾತ್ರ ವಾಹನ ಬಹುದೂಗಿನ ಆಧಾರದ ಮೇಲೆ ರಸ್ತೆ ತೆರಿಗೆಯನ್ನು ವಿಧಿಸುತ್ತವೆ. ಜಿಯೋಫೆನ್ಸಸ್ ಬಳಸುವ ಮೂಲಕ ಸಾರ್ವಜನಿಕ ರಸ್ತೆಗಳಲ್ಲಿ ಚಲಿಸುವ ಮೈಲೇಜ್ ಅನ್ನು ಟ್ರಾಕ್ ಮಾಡಬಹುದು.
- ಕಳವು ಮೇಲ್ವಿಚಾರಣೆ - ಒಂದು ವಾಹನವು ಒಂದು ನಿರ್ದಿಷ್ಟ ವಲಯದಲ್ಲಿ ಮಾತ್ರ ಇರಬೇಕು, ಉದಾಹರಣೆಗೆ ಒಂದು ಕೃಷಿ ಜಾಗದಲ್ಲಿ, ಆ ವಲಯದಿಂದ ಹೊರಗೆ ಹೋದರೆ ಅದು ಕಳವು ಆಗಿರಬಹುದು.
- ಸ್ಥಳ ಅನುಸರಣೆ - ಕೆಲಸದ ಜಾಗ, ಕೃಷಿ ಅಥವಾ ಕಾರ್ಖಾನೆಗಳಲ್ಲಿ ಕೆಲವು ಭಾಗಗಳು ನಿರ್ದಿಷ್ಟ ವಾಹನಗಳಿಗೆ ನಿಷಿದ್ಧವಾಗಿರಬಹುದು, ಉದಾಹರಣೆಗೆ ಕೃತಕ ರಾಸಾಯನಿಕಗಳು ಮತ್ತು ಫೆಟಿಸೈಡ್ಗಳು ಕರೆತರುವುದು ಕರಾಳ. ಜಿಯೋಫೆನ್ಸ್ ಪ್ರವೇಶಿಸಿದಾಗ, ವಾಹನ ನಿಯಮ ಉಲ್ಲಂಘನೆಯಲ್ಲದೆ ಬಾಹ್ಯವಾಗಿರುತ್ತದೆ, ಚಾಲಕನಿಗೆ ಸೂಚನೆ ನೀಡಬಹುದು.
✅ ನೀವು ಜಿಯೋಫೆನ್ಸಸ್ಗೆ ಮತ್ತಾವು ಉಪಯೋಗಗಳನ್ನು ಕಲ್ಪಿಸಬಹುದೇ?
ನೀವು ಮುಂಚಿನ ಪಾಠದಲ್ಲಿ GPS ದತ್ತಾಂಶವನ್ನು ಪ್ರದರ್ಶಿಸಲು ಬಳಸಿದ ಆ್ಯಜೂರ್ ನಕ್ಷೆಗಳು, ಜಿಯೋಫೆನ್ಸಸ್ ನಿರ್ಡಿಷ್ಟ ಮಾಡಲು ಮತ್ತು ಜಿಯೋಫೆನ್ಸಿನೊಳಗೆ ಅಸ್ತಿತ್ವವಿದೆಯೋ ಇಲ್ಲವೋ ಎಂದು ಪರೀಕ್ಷಿಸಲು ಅವಕಾಶ ನೀಡುತ್ತದೆ.
ಜಿಯೋಫೆನ್ಸ್ ನಿರ್ದಿಷ್ಟ ಮಾಡುವುದು
ಜಿಯೋಫೆನ್ಸಸ್ ನಿರ್ಮಾಣಕ್ಕೆ GeoJSON ಅನ್ನು ಬಳಸದಂತೆ ಕ್ರಮವಾಗುತ್ತದೆ, ಇದು ಮುಂಚಿನ ಪಾಠದಲ್ಲಿ ನಕ್ಷೆಗಾಗಿ ಸೇರಿಸಿದ ಬಿಂದುಗಳಂತೆ. ಆದರೆ ಇದರಲ್ಲಿ Point ಬದಲು Polygon ಇರುವ FeatureCollection ಆಗಿರುತ್ತದೆ.
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
-122.13393688201903,
47.63829579223815
],
[
-122.13389128446579,
47.63782047131512
],
[
-122.13240802288054,
47.63783312249837
],
[
-122.13238388299942,
47.63829037035086
],
[
-122.13393688201903,
47.63829579223815
]
]
]
},
"properties": {
"geometryId": "1"
}
}
]
}
ಬಹುಭುಜದ ಪ್ರತಿಯೊಂದು ಬಿಂದುವನ್ನೂ ಲಂಬಾರ್ಹತೆ ಮತ್ತು ಅಕ್ಷಾಂಶ ಜೋಡಿಯಾಗಿ ಒಂದು ಸುತ್ತಿನ ಅರೆಗೆ ಪೂರೈಸಲಾಗಿದೆ, ಮತ್ತು ಈ ಕನಿಷ್ಟಾಂಶಗಳು ಒಂದು ಅರೆನಲ್ಲಿ coordinates ಎಂದು ಸೆಟ್ಅಗಿರುತ್ತವೆ. ಮುಂಚಿನ ಪಾಠದಲ್ಲಿ ಒಂದು Point ನಲ್ಲಿ coordinates ಅರೆ ಎರಡು ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿತ್ತು — ಅಕ್ಷಾಂಶ ಮತ್ತು ಲಂಬಾರ್ಹತೆ. ಬಹುಭುಜಕ್ಕೆ coordinates ಅರೆಗಳ ಅರೆ, ಎರಡು ಮೌಲ್ಯಗಳ ಜೋಡಿಯೊಂದಿಗೆ ಲಂಬಾರ್ಹತೆ, ಅಕ್ಷಾಂಶ.
💁 ಗಮನಿಸಿ, GeoJSONನಲ್ಲಿ ಬಿಂದುಗಳಿಗಾಗಿ
longitude, latitudeಬಳಸದಂತೆlatitude, longitudeಅಲ್ಲ
ಬಹುಭುಜದ ಅರೆ ಯಾವಾಗಲೂ ಬಹುಭುಜದ ಬಿಂದುಗಳ ಸಂಖ್ಯೆಯಿಂದ 1 ಹೆಚ್ಚಾಗಿರುತ್ತದೆ, ಕೊನೆಯ ಬುಂದೂ ಮೊದಲ ಬುಂದಿನೇ ಆಗಿರುತ್ತದೆ, ಬಹುಭುಜವನ್ನು ಮುಚ್ಚುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಚತುರ್ಭುಜಕ್ಕೆ 5 ಬುಂದುವಿನೇ ಇರುತ್ತದೆ.
ಮೇಲಿನ ಚಿತ್ರದಲ್ಲಿ, ಒಂದು ಚತುರ್ಭುಜ ಇದೆ. ಬಹುಭುಜ ಅಂಕಿಗಳು ಮೇಲ್ವಲಯದಲ್ಲಿ 47,-122 ರಿಂದ ಪ್ರಾರಂಭಿಸಿ, ಬಲಗೆ 47,-121 ಗೆ ಹೋಗುತ್ತದೆ, ನಂತರ ಕೆಳಗೆ 46,-121 ಗೆ, ಮತ್ತೆ ಬಲಕ್ಕೆ 46,-122 ಗೆ, ಮತ್ತು ಮೇಲಿನ ಆರಂಭದ ಬಿಂದುವಿಗೆ 47,-122 ಗೆ ಹಿಂತಿರುಗುತ್ತದೆ. ಇದರಿಂದ 5 ಬಿಂದುಗಳು ಆಗುತ್ತವೆ - ಮೇಲ್ವಲಯ, ಮೇಲ್ಪಕ್ಕ, ಕೆಳ್ಭಾಗ ಪಕ್ಕ, ಕೆಳ್ವಲಯ, ಮತ್ತೆ ಮೇಲ್ವಲಯ ಮುಚ್ಚಲು.
✅ ನಿಮ್ಮ ಮನೆಯ ಅಥವಾ ಶಾಲೆಯ ಸುತ್ತ GeoJSON ಬಹುಭುಜವನ್ನು ಸೃಷ್ಟಿಸುವ ಪ್ರಯತ್ನ ಮಾಡಿ. GeoJSON.io [https://geojson.io/] ಮುಂತಾದ ಉಪಕರಣ ಬಳಸಿ.
ಕಾರ್ಯ - ಜಿಯೋಫೆನ್ಸ್ ನಿರ್ದಿಷ್ಟಮಾಡುವುದು
ಆಜೂರ್ ನಕ್ಷೆಗಳಲ್ಲಿ ಜಿಯೋಫೆನ್ಸ್ ಬಳಸಲು, ಮೊದಲು ಅದನ್ನು ನಿಮ್ಮ ಆಜೂರ್ ನಕ್ಷೆ ಖಾತೆಗೆ ಅಪ್ಲೋಡ್ ಮಾಡಬೇಕು. ಅಪ್ಲೋಡ್ ಆದ ನಂತರ ನೀವು ಜಿಯೋಫೆನ್ಸ್ಗೆ ಬಿಂದು ಪರೀಕ್ಷಿಸಲು ಬಳಸಬಹುದಾದ ವಿಶಿಷ್ಟ ID ಪಡೆಯುತ್ತೀರಿ. ಜಿಯೋಫೆನ್ಸಸ್ ಅನ್ನು ಆಜೂರ್ ನಕ್ಷೆಗಳಿಗೆ ಅಪ್ಲೋಡ್ ಮಾಡಲು ನಕ್ಷೆಗಳ ವೆಬ್ API ಬಳಕೆ ಮಾಡಬೇಕು. ನೀವು ಇದು ಕಮಾಂಡ್ಲೈನ್ ಉಪಕರಣ curl ಬಳಸಿ ಕರೆಯಬಹುದು.
🎓 Curl ಎನ್ನುವುದು ವೆಬ್ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳಿಗೆ ವಿನಂತಿ ಕಳುಹಿಸುವ ಕಮಾಂಡ್ ಲೈನ್ ಉಪಕರಣ
-
ನೀವು ಲಿನಕ್ಸ್ನಲ್ಲಿ, macOS ಅಥವಾ ಇತ್ತೀಚಿನ ವಿಂಡೋಸ್ 10 ಆವೃತ್ತಿಗಳನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ, ಬಹುಶಃ ಈಗಾಗಲೇ curl ಇನ್ಸ್ಟಾಲ್ ಆಗಿದೆ. ಪರಿಶೀಲಿಸಲು ನಿಮ್ಮ ಟರ್ಮಿನಲ್ ಅಥವಾ ಕಮಾಂಡ್ ಲೈನ್ನಲ್ಲಿ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಚಾಲನೆಮಾಡಿ:
curl --versionನೀವು curl ಆವೃತ್ತಿ ಮಾಹಿತಿಯನ್ನು ಕಾಣದಿದ್ದರೆ, ನೀವು ಜೋಡಿಸುವ ಅಗತ್ಯವಿದೆ, ಅದಕ್ಕಾಗಿ curl ಡೌನ್ಲೋಡ್ ಪುಟ ಬಳಸಿ.
💁 ನೀವು Postman ಬಳಕೆದಾರರಾದರೆ, ಬದಲಾಗಿ ಅದನ್ನು ಬಳಸಬಹುದು.
-
ಬಹುಭುಜವನ್ನು ಒಳಗೊಂಡ GeoJSON ಫೈಲ್ ಸೃಷ್ಟಿಸಿ. ನೀವು GPS ಸಂವೇದಕ ಬಳಸಿ ಈ ಪರೀಕ್ಷೆಯನ್ನು ಮಾಡುತ್ತೀರಿ, ಆದ್ದರಿಂದ ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಸ್ಥಳ ಸುತ್ತ ಬಹುಭುಜ ಸೃಷ್ಟಿಸಿ. ನೀವು ಇದನ್ನು ಕೈಯಿಂದ GeoJSON ಉದಾಹರಣೆ ಸಂಪಾದಿಸಿ ಮಾಡಬಹುದೆ, ಅಥವಾ GeoJSON.io ಉಪಕರಣ ಬಳಸಿ.
GeoJSON ನಲ್ಲಿ
FeatureCollection, ಅದರೊಳಗೆFeatureಮತ್ತು ಅದರgeometryಪಟ್ಟಿಯಲ್ಲಿPolygonಇರುತ್ತದೆ.ನೀವು ಕಡ್ಡಾಯವಾಗಿ
geometryಎಲೆಮೆಂಟ್ ಜೊತೆಗೆ ಅದೇ ಮಟ್ಟದಲ್ಲಿpropertiesಕಡತ ಸೇರಿಸಬೇಕು, ಇದರೊಳಗೆ ಕಡ್ಡಾಯವಾಗಿgeometryIdಇರಬೇಕು:"properties": { "geometryId": "1" }ನೀವು GeoJSON.io ಬಳಸಿದರೆ, ಈ ವಿಷಯವನ್ನು
propertiesನಲ್ಲಿ ಖಾಲಿ ಇದ್ದಲ್ಲಿಗೆ ಕೈಯಿಂದ ಸೇರಿಸಬೇಕು, ಅಥವಾ ಜಿಎಸ್ಎನ್ ಡೌನ್ಲೋಡ್ ನಂತರ ಅಥವಾ ಆಪ್ JSON ಸಂಪಾದಕದಲ್ಲಿ ಸೇರಿಸಬಹುದು.ಈ
geometryIdಈ ಫೈಲ್ನಲ್ಲಿ ವಿಶಿಷ್ಟವಾಗಿರಬೇಕು. ನೀವು ಒಂದೆ GeoJSON ಫೈಲ್ನಲ್ಲಿ ಬಹುಬೇಗ ಜಿಯೋಫೆನ್ಸಸ್ ಅನ್ನು ಹಲವಾರುFeaturesಮೂಲಕ ಅಪ್ಲೋಡ್ ಮಾಡಬಹುದು, ಪ್ರತಿಯೊಂದಕ್ಕೂ ವಿಭಿನ್ನgeometryIdಇರಬೇಕು. ಬಹುಭುಜಗಳು ವಿಭಿನ್ನ ಫೈಲ್ನಲ್ಲಿ ವಿವಿಧ ಸಮಯದಲ್ಲಿ ಅಪ್ಲೋಡ್ ಆಗಿದ್ರೆgeometryIdಸೀಮಿತವಾಗಿರುತ್ತವೆ. -
ಈ ಫೈಲನ್ನು
geofence.jsonಎಂಬಂತೆ ಉಳಿಸಿ, ಮತ್ತು ಟರ್ಮಿನಲಲ್ಲಿ ಅಥವಾ ಕಮಾಂಡ್ ಕಾನ್ಸೋಲ್ನಲ್ಲಿ ಅದಕ್ಕೆ ನೆವೀಗೆಟ್ ಮಾಡಿ. -
ಕೆಳಗಿನ curl ಆಜ್ಞೆಯನ್ನು ಚಾಲನೆ ಮಾಡಿ ಜಿಯೋಫೆನ್ಸ್ ಸೃಷ್ಟಿಸಲು:
curl --request POST 'https://atlas.microsoft.com/mapData/upload?api-version=1.0&dataFormat=geojson&subscription-key=<subscription_key>' \ --header 'Content-Type: application/json' \ --include \ --data @geofence.jsonURLನಲ್ಲಿ
<subscription_key>ಅನ್ನು ನಿಮ್ಮ ಆಜೂರ್ ನಕ್ಷೆಗಳು ಖಾತೆಯ API ಕಿಯೊಂದಿಗೆ ಬದಲಾಯಿಸಿ.URL
https://atlas.microsoft.com/mapData/uploadAPI ಮೂಲಕ ನಕ್ಷೆ ಡೇಟಾವನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ. ಕರೆ API ಆವೃತ್ತಿ ಸೂಚಿಸಲುapi-versionಪರಿಮಾಣವನ್ನು ಒಳಗೊಂಡಿದೆ. ಅಪ್ಲೋಡ್ ಡೇಟಾ ಸ್ವರೂಪgeojsonಆಗಿದೆ.ಇದರಿಂದ POST ಕೇಳುವಿಕೆ API ಗೆ ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆಯಲ್ಲಿ
locationಹೆಸರಿನ ಹೆಡರ್ೊಂದಿಗೆ ಸರಣಿ ಹೆಡರ್ ಗಳನ್ನು ನೀಡುತ್ತದೆ.content-type: application/json location: https://us.atlas.microsoft.com/mapData/operations/1560ced6-3a80-46f2-84b2-5b1531820eab?api-version=1.0 x-ms-azuremaps-region: West US 2 x-content-type-options: nosniff strict-transport-security: max-age=31536000; includeSubDomains x-cache: CONFIG_NOCACHE date: Sat, 22 May 2021 21:34:57 GMT content-length: 0🎓 ವೆಬ್ ಎಂಡ್ಪಾಯಿಂಟ್ ಕರೆಮಾಡುವಾಗ, ಕೀ-ಮೌಲ್ಯ ಜೋಡಿ ಲಿಖಿಸಲು
?ನಂತರkey=valueಸೇರಿಸಿ ಮತ್ತು ಅವುಗಳನ್ನು&ಮೂಲಕ ವಿಭಜಿಸಿ. -
ಆಜೂರ್ ನಕ್ಷೆಗಳು ಇದನ್ನು ತಕ್ಷಣ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಅಪ್ಲೋಡ್ ಕೇಳುವಿಕೆ ಮುಗಿದಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲು
locationಹೆಡರ್ ಬರೆದ URL ಗೆ GET ವಿನಂತಿ ಮಾಡಿ. ನೀವುlocationURL ನ ಕೊನೆಯಲ್ಲಿ ನಿಮ್ಮ ಸಬ್ಸ್ಕ್ರಿಪ್ಷನ್ ಕೀ ಸೇರ್ಪಡೆ ಮಾಡಬೇಕು, ಉದಾ:&subscription-key=<subscription_key>. ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿ:curl --request GET '<location>&subscription-key=<subscription_key>'<location>ಅನ್ನುlocationಹೆಡರ್ ಮೌಲ್ಯದಿಂದ ಮತ್ತು<subscription_key>ಅನ್ನು ಆಜೂರ್ ನಕ್ಷೆಗಳ API ಕೀದಿಂದ ಬದಲಿಸಿ. -
ಪ್ರತಿಕ್ರಿಯಾದ
statusಮೌಲ್ಯವನ್ನು ಪರಿಶೀಲಿಸಿ. ಇದುSucceededಅಲ್ಲದಿದ್ದರೆ, ಒಂದು ನಿಮಿಷ ಕಾಯಿರಿ ಮತ್ತು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ. -
Succeededನೂತನ ಸ್ಥಿತಿಯವತ್ತು ಬಂದಾಗ, ಪ್ರತಿಕ್ರಿಯೆಯresourceLocationನೋಡಿ. ಅದರಲ್ಲಿ GeoJSON ವಸ್ತುವಿನ ವಿಶಿಷ್ಟ ID (UDID ಎಂದು ಕರೆಯಲ್ಪಡುವ) ವಿವರಗಳಿವೆ. UDID ಮೌಲ್ಯವುmetadata/ನಂತರ ಇದೆ, ಮತ್ತುapi-versionರಹಿತವಾಗಿದೆ. ಉದಾಹರಣೆಗೆ,resourceLocationಹೀಗಿದ್ದರೆ:{ "resourceLocation": "https://us.atlas.microsoft.com/mapData/metadata/7c3776eb-da87-4c52-ae83-caadf980323a?api-version=1.0" }UDID ಆಗಿದ್ದು
7c3776eb-da87-4c52-ae83-caadf980323aಆಗಿದೆ.ಜಿಯೋಫೆನ್ಸ್ ಪರೀಕ್ಷಿಸಲು ಈ UDID ಪ್ರತಿಲಿಪಿ ಇಟ್ಟುಕೊಳ್ಳಿ.
ಜಿಯೋಫೆನ್ಸ್ ವಿರುದ್ಧ ಬಿಂದುಗಳ ಪರೀಕ್ಷೆ
ಬಹುಭುಜ ಆಜೂರ್ ನಕ್ಷೆಗಳಿಗೆ ಅಪ್ಲೋಡ್ ಆದ ನಂತರ, ನೀವು ಒಂದು ಬಿಂದು ಜಿಯೋಫೆನ್ಸ್ ಒಳಗಿದೆಯೇ ಹೊರಗಿನೆಯೇ ಎಂದು ಪರೀಕ್ಷಿಸಬಹುದು. ಇದಕ್ಕಾಗಿ ನೀವು ಜಿಯೋಫೆನ್ಸ್ UDID ನ್ನು ಮತ್ತು ಪರೀಕ್ಷಿಸುವ ಬಿಂದುವಿನ ಅಗತ್ಯವಾದ ಅಕ್ಷಾಂಶ ಮತ್ತು ಲಂಬಾರ್ಹತೆಗಳನ್ನು API ಗೆ ಕಳುಹಿಸುತ್ತೀರಿ.
ಈ ವಿಚಾರಣೆ ಸಮಯದಲ್ಲಿ ನೀವು searchBuffer ಎನ್ನುವ ಮೌಲ್ಯವನ್ನು ಕೂಡ ಸಲ್ಲಿಸಬಹುದು. ಇದು ನಕ್ಷೆಗಳ API ಗೆ ಯಥಾರ್ಥತೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ. GPS ಪೂರ್ಣ ತೃಪ್ತಿ ಇಲ್ಲದೆ ಕೆಲವೊಮ್ಮೆ ಮಿತಿಯನ್ನು ಮೀರುತ್ತದೆ. ಹುಡುಕಾಟ ಬಫರ್ ಡಿಫಾಲ್ಟ್ 50 ಮೀಟರ್ ಆಗಿದೆ, ನೀವು 0 ಮೀಟರ್ ರಿಂದ 500 ಮೀಟರ್ ವರೆಗೆ ಕೂಡ ಹೊಂದಿಸಬಹುದು.
API ಕಡೆಯಿಂದ ಫಲಿತಾಂಶ ಬಂದಾಗ, ಫಲಿತಾಂಶದ ಒಂದು ಭಾಗ distance ಅದೆಲ್ಲಾ — ಇದು ಜಿಯೋಫೆನ್ಸ್ ಎಡ್ಜಿನಲ್ಲಿನ ಸಮೀಪತಮ ಬಿಂದುದಿಟ್ಟ ಧೂಸರ ಅಂತರವನ್ನು ಸೂಚಿಸುತ್ತದೆ; ಬಿಂದುವು ಹೊರಗಿದ್ದರೆ ಧನಾತ್ಮಕ, ಒಳಗಿದ್ದರೆ ಋಣಾತ್ಮಕ ಮೌಲ್ಯ. ಉತ್ತಮ ವಿಶ್ಲೇಷಣೆಗೆ, ಧೂಸರ ಅಂತರ ಹುಡುಕಾಟ ಬಫರಿಗಿಂತ ಕಡಿಮೆ ಇದ್ದರೆ ಖಚಿತ ಅಂತರವನ್ನು ಮೀಟರ್ನಲ್ಲಿ ನೀಡುತ್ತದೆ, ಇಲ್ಲವಾದರೆ 999 ಅಥವಾ -999 ಸರಿಯಾದ ಮೌಲ್ಯ. 999 ಅಂದರೆ ಬಿಂದು ಹುಡುಕಾಟ ಬಫರ್ ಮೀರಿ ಜಿಯೋಫೆನ್ಸ್ ಹೊರಗಿದೆ, -999 ಅಂದರೆ ಒಳಗಿದೆ.
ಮೇಲಿನ ಚಿತ್ರದಲ್ಲಿ, ಜಿಯೋಫೆನ್ಸ್ಗೆ 50 ಮೀಟರ್ ಹುಡುಕಾಟ ಬಫರ್ ಇದೆ.
- ಜಿಯೋಫೆನ್ಸ್ ಮಧ್ಯದಲ್ಲಿ ಬಿಂದುವು, ಹುಡುಕಾಟ ಬಫರ್ ಒಳಗಿದೆ, ಅಂತರ -999
- ಹುಡುಕಾಟ ಬಫರ್ ತುಂಬಾ ಹೊರಗಿನ ಬಿಂದುವು, ಅಂತರ 999
- ಜಿಯೋಫೆನ್ಸ್ ಒಳಗಾ, ಹುಡುಕಾಟ ಬಫರ್ ಒಳಗಿರುವ, 6 ಮೀ ದೂರದ ಬಿಂದು 6 ಮೀ
- ಜಿಯೋಫೆನ್ಸ್ ಹೊರಗಿನ, ಹುಡುಕಾಟ ಬಫರ್ ಒಳಗಿರುವ, 39 ಮೀ ದೂರದ ಬಿಂದು 39 ಮೀ
ಜಿಯೋಫೆನ್ಸ್ ಎಡ್ಜಿನ ಅಂತರ ತಿಳಿಯುವುದು ಮತ್ತು ಉಳಿದ ಮಾಹಿತಿಗಳ ಜೊತೆಗೆ, ಹೀಗಾಗಿ ಚಾಲನೆಯುಳ್ಳ ವಾಹನ ಸ್ಥಳ ಆಧಾರತ ಮಾಹಿತಿಗಳನ್ನು ಬಳಸುವ ನಿರ್ಧಾರಗಳಿಗೆ ಸಹಾಯವಾಗುತ್ತದೆ.
ಉದಾಹರಣೆಗೆ, ಒಂದು ರಸ್ತೆ ಅಂಚಿನಲ್ಲಿ ವಾಹನ ಚಾಲನೆಯಾಗುತ್ತಿದೆ ಮತ್ತು GPS ಏಕಮಾತ್ರ ಮೌಲ್ಯ ಕಳಪೆ ಇದ್ದದ್ದರಿಂದ ವಾಹನವನ್ನು ಜಿಯೋಫೆನ್ಸ್ ಒಳಗಿರುತ್ತದೆ ಎಂದು ತೋರಿಸಿದರೆ, ಮನಸ್ಸಿನ ಪ್ರವೃತ್ತಿ ಇಲ್ಲದ ವಾಹನ ಪ್ರವೇಶ ನಿರಾಕರಿಸಬಹುದು.
ಮೇಲಿನ ಚಿತ್ರದಲ್ಲಿ, Microsoft ನ క్యాంపಸ್ನ ಭಾಗದ ಮೇಲೆ ಗೊಯಿಫೆನ್ಸ್ ಇದೆ. ಕೆಂಪು ರೇಖೆ 520 ರ ಕುರಿತಾಗಿ ಟ್ರಕ್ ಚಾಲನೆಯಲ್ಲಿರುವುದನ್ನು ತೋರಿಸುತ್ತದೆ, ಮತ್ತು ವೃತ್ತಗಳು GPS ಓದುಗಳನ್ನು ತೋರಿಸುತ್ತವೆ. ಅವುಗಳಲ್ಲಿ ಬಹುತೇಕವು ನಿಖರವಾಗಿವೆ ಮತ್ತು 520 ರ ಮಾರ್ಗದ ಜೊತೆಗೆ ಇದ್ದರೂ, ಒಂದು ಅಸಮಾತು ಓದು ಗೊಯಿಫೆನ್ಸ್ ಒಳಗೆ ಇದೆ. ಆ ಓದುವು ಸರಿಯಾಗಿರಲು ಸಾಧ್ಯವಿಲ್ಲ - ಟ್ರಕ್ 520 ರಿಂದ ಒಳಗೆ, ನಂತರ 520 ರ ಬಳಿ ಮತ್ತೆ ಮಾರ್ಗ ಬದಲಾಯಿಸುವ ರಸ್ತೆಗಳಿಲ್ಲ. ಈ ಗೊಯಿಫೆನ್ಸ್ ಪರಿಶೀಲಿಸುವ ಕೋಡ್, ಗೊಯಿಫೆನ್ಸ್ ಪರೀಕ್ಷೆಯ ಫಲಿತಾಂಶದ ಮೇಲೆ ಕಾರ್ಯಾಚರಣೆ ಮಾಡಲು ಮುಂಚಿತ ಓದುಗಳನ್ನು ಪರಿಗಣಿಸಬೇಕಾಗುತ್ತದೆ.
✅ GPS ಓದಲು ಸರಿಯಾದ ಎಂದು ಪರಿಗಣಿಸಲು ನೀವು ಯಾವ ಅತिरिक्त ಮಾಹಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಬೇಕಾಗುತ್ತದೆ?
ಕಾರ್ಯ - ಗೊಯಿಫೆನ್ಸ್ ವಿರುದ್ಧ ಪಾಯಿಂಟ್ಗಳನ್ನು ಪರೀಕ್ಷಿಸಿ
-
ವೆಬ್ API ಪ್ರಶ್ನೆಗಾಗಿ URL ರಚಿಸುವುದರಿಂದ ಪ್ರಾರಂಭಿಸಿ. ಗೋಷ್ಠವು:
https://atlas.microsoft.com/spatial/geofence/json?api-version=1.0&deviceId=gps-sensor&subscription-key=<subscription-key>&udid=<UDID>&lat=<lat>&lon=<lon><subscription_key>ಅನ್ನು ನಿಮ್ಮ Azure Maps ಖಾತೆಗೆ API ಕೀ ಮೂಲಕ ಬದಲಾಯಿಸಿ.<UDID>ಅನ್ನು ಹಿಂದಿನ ಕಾರ್ಯದಿಂದ ಗೊಯಿಫೆನ್ಸ್ UDID ಮೂಲಕ ಬದಲಾಯಿಸಿ.<lat>ಮತ್ತು<lon>ಅನ್ನು ಪರೀಕ್ಷಿಸಲು ನಿಮಗಿರುವ ಅಕ್ಷಾಂಶ ಮತ್ತು ರೇಖಾಂಶಕ್ಕೆ ಬದಲಾಯಿಸಿ.ಈ URL
https://atlas.microsoft.com/spatial/geofence/jsonAPI ಅನ್ನು ಬಳಸುತ್ತದೆ, GeoJSON ಬಳಸಿ ರಚಿಸಲಾದ ಗೊಯಿಫೆನ್ಸ್ ಅನ್ನು ಕೇಳುತ್ತದೆ. ಇದು1.0API ಆವೃತ್ತಿಯನ್ನು ಗುರಿಮಾಡುತ್ತದೆ.deviceIdಪರಾಮಿತಿ ಅಗತ್ಯವಿದ್ದು, ಅಕ್ಷಾಂಶ ಮತ್ತು ರೇಖಾಂಶ ಬರುವ ಸಾಧನದ ಹೆಸರಾಗಿರಬೇಕು.ಡೀಫಾಲ್ಟ್ ಹುಡುಕಾಟ ಬಫರ್ 50 ಮೀಟರ್ ಆಗಿದ್ದು, ನೀವು
searchBuffer=<distance>ಪರಾಮಿತಿಯನ್ನು ಒದಗಿಸಿ ಬದಲಾಯಿಸಬಹುದು, ಇಲ್ಲಿ<distance>ಹುಡುಕಾಟ ಬಫರ್ ದೂರವನ್ನು ಮೀಟರ್ನಲ್ಲಿ ಸೂಚಿಸುತ್ತದೆ (0 ರಿಂದ 500). -
ಈ URL ಗೆ curl ಬಳಸಿ GET ವಿನಂತಿ ಮಾಡಿ:
curl --request GET '<URL>'💁 ನಿಮಗೆ
BadRequestಪ್ರತಿಕ್ರಿಯೆಯ ಕೋಡ್ ಬಂದು,Invalid GeoJSON: All feature properties should contain a geometryId, which is used for identifying the geofence.ಆಗ ನಿಮ್ಮ GeoJSON ನಲ್ಲಿ
propertiesವಿಭಾಗ ಮತ್ತುgeometryIdಇಲ್ಲದಿರಬಹುದು. ನಿಮ್ಮ GeoJSON ನವೀಕರಿಸಿ, ನಂತರ ಮರುವೇಳಿಸಲು ಮತ್ತು ಹೊಸ UDID ಪಡೆಯಲು ಈ ಹಂತಗಳನ್ನು ಪುನರಾವರ್ತಿಸಿ. -
ಪ್ರತಿಕ್ರಿಯೆಯಲ್ಲಿ
geometriesಎಂಬ ಪಟ್ಟಿ ಇರುತ್ತದೆ, GeoJSON ನಲ್ಲಿ ವಿವರಿಸಲಾದ ಪ್ರತಿ ಬಹುಭುಜಕ್ಕೆ ಒಂದು. ಪ್ರತಿ ಜ್ಯಾಮಿತಿ 3 ಮುಖ್ಯ ಕ್ಷೇತ್ರಗಳನ್ನು ಹೊಂದಿದೆ:distance,nearestLatಮತ್ತುnearestLon.{ "geometries": [ { "deviceId": "gps-sensor", "udId": "7c3776eb-da87-4c52-ae83-caadf980323a", "geometryId": "1", "distance": 999.0, "nearestLat": 47.645875, "nearestLon": -122.142713 } ], "expiredGeofenceGeometryId": [], "invalidPeriodGeofenceGeometryId": [] }-
nearestLatಮತ್ತುnearestLonಗಳು ಗೊಯಿಫೆನ್ಸ್ ಗಡಿಯಲ್ಲಿ ಉಗಳ ಪಾಯಿಂಟ್ನ ಅಕ್ಷಾಂಶ ಮತ್ತು ರೇಖಾಂಶವನ್ನು ತೋರುತ್ತವೆ, ಪರೀಕ್ಷಿಸಲಾದ ಆ ಸ್ಥಳದಿಂದ ಅತಿ ಹತ್ತಿರವಾಗಿದೆ. -
distanceಪರೀಕ್ಷಿಸಲಾದ ಸ್ಥಳದಿಂದ ಗೊಯಿಫೆನ್ಸ್ ಗಡಿಯ ಅತಿ ಹತ್ತಿರದ ಬಿಂದುವಿನ ದೂರವಾಗಿದೆ. ನಕಾರಾತ್ಮಕ ಸಂಖ್ಯೆ ಗೊಯಿಫೆನ್ಸ್ ಒಳಗೆ ಇದ್ದು, ಧನಾತ್ಮಕವು ಹೊರಗೆ ಇರುತ್ತದೆ. ಈ ಮೌಲ್ಯವು 50 (ಡೀಫಾಲ್ಟ್ ಹುಡುಕಾಟ ಬಫರ್) ಕಿಂತ ಕಡಿಮೆ ಅಥವಾ 999 ಆಗಿರಬಹುದು.
-
-
ಗೊಯಿಫೆನ್ಸ್ ಒಳಗೆ ಮತ್ತು ಹೊರಗೆ ಇರುವ ಸ್ಥಳಗಳನ್ನು ಅನೇಕ ಬಾರಿ ಪ್ರಯತ್ನಿಸಿ.
ಸರ್ವರ್ಲೆಸ್ ಕೋಡ್ನಿಂದ ಗೊಯಿಫೆನ್ಸ್ ಬಳಸಿ
ನೀವು ಈಗ Functions ಅಪ್ಲಿಕೇಶನ್ಗೆ ಹೊಸ ಟ್ರಿಗರ್ ಸೇರಿಸಬಹುದು, ಇವು IoT ಹಬ್ GPS ಇವೆಂಟ್ ಡೇಟಾವನ್ನು ಗೊಯಿಫೆನ್ಸ್ ವಿರುದ್ಧ ಪರೀಕ್ಷಿಸುತ್ತದೆ.
ಗ್ರಾಹಕ ಗುಂಪುಗಳು
ನೀವು ಹಿಂದೆ ಕಲಿತಂತೆ, IoT ಹಬ್ನಿಂದ ಪಡೆಯದ ಇವೆಂಟ್ಗಳನ್ನು ಮರುಪ್ರ.ulive ಮಾಡಬಹುದಾಗಿದೆ. ಆದರೆ ಹಲವಾರು ಟ್ರಿಗರ್ಗಳು ಸಂಪರ್ಕಿಸಿದರೆ ಏನು ಸಂಭವಿಸುತ್ತದೆ? ಯಾವುದರ ಇವೆಂಟ್ ಯಾವುದು ಪ್ರಕ್ರಿಯೆ ಮಾಡಿದೆ ಎನ್ನುವುದನ್ನು ಹೇಗೆ ತಿಳಿಯುವುದು?
ಉತ್ತರವೆಂದರೆ ತಿಳಿಯದು! ನೀವು ಪ್ರತ್ಯೇಕ ಸಂಪರ್ಕಗಳನ್ನು ನಿರ್ಮಿಸಬಹುದು, ಪ್ರತಿ ಒಂದು ಓದಲು ಮತ್ತು ಓದದ ಸಂದೇಶಗಳ ಮರುಪ್ರದ್ದು ನಿರ್ವಹಿಸಲು. ಅವುಗಳನ್ನು ಗ್ರಾಹಕ ಗುಂಪುಗಳು ಎಂದು ಕರೆಸಲಾಗುತ್ತದೆ. ನೀವು ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಸಂಪರ್ಕಿಸಿದಾಗ, ನೀವು ಯಾವ ಗ್ರಾಹಕ ಗುಂಪಿಗೆ ಸಂಪರ್ಕಿಸಬೇಕೆಂದು ನಿಶ್ಚಿತಗೊಳಿಸಬಹುದು. ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರತಿ ಘಟಕ ವಿಭಿನ್ನ ಗುಂಪಿಗೆ ಸಂಪರ್ಕಿಸುತ್ತದೆ.
ತತ್ವದಲ್ಲಿ ಪ್ರತಿ ಗ್ರಾಹಕ ಗುಂಪಿಗೆ 5 ಅಪ್ಲಿಕೇಶನ್ಗಳವರೆಗೆ ಸಂಪರ್ಕಿಸಬಹುದು, ಮತ್ತು ಎಲ್ಲವು ಸಂದೇಶಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತವೆ. ಪ್ರತಿಲಿಪಿ ಸಂದೇಶ ಪ್ರಕ್ರಿಯೆ ತಪ್ಪಿಸಲು ಪ್ರತಿ ಗ್ರಾಹಕ ಗುಂಪು ಒಂದೆ ಅಪ್ಲಿಕೇಶನ್ ಕೊಂಡಿರಲಿ ಎನ್ನುವುದು ಉತ್ತಮ, ಮತ್ತು ಮರುಾರಂಭಿಸಿದಾಗ ಎಲ್ಲಾ ಸಾಲಾದ ಸಂದೇಶಗಳು ಸರಿಯಾಗಿ ಪ್ರಕ್ರಿಯೆ ಆಗುವಂತಾಗಲು. ಉದಾಹರಣೆಗೆ, ನೀವು Functions ಅಪ್ಲಿಕೇಶನನ್ನು ಲೋಕಲ್ ಮತ್ತು ಕ್ಲೌಡ್ನಲ್ಲಿ ಸಕ್ರಿಯಪಡಿಸಿದರೆ, ಎರಡು ಕಡೆಗೂ ಸಂದೇಶಗಳು ಪ್ರಕ್ರಿಯೆಯಾಗಿದ್ದು, ಸ್ಟೋರೇಜ್ ಖಾತೆಯಲ್ಲಿ ಪ್ರತಿಲಿಪಿ ಬ್ಲಾಬ್ ಗಳು ಉಂಟಾಗುತ್ತವೆ.
ನೀವು ಹಿಂದಿನ ಪಾಠದಲ್ಲಿ ರಚಿಸಿದ IoT ಹಬ್ ಟ್ರಿಗರ್ನ function.json ಫೈಲ್ ಪರಿಶೀಲಿಸಿದರೆ, ಇವೆಂಟ್ ಹಬ್ ಟ್ರಿಗರ್ ಬಿಂದಿಂಗ್ ವಿಭಾಗದಲ್ಲಿ ಗ್ರಾಹಕ ಗುಂಪನ್ನು ಕಾಣುತ್ತೀರಿ:
"consumerGroup": "$Default"
ನೀವು IoT ಹಬ್ ಸృష్టಿಸಿದಾಗ, $Default ಗ್ರಾಹಕ ಗುಂಪು ಡೀಫಾಲ್ಟ್ ಆಗಿ ಸೃಷ್ಟಿಸಲಾಗುತ್ತದೆ. ನೀವು ಹೊಸ ಟ್ರಿಗರ್ ಸೇರಿಸಲು ಬಯಸಿದರೆ, ಹೊಸ ಗ್ರಾಹಕ ಗುಂಪು ಬಳಸಿ ಸೇರಿಸಬಹುದು.
💁 ಈ ಪಾಠದಲ್ಲಿ, ನೀವು GPS ಡೇಟಾ ಸಂಗ್ರಹಿಸುವ ಒಂದು ಕಾರ್ಯದಿಂದ ಭಿನ್ನವಿರುವ ಗೊಯಿಫೆನ್ಸ್ ಪರೀಕ್ಷಿಸಲು ಭಾಷೆಯನ್ನು ಬಳಸುತ್ತೀರಿ. ಇದು ಗ್ರಾಹಕ ಗುಂಪುಗಳನ್ನು ಉಪಯೋಗಿಸುವುದು ಮತ್ತು ಕೋಡ್ ಅನ್ನು ವಿಭಜಿಸುವುದನ್ನು ತೋರಿಸುತ್ತದೆ. ವಾಸ್ತವ ಅಪ್ಲಿಕೇಶನ್ಮತ್ತು ಹಲವಾರು ರೀತಿಗಳಲ್ಲಿ ನಿರ್ಮಿಸಬಹುದು - ಎರಡನ್ನೂ ಒಂದೇ ಕಾರ್ಯದಲ್ಲಿ ಇಡುವುದು, ಸ್ಟೋರೇಜ್ ಖಾತೆಯ ಟ್ರಿಗರ್ನಿಂದ ಗೊಯಿಫೆನ್ಸ್ ಪರಿಶೀಲನೆ ನಡೆಸುವ ಕಾರ್ಯ ರಚಿಸುವುದು, ಅಥವಾ ಹಲವಾರು ಫಂಕ್ಷನ್ಸ್ ಬಳಸುವುದು. "ಸರಿಯಾದ ಮಾರ್ಗ" ಇಲ್ಲ, ಅದು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ಮತ್ತು ಅಗತ್ಯಗಳ ಮೇಲೆ ಅವಲಂಬಿತ.
ಕಾರ್ಯ - ಹೊಸ ಗ್ರಾಹಕ ಗುಂಪು ಸೃಷ್ಠಿಸಿ
-
ನೀವು IoT ಹಬ್ ಗೆ
geofenceಎಂಬ ಹೊಸ ಗ್ರಾಹಕ ಗುಂಪು ರಚಿಸಲು ಈ ಕಮಾಂಡ್ ರನ್ ಮಾಡಿ:az iot hub consumer-group create --name geofence \ --hub-name <hub_name><hub_name>ನ್ನು ನಿಮ್ಮ IoT ಹಬ್ ಹೆಸರಿನಿಂದ ಬದಲಾಯಿಸಿ. -
ಎಲ್ಲಾ ಗ್ರಾಹಕ ಗುಂಪುಗಳನ್ನು ನೋಡಲು:
az iot hub consumer-group list --output table \ --hub-name <hub_name><hub_name>ನ್ನು ನಿಮ್ಮ IoT ಹಬ್ ಹೆಸರಿನಿಂದ ಬದಲಾಯಿಸಿ. ಇದು ಎಲ್ಲಾ ಗ್ರಾಹಕ ಗುಂಪುಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ.Name ResourceGroup -------- --------------- $Default gps-sensor geofence gps-sensor
💁 ನೀವು ಹಿಂದಿನ ಪಾಠದಲ್ಲಿ IoT ಹಬ್ ಇವೆಂಟ್ ಮೊನಿಟರ್ ಚಾಲನೆ ಮಾಡಿದಾಗ, ಅದು
$Defaultಗ್ರಾಹಕ ಗುಂಪಿಗೆ ಸಂಪರ್ಕಿಸಿತು. ಅದೇ ಕಾರಣ ಇವೆಂಟ್ ಮೊನಿಟರ್ ಹಾಗೂ ಇವೆಂಟ್ ಟ್ರಿಗರ್ ಒಂದೇ ಸಮಯದಲ್ಲಿ ನಡೆಸಲಾರದು. ನೀವು ಎರಡನ್ನೂ ಮಾಡಲು ಬಯಸಿದರೆ, Functions ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಬೇರೆ ಗ್ರಾಹಕ ಗುಂಪುಗಳನ್ನು ಬಳಸಿ, ಮತ್ತು$Defaultಅನ್ನು ಇವೆಂಟ್ ಮೊನಿಟರ್ ಗೆ ಉಳಿಸಿ.
ಕಾರ್ಯ - ಹೊಸ IoT ಹಬ್ ಟ್ರಿಗರ್ ರಚಿಸಿ
-
ನೀವು ಪೋರ್ವ ಪಾಠದಲ್ಲಿ ರಚಿಸಿದ
gps-triggerಫಂಕ್ಷನ್ಸ್ ಅಪ್ಲಿಕೇಶನ್ಗೆ ಹೊಸ IoT ಹಬ್ ಟ್ರಿಗರ್ ಸೇರಿಸಿ. ಈ ಟ್ರಿಗರ್ನ್ನುgeofence-triggerಎಂದು ನೆನಸಿರಿ.⚠️ ಅಗತ್ಯವಿದ್ದರೆ, IoT ಹಬ್ ಇವೆಂಟ್ ಟ್ರಿಗರ್ ರಚಿಸುವ project 2, lesson 5 ಕ್ಕೆ ಸೂಚನೆಗಳು ವೀಕ್ಷಿಸಿ.
-
function.jsonಫೈಲ್ನಲ್ಲಿ IoT ಹಬ್ ಕನೆಕ್ಷನ್ ಸ್ಟ್ರಿಂಗ್ ಕಾನ್ಫಿಗರ್ ಮಾಡಿ.local.settings.jsonಎಲ್ಲಾ ಟ್ರಿಗರ್ಗಳಿಗೆ ಹಂಚಲಾಗುತ್ತದೆ. -
function.jsonಅಂಗದಲ್ಲಿconsumerGroupಮೌಲ್ಯವನ್ನು ಹೊಸgeofenceಗ್ರಾಹಕ ಗುಂಪಿಗೆ ನವೀಕರಿಸಿ:"consumerGroup": "geofence" -
ಈ ಟ್ರಿಗರ್ನಲ್ಲಿ Azure Maps ಖಾತೆಯ ಸಬ್ಸ್ರಿಪ್ಷನ್ ಕೀ ಬೇಕಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ
local.settings.jsonಫೈಲ್ಗೆMAPS_KEYಎಂದು ಹೊಸ ಎಂಟ್ರಿ ಸೇರಿಸಿ. -
Functions ಅಪ್ಲಿಕೇಶನ್ ರನ್ ಮಾಡಿ ಸಂಪರ್ಕ ವಿಚಾರಣೆ ಮತ್ತು ಸಂದೇಶ ಪ್ರಕ್ರಿಯೆಯನ್ನು ದೃಢೀಕರಿಸಿ. ಹಿಂದಿನ ಪಾಠದಿಂದ
iot-hub-triggerಕೂಡ ಓಡುತ್ತದೆ, ಮತ್ತು ಬ್ಲಾಬ್ ಸ್ಟೋರೇಜ್ಗೆ ಅಪ್ಲೋಡ್ ಮಾಡುತ್ತದೆ.ಬ್ಲಾಬ್ ಸ್ಟೋರೇಜ್ನಲ್ಲಿ ಪ್ರತಿಲಿಪಿ GPS ಓದುಗಳನ್ನು ತಪ್ಪಿಸಲು, ಕ್ಲೌಡ್ನಲ್ಲಿ Functions ಅಪ್ಲಿಕೇಶನ್ ನಿಲ್ಲಿಸಬಹುದು. ಈ ಕಮಾಂಡ್ ಬಳಸಿ:
az functionapp stop --resource-group gps-sensor \ --name <functions_app_name><functions_app_name>ಅನ್ನು ನಿಮ್ಮ Functions ಅಪ್ಲಿಕೇಶನ್ ಹೆಸರಿನಿಂದ ಬದಲಾಯಿಸಿ.ನಂತರ ಈ ಕಮಾಂಡ್ನೊಂದಿಗೆ ಮರುಾರಂಭಿಸಬಹುದು:
az functionapp start --resource-group gps-sensor \ --name <functions_app_name><functions_app_name>ಅನ್ನು ನಿಮ್ಮ Functions ಅಪ್ಲಿಕೇಶನ್ ಹೆಸರಿನಿಂದ ಬದಲಾಯಿಸಿ.
ಕಾರ್ಯ - ಟ್ರಿಗರ್ನಿಂದ ಗೊಯಿಫೆನ್ಸ್ ಪರೀಕ್ಷಿಸಿ
ಈ ಪಾಠದ ಆರಂಭದಲ್ಲಿ ನೀವು ಗೊಯಿಫೆನ್ಸ್ ಪ್ರಶ್ನಿಸಲು curl ಬಳಸದಿದ್ದೀರಿ, ಬಿಂದುವು ಒಳಗೆ ಅಥವಾ ಹೊರಗೆ ಇದೆಯೆಂದು ನೋಡಲು. ಟ್ರಿಗರ್ ಒಳಗಿಂದ ಹೋಲೆಯೇ ವಿನಂತಿ ಮಾಡಬಹುದು.
-
ಗೊಯಿಫೆನ್ಸ್ UDID ಅಗತ್ಯವಿದೆ.
local.settings.jsonಗೆGEOFENCE_UDIDಎಂಬ ಹೊಸ ಎಂಟ್ರಿ ಸೇರಿಸಿ. -
ಹೊಸ
geofence-triggerಟ್ರಿಗರ್ನ__init__.pyಫೈಲ್ ತೆರೆಯಿರಿ. -
ಫೈಲ್ ಟಾಪ್ಗೆ ಈ ಇಂಪೋರ್ಟ್ ಸೇರಿಸಿ:
import json import os import requestsrequestsಪ್ಯಾಕೇಜ್ ವೆಬ್ API ಕರೆ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. Azure Maps ಗೆ Python SDK ಇಲ್ಲ, Python ಕೋಡ್ನಿಂದ ಬಳಸಲು ವೆಬ್ API ಕರೆ ಮಾಡಬೇಕು. -
mainಮೆಥೋಡ್ ಪ್ರಾರಂಭಕ್ಕೆ ಈ 2 ಸಾಲು ಸೇರಿಸಿ, Maps ಸಬ್ಸ್ಕ್ರಿಪ್ಷನ್ ಕೀ ಪಡೆಯಲು:maps_key = os.environ['MAPS_KEY'] geofence_udid = os.environ['GEOFENCE_UDID'] -
for event in eventsಲೂಪ್ ಒಳಗೆ, ಪ್ರತಿ ಇವೆಂಟ್ನಿಂದ ಅಕ್ಷಾಂಶ ಮತ್ತು ರೇಖಾಂಶ ಪಡೆಯಲು:event_body = json.loads(event.get_body().decode('utf-8')) lat = event_body['gps']['lat'] lon = event_body['gps']['lon']ಈ ಕೋಡ್ ಇವೆಂಟ್ ಬಾಡಿನ JSON ಅನ್ನು ಡಿಕ್ಷನರಿಯಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ, ನಂತರ
gpsಕ್ಷೇತ್ರದಿಂದlatಮತ್ತುlonಅನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. -
requestsಬಳಸದಾಗ, ನಿಮ್ಮ curl ನಲ್ಲಿ ಬಳಸಿದ URL ಅನ್ನು ಬಿಲ್ಡ್ ಮಾಡುವ ಬದಲು, URL ಭಾಗ ಮತ್ತು ಪಾರಾಮೀಟರ್ಗಳನ್ನು ಡಿಕ್ಷನರಿಯಾಗಿ ಪಾಸ್ಸ್ ಮಾಡಬಹುದು. ಈ ಕೆಳಗಿನ ಕೋಡ್ URL ಮತ್ತು ಪಾರಾಮೀಟರ್ಗಳನ್ನು ಸೂಚಿಸುತ್ತದೆ:url = 'https://atlas.microsoft.com/spatial/geofence/json' params = { 'api-version': 1.0, 'deviceId': 'gps-sensor', 'subscription-key': maps_key, 'udid' : geofence_udid, 'lat' : lat, 'lon' : lon }paramsಡಿಕ್ಷನರಿ EPCS ಕೀ-ಮೌಲ್ಯ ಜೋಡಿಗಳಂತೆ ಇರುತ್ತದೆ. -
ವೆಬ್ API ಕರೆ ಮಾಡಲು ಈ ಕೆಳಗಿನ ಸಾಲುಗಳನ್ನು ಸೇರಿಸಿ:
response = requests.get(url, params=params) response_body = json.loads(response.text)URL ಮತ್ತು ಪಾರಾಮೀಟರ್ಗಳನ್ನು ಬಳಸಿ ಕರೆ ಮಾಡುತ್ತದೆ, ಪ್ರತಿಕ್ರಿಯೆಯ ವಸ್ತುವನ್ನು ಪಡೆಯುತ್ತದೆ.
-
ಈ ಕೆಳಗಿನ ಕೋಡ್ ಸೇರಿಸಿ:
distance = response_body['geometries'][0]['distance'] if distance == 999: logging.info('Point is outside geofence') elif distance > 0: logging.info(f'Point is just outside geofence by a distance of {distance}m') elif distance == -999: logging.info(f'Point is inside geofence') else: logging.info(f'Point is just inside geofence by a distance of {distance}m')ಇದು ಒಂದು ಜ್ಯಾಮಿತಿಯನ್ನು ಅನುದರಿಸುತ್ತದೆ ಮತ್ತು ಆ ಜ್ಯಾಮಿತಿಯಿಂದ ದೂರ ಪಡೆಯುತ್ತದೆ. ನಂತರ ದೂರ ಆಧಾರಿತವಾಗಿ ವಿಭಿನ್ನ ಸಂದೇಶಗಳನ್ನು ಲಾಗ್ ಮಾಡುತ್ತದೆ.
-
ಈ ಕೋಡ್ ರನ್ ಮಾಡಿ. ಲಾಗ್ ಔಟ್ಪುಟ್ನಲ್ಲಿ GPS ಸಂಯೋಜನೆಗಳು ಗೊಯಿಫೆನ್ಸ್ ಒಳಗೆ ಅಥವಾ ಹೊರಗೆ ಇದ್ದರೆ ಮತ್ತು 50 ಮೀಟರ್ ಒಳಗೆ ಇದ್ದರೆ ದೂರವನ್ನು ಕಾಣಬಹುದು. ಬಗೆಬಗೆಯ ಗೊಯಿಫೆನ್ಸ್ ಮತ್ತು GPS ಸೆನ್ಸರ್ ಸ್ಥಳಗಳೊಂದಿಗೆ ಪ್ರಯತ್ನಿಸಿ, ಸೆನ್ಸರ್ ಅನ್ನು ಸ್ಥಳಾಂತರಿಸಿ (ಉದಾ: ಮೊಬೈಲ್ ಫೋನ್ಗೆ WiFi ಮೂಲಕ ಸಂಪರ್ಕಿಸುವುದರಿಂದ, ಅಥವಾ ವರ್ಚ್ಯುಯಲ್ IoT ಸಾಧನದಲ್ಲಿ ವಿಭಿನ್ನ ಸಂಯೋಜನೆಗಳೊಂದಿಗೆ) ಈ ಬದಲಾವಣೆಯನ್ನು ನೋಡಿರಿ.
-
ಸಿದ್ಧವಾದಾಗ, ಈ ಕೋಡನ್ನು ಕ್ಲೌಡ್ ನಲ್ಲಿ Functions ಅಪ್ಲಿಕೇಶನ್ಗೆ ಡಿಪ್ಲಾಯ್ ಮಾಡಿ. ಹೊಸ ಅಪ್ಲಿಕೇಶನ್ ಸೆಟ್ಟಿಂಗ್ಸ್ ಅನ್ನು ಡಿಪ್ಲಾಯ್ ಮಾಡುವುದು ಮರೆತುಬಾರದೆ.
⚠️ ಅಗತ್ಯವಿದ್ದರೆ project 2, lesson 5 ನಿಂದ ಅಪ್ಲಿಕೇಶನ್ ಸೆಟ್ಟಿಂಗ್ಸ್ ಅಪ್ಲೋಡ್ ಮಾಡುವ ಸೂಚನೆಗಳನ್ನು ನೋಡಿ.
⚠️ ಅಗತ್ಯವಿದ್ದರೆ project 2, lesson 5 ನಿಂದ ನಿಮ್ಮ Functions ಅಪ್ಲಿಕೇಶನ್ ಕ್ಲೌಡ್ಗೆ ಡಿಪ್ಲಾಯ್ ಮಾಡುವ ಸೂಚನೆಗಳನ್ನು ನೋಡಿ.
💁 ಈ ಕೋಡ್ code/functions ಫೋಲ್ಡರ್ನಲ್ಲಿ ಸಿಗುತ್ತದೆ.
🚀 ಸವಾಲು
ಈ ಪಾಠದಲ್ಲಿ ನೀವು ಒಬ್ಬ ಗೊಯಿಫೆನ್ಸ್ ಅನ್ನು GeoJSON ಫೈಲ್ ಬಳಸಿ ಒಂದೇ ಬಹುಭುಜದಿಂದ ಸೇರಿಸಿದ್ದೀರಿ. ನೀವು ಒಂದೇ ಸಮಯದಲ್ಲಿ ಹಲವಾರು ಬಹುಭುಜಗಳನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಬಹುದು, ಅವರು properties ವಿಭಾಗದಲ್ಲಿ ವಿಭಿನ್ನ geometryId ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿದ್ದರೆ ಸಾಕು.
ಹಲವಾರು ಬಹುಭುಜಗಳ GeoJSON ಫೈಲ್ ಅಪ್ಲೋಡ್ ಮಾಡಿ, ಮತ್ತು GPS ಸಂಯೋಜನೆಗಳು ಯಾವ ಬಹುಭುಜದ ಹತ್ತಿರ ಅಥವಾ ಒಳಗೆ ಇರುವುದನ್ನು ಹುಡುಕುವಂತೆ ನಿಮ್ಮ ಕೋಡ್ ನವೀಕರಿಸಿ.
ಪಾಠಾಂತರ ನಂತರ ಪ್ರಶ್ನಾ-ಪತ್ರಿಕೆ
ಪರಿಶೀಲನೆ ಮತ್ತು ಸ್ವಯಂ ಅಧ್ಯಯನ
- ಗೊಯಿಫೆನ್ಸ್ ಮತ್ತು ಅವುಗಳ ಕೆಲವು ಬಳಕೆಯ ಆರ್ಭಟಗಳ ಬಗ್ಗೆ ಹೆಚ್ಚು ಓದಿ: ವಿಕ್ಕಿಪೀಡಿಯ上的 Geofencing ಪುಟ.
- Azure Maps ಗೊಯಿಫೆನ್ಸ್ API ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ: Microsoft Azure Maps Spatial - Get Geofence ಡಾಕ್ಯುಮೆಂಟೇಶನ್.
- Microsoft ಡಾಕ್ಸ್ನಲ್ಲಿ Azure Event Hubs ನಲ್ಲಿ ಗ್ರಾಹಕ ಗುಂಪುಗಳ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ಪದಜಾಲ: Event consumers documentation
ನಿಯೋಜನೆ
Twilio ಬಳಸಿ ಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಿ
ತ್ಯಾಜ್ಯ ಸೂಚನೆ:
ಈ ದಾಖಲೆ ಕೊ-ಆಪ್ ಟ್ರಾನ್ಸ್ಲೆಟರ್ ಎಂಬ ಎಐ ಭಾಷಾಂತರ ಸೇವೆಯನ್ನು ಉಪಯೋಗಿಸಿ ಭಾಷಾಂತರಿಸಲಾಗಿದೆ. ನಾವು ಶುದ್ಧತೆಯ ಮೇಲೆ ಮನೋನಿವೇಶ ಮಾಡುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಭಾಷಾಂತರಗಳಲ್ಲಿ ತಪ್ಪುಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳು ಇರುವ ಸಾಧ್ಯತೆ ಇದೆ ಎಂಬುದನ್ನು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ಪ್ರಾಧಿಕಾರಿಕ ಮೂಲ ಎಂದು ಪರಿಗಣಿಸಬೇಕು. ಪ್ರಮುಖ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಭಾಷಾಂತರವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಭಾಷಾಂತರ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪಿನ ಅರ್ಥಗ್ರಹಣ ಅಥವಾ ತಪ್ಪಾಗುಮಾನದ ಕುರಿತು ನಾವು ಹೊಣೆಗಾರರಾಗುವುದಿಲ್ಲ.





