Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added schemas and specifications for data retrieved from Google Places API. #352

Merged
merged 8 commits into from
Sep 18, 2023
26 changes: 26 additions & 0 deletions commons/passive/google/google_places_info.avsc
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"namespace": "org.radarcns.passive.google",
"type": "record",
"name": "GooglePlacesInfo",
"doc": "Information of places where the user’s device is last known to be located along with an indication of the relative likelihood for each place.",
"fields": [
{ "name": "time", "type": "double", "doc": "Device timestamp in UTC (s)." },
{ "name": "timeReceived", "type": "double", "doc": "Device receiver timestamp in UTC (s)." },
{ "name": "type1", "type": ["null", {
"name": "PlacesType",
"type": "enum",
"doc": "The predefined categories or tags assigned to different places based on their characteristics. These types can represent various categories such as restaurants, cafes, museums, parks, hotels, airports, hospitals, and more.",
"symbols": [ "ACCOUNTING", "ADMINISTRATIVE_AREA_LEVEL_1", "ADMINISTRATIVE_AREA_LEVEL_2", "ADMINISTRATIVE_AREA_LEVEL_3", "ADMINISTRATIVE_AREA_LEVEL_4", "ADMINISTRATIVE_AREA_LEVEL_5", "AIRPORT", "AMUSEMENT_PARK", "AQUARIUM", "ARCHIPELAGO", "ART_GALLERY", "ATM", "BAKERY", "BANK", "BAR", "BEAUTY_SALON", "BICYCLE_STORE", "BOOK_STORE", "BOWLING_ALLEY", "BUS_STATION", "CAFE", "CAMPGROUND", "CAR_DEALER", "CAR_RENTAL", "CAR_REPAIR", "CAR_WASH", "CASINO", "CEMETERY", "CHURCH", "CITY_HALL", "CLOTHING_STORE", "COLLOQUIAL_AREA", "CONTINENT", "CONVENIENCE_STORE", "COUNTRY", "COURTHOUSE", "DENTIST", "DEPARTMENT_STORE", "DOCTOR", "DRUGSTORE", "ELECTRICIAN", "ELECTRONICS_STORE", "EMBASSY", "ESTABLISHMENT", "FINANCE", "FIRE_STATION", "FLOOR", "FLORIST", "FOOD", "FUNERAL_HOME", "FURNITURE_STORE", "GAS_STATION", "GENERAL_CONTRACTOR", "GEOCODE", "GROCERY_OR_SUPERMARKET", "GYM", "HAIR_CARE", "HARDWARE_STORE", "HEALTH", "HINDU_TEMPLE", "HOME_GOODS_STORE", "HOSPITAL", "INSURANCE_AGENCY", "INTERSECTION", "JEWELRY_STORE", "LAUNDRY", "LAWYER", "LIBRARY", "LIGHT_RAIL_STATION", "LIQUOR_STORE", "LOCAL_GOVERNMENT_OFFICE", "LOCALITY", "LOCKSMITH", "LODGING", "MEAL_DELIVERY", "MEAL_TAKEAWAY", "MOSQUE", "MOVIE_RENTAL", "MOVIE_THEATER", "MOVING_COMPANY", "MUSEUM", "NATURAL_FEATURE", "NEIGHBORHOOD", "NIGHT_CLUB", "PAINTER", "PARK", "PARKING", "PET_STORE", "PHARMACY", "PHYSIOTHERAPIST", "PLACE_OF_WORSHIP", "PLUMBER", "PLUS_CODE", "POINT_OF_INTEREST", "POLICE", "POLITICAL", "POST_BOX", "POST_OFFICE", "POSTAL_CODE_PREFIX", "POSTAL_CODE_SUFFIX", "POSTAL_CODE", "POSTAL_TOWN", "PREMISE", "PRIMARY_SCHOOL", "REAL_ESTATE_AGENCY", "RESTAURANT", "ROOFING_CONTRACTOR", "ROOM", "ROUTE", "RV_PARK", "SCHOOL", "SECONDARY_SCHOOL", "SHOE_STORE", "SHOPPING_MALL", "SPA", "STADIUM", "STORAGE", "STORE", "STREET_ADDRESS", "STREET_NUMBER", "SUBLOCALITY_LEVEL_1", "SUBLOCALITY_LEVEL_2", "SUBLOCALITY_LEVEL_3", "SUBLOCALITY_LEVEL_4", "SUBLOCALITY_LEVEL_5", "SUBLOCALITY", "SUBPREMISE", "SUBWAY_STATION", "SUPERMARKET", "SYNAGOGUE", "TAXI_STAND", "TOURIST_ATTRACTION", "TOWN_SQUARE", "TRAIN_STATION", "TRANSIT_STATION", "TRAVEL_AGENCY", "UNIVERSITY", "VETERINARY_CARE", "ZOO"]
}], "doc": "Categorizing places based on their characteristics or attributes, this field represents the first type, if any, among the retrieved place categories.", "default": null
},
{ "name": "type2", "type": ["null", "org.radarcns.passive.google.PlacesType"], "doc": "Categorizing places based on their characteristics or attributes, this field represents the second type, if any, among the retrieved place categories.", "default": null },
{ "name": "type3", "type": ["null", "org.radarcns.passive.google.PlacesType"], "doc": "Categorizing places based on their characteristics or attributes, this field represents the third type, if any, among the retrieved place categories.", "default": null },
{ "name": "type4", "type": ["null", "org.radarcns.passive.google.PlacesType"], "doc": "Categorizing places based on their characteristics or attributes, this field represents the fourth type, if any, among the retrieved place categories.", "default": null },
{ "name": "city", "type": ["null", "string"], "doc": "The city returned corresponds to the current location of the user's device.", "default": null },
{ "name": "state", "type": ["null", "string"], "doc": "The state returned corresponds to the current location of the user's device.", "default": null },
{ "name": "country", "type": ["null", "string"], "doc": "The country returned corresponds to the current location of the user's device.", "default": null },
{ "name": "placeId", "type": ["null", "string"], "doc": "A unique identifier assigned to each place in the Google Places database. It serves as a specific reference or key to a particular place entry and is used to retrieve detailed information about that place. By default, it is not retrieved to respect the user's privacy. To retrieve place IDs, Firebase parameters need to be explicitly set.", "default": null },
{ "name": "likelihood", "type": "double", "doc": "The likelihood provides a relative probability of the place being the best match within the list of returned places for a single request. A higher value means a greater probability that the place is the best match. It's value ranges between 0.0 and 1.0." },
{ "name": "fromBroadcast", "type": "boolean", "doc": "Whether the data was generated as a result of a change in device location (true) or as part of a fixed scheduled intervals (false)." }
]
}
16 changes: 16 additions & 0 deletions specifications/passive/google_places-1.0.0.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#======================================== Google Places =============================================#
vendor: GOOGLE
model: PLACES
version: 1.0.0
data:
#Google Places
- type: GOOGLE_PLACES
app_provider: .google.GooglePlacesProvider
unit: NON_DIMENSIONAL
processing_state: RAW
topic: android_google_places_info
value_schema: .passive.google.GooglePlacesInfo
sample_rate:
interval: 600
configurable: true
dynamic: true
Loading