diff --git a/.flake8 b/.flake8 index e086460b9..3b113fe12 100644 --- a/.flake8 +++ b/.flake8 @@ -3,4 +3,4 @@ max-line-length = 120 # Ignore rules from the "black" formatter. This is added # to avoid "Black would make changes." in houndci-bot. -ignore = BLK, E121, E123, E126, E133, E226, E241, E242, E704, W503, W504, W505 \ No newline at end of file +ignore = BLK, E121, E123, E126, E133, E226, E241, E242, E704, W503, W504, W505 diff --git a/.github/workflows/cartoframes-ci.yml b/.github/workflows/cartoframes-ci.yml new file mode 100644 index 000000000..03527e729 --- /dev/null +++ b/.github/workflows/cartoframes-ci.yml @@ -0,0 +1,36 @@ +name: Run CARTOFrames tests + +on: + push: + pull_request: + branches: + - master + - develop + +jobs: + test: + strategy: + matrix: + python-version: [3.5, 3.6, 3.7, 3.8] + + name: Run tests on Python ${{ matrix.python-version }} + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install tox + pip install tox-gh-actions + + - name: Test with tox + run: | + tox diff --git a/.gitignore b/.gitignore index 29c508f24..e332fc6b7 100644 --- a/.gitignore +++ b/.gitignore @@ -6,10 +6,12 @@ sandbox/ # Misc creds.json credentials.json +docs/guides/*.csv __pycache__ .*.sw[nop] .vscode +_debug # OS .DS_Store @@ -50,6 +52,7 @@ CARTOCREDS.json SITEKEY.txt secret.json examples/scratch/* +_debug # JavaScript node_modules @@ -61,6 +64,7 @@ htmlcov test_*.json .pytest_cache tmp_file.csv +my_dataset.csv fake_path # Sphinx documentation diff --git a/.hound.yml b/.hound.yml index 43800ce38..a4134d78d 100644 --- a/.hound.yml +++ b/.hound.yml @@ -4,4 +4,4 @@ flake8: jshint: enabled: true - config_file: .jshintrc \ No newline at end of file + config_file: .jshintrc diff --git a/.jshintignore b/.jshintignore index 2a78000d2..dca4bfd44 100644 --- a/.jshintignore +++ b/.jshintignore @@ -1 +1 @@ -cartoframes/assets/src/bundle.js \ No newline at end of file +cartoframes/assets/src/bundle.js diff --git a/.jshintrc b/.jshintrc index a82e6632a..fa0c9c89b 100644 --- a/.jshintrc +++ b/.jshintrc @@ -1,4 +1,4 @@ { "esversion": 6, "laxbreak" : true -} \ No newline at end of file +} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8cf6af66f..e1d27950e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,4 +2,4 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v2.3.0 hooks: - - id: flake8 \ No newline at end of file + - id: flake8 diff --git a/.pylintrc b/.pylintrc index 7930b096c..8b42939a8 100644 --- a/.pylintrc +++ b/.pylintrc @@ -42,4 +42,4 @@ disable= len-as-condition, old-style-class, superfluous-parens, - wrong-import-order, \ No newline at end of file + wrong-import-order, diff --git a/.template/GUIDE_PULL_REQUEST_TEMPLATE.md b/.template/GUIDE_PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index f0a128f7b..000000000 --- a/.template/GUIDE_PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,46 +0,0 @@ -# [Guide Title] - -## Introduction - -The introduction to the guide goes here. It should say what the purpose is and the main topics it covers. -In some cases it's possible to highlight here the **final result** you'll have learnt when finishing the guide. - -## [Data Used] (*optional*) - -- [Dataset 1 Name](dataset_link): Dataset description -- [Dataset 2 Name](dataset_link): Dataset description - -## [Section 1 Title] - -Explain what the Section 1 covers. - -To embed maps, use this iframe inside an `"example-map"` div container. Set a unique `id` as an attribute and assign your published map link in the `src` attribute. - -```html -
- -
-``` - -To add a link to the **reference** section, use the same namespace you'll use for any class or method in CARTOframes, but using dashes instead of dots. For example, `cartoframes.data.observatory.Category` is `cartoframes-data-observatory-Category`: - -To add a link to an **example**: - -``` - [Data Observatory - Category](/developers/cartoframes/reference/#cartoframes-data-observatory-Category) -``` - -## [Section n Title] - -Explain what the Section n covers. - -## Conclusion - -Explain the guide results, conclusions or main topics to enhance them. \ No newline at end of file diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ad4fcf438..000000000 --- a/.travis.yml +++ /dev/null @@ -1,12 +0,0 @@ -language: python -python: -- '3.5' -- '3.6' -- '3.7' -- '3.8' -install: -- pip install tox-travis -script: -- tox -after_success: -- coveralls diff --git a/CHANGELOG.md b/CHANGELOG.md index cd2ce692c..8aaf8d140 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,19 +5,53 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.1.0] - 2020-12-04 + +### Added +- Add new API to delete map publications (#1497) +- Provide Google (Data Observatory) credentials (#1688) + +### Changed +- Allow to set a value for null geometries (#1667) +- Add documentation for executing a single test (#1668) +- Add global datasets message in catalog functions (#1670) +- Remove sort by data_range when retrieving isolines (#1673) +- Switch from Travis to Github Actions (#1672) +- Upload table using to_carto in chunks (#1676) +- Check account disk quotas before writing using to_carto (#1674) +- Return GeoDataFrame in the to_dataframe function (#1681) +- Improve metrics for on-prem and staging (#1685) +- Optimize datasets/geographies download (#1693) +- Check geom_coverage and print a message if None (#1695) +- Remove unused BigQueryClient code (#1602) +- Repo clean-up. Refactor docs (#1682) +- Add tests for notebook execution (#1696) +- Use regenerate table in replace strategy (#1707) + +### Fixed +- Remove the batch_size parameter in the call to bulk_geocode (#1666) +- Fix credentials link for set_default_credentials (#1665) +- Fix identifier quoting for columns (#1675, #1678) +- Fix uploading extra the_geom column (#1677) +- Fix wrong username error (#1687) +- Fix empty popups (#1689, #1690) +- Remove None from geometry_types to check validity (#1691) +- Remove nan raw geometries for visualization (#1694) +- Generate carto_geocode_hash with NULL values (#1702) + ## [1.0.4] - 2020-07-06 -## Added +### Added - Add list_tables function (#1649) - Add catalog public filter to providers, countries and categories (#1658) - Add set_default_do_credentials function for DO authentication (#1655) -## Changed +### Changed - Open publication link in another window (#1647) - Show a warning when uploading a GeoDataFrame without geometry (#1650) - Improve GeoDataFrame CRS check, docs and examples (#1656) -## Fixed +### Fixed - Fix empty geometries issue (#1652) - Fix Layout publication API key issue (#1654) - Fix ColumnInfo comparison when replacing a table (#1660) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 9ecb4f85f..2fe9538fd 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -15,3 +15,5 @@ Víctor Velarde Mario de Frutos Dieguez Jesús Arroyo Mamata Akella +Josema Camacho +Antonio Carlón diff --git a/Makefile b/Makefile index b1f0ae1d3..5456d0a20 100644 --- a/Makefile +++ b/Makefile @@ -1,22 +1,17 @@ init: - pip install -r requirements.txt - -docs: - cd docs && make html + pip install -e . test: - nosetests -v test/ + pytest tests/unit/ + +clean: + rm -fr build/* dist/* .egg cartoframes.egg-info dist: python setup.py sdist bdist_wheel --universal -publish: clean dist send - send: twine upload dist/* -clean: - find . -name '*DS_Store' | xargs rm - rm -fr build/* dist/* .egg cartoframes.egg-info - -.PHONY: init docs test dist release clean send +publish: + clean dist send diff --git a/README.rst b/README.rst index 239990384..642a255ea 100644 --- a/README.rst +++ b/README.rst @@ -4,8 +4,8 @@ CARTOframes .. image:: https://travis-ci.org/CartoDB/cartoframes.svg?branch=develop :target: https://travis-ci.org/CartoDB/cartoframes -.. image:: https://img.shields.io/badge/pypi-v1.0.4-orange - :target: https://pypi.org/project/cartoframes/1.0.4 +.. image:: https://img.shields.io/badge/pypi-v1.1.0-orange + :target: https://pypi.org/project/cartoframes/1.1.0 A Python package for integrating `CARTO `__ maps, analysis, and data services into data science workflows. @@ -14,11 +14,11 @@ Python data analysis workflows often rely on the de facto standards `pandas =1.11.1') +check_package('carto', '>=1.11.2') check_package('pandas', '>=0.25.0') check_package('geopandas', '>=0.6.0') diff --git a/cartoframes/_version.py b/cartoframes/_version.py index 8a81504c5..1a72d32e5 100644 --- a/cartoframes/_version.py +++ b/cartoframes/_version.py @@ -1 +1 @@ -__version__ = '1.0.4' +__version__ = '1.1.0' diff --git a/cartoframes/assets/src/bundle.js b/cartoframes/assets/src/bundle.js index 9c4cf6dcb..dd823068e 100644 --- a/cartoframes/assets/src/bundle.js +++ b/cartoframes/assets/src/bundle.js @@ -485,14 +485,14 @@ var init = (function () { const lat = center.lat.toFixed(6); const lng = center.lng.toFixed(6); const zoom = map.getZoom().toFixed(2); - + mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`; } updateMapInfo(); map.on('zoom', updateMapInfo); - map.on('move', updateMapInfo); + map.on('move', updateMapInfo); } function getBasecolorSettings(basecolor) { @@ -566,7 +566,7 @@ var init = (function () { } // Track layers to add only one feature per layer layerIDs.push(feature.layerId); - + for (const item of attrs) { const variable = feature.variables[item.name]; if (variable) { @@ -581,12 +581,16 @@ var init = (function () { } } - popup - .setLngLat([event.coordinates.lng, event.coordinates.lat]) - .setHTML(``); + if (popupHTML) { + popup + .setLngLat([event.coordinates.lng, event.coordinates.lat]) + .setHTML(``); - if (!popup.isOpen()) { - popup.addTo(map); + if (!popup.isOpen()) { + popup.addTo(map); + } + } else { + popup.remove(); } } else { popup.remove(); @@ -945,7 +949,7 @@ var init = (function () { }); const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers); - + layerSelector.build(); } diff --git a/cartoframes/assets/src/map/popups.js b/cartoframes/assets/src/map/popups.js index ee7528954..1cbf31159 100644 --- a/cartoframes/assets/src/map/popups.js +++ b/cartoframes/assets/src/map/popups.js @@ -47,12 +47,16 @@ export function updatePopup(map, popup, event, attrs) { } } - popup - .setLngLat([event.coordinates.lng, event.coordinates.lat]) - .setHTML(``); + if (popupHTML) { + popup + .setLngLat([event.coordinates.lng, event.coordinates.lat]) + .setHTML(``); - if (!popup.isOpen()) { - popup.addTo(map); + if (!popup.isOpen()) { + popup.addTo(map); + } + } else { + popup.remove(); } } else { popup.remove(); diff --git a/cartoframes/auth/credentials.py b/cartoframes/auth/credentials.py index 9cd61ba68..ebaf8fc96 100644 --- a/cartoframes/auth/credentials.py +++ b/cartoframes/auth/credentials.py @@ -3,13 +3,13 @@ import os from urllib.parse import urlparse + from carto.auth import APIKeyAuthClient from carto.do_token import DoTokenManager from .. import __version__ from ..utils.logger import log -from ..utils.utils import is_valid_str, check_do_enabled, save_in_config, \ - read_from_config, default_config_path +from ..utils.utils import is_valid_str, check_do_enabled, save_in_config, read_from_config, default_config_path from warnings import filterwarnings filterwarnings('ignore', category=FutureWarning, module='carto') @@ -22,7 +22,7 @@ class Credentials: """Credentials class is used for managing and storing user CARTO credentials. The arguments are listed in order of precedence: :obj:`Credentials` instances are first, `key` and `base_url`/`username` are taken next, and - `config_file` (if given) is taken last. The config file is `cartocreds.json` + `config_file` (if given) is taken last. The config file is `creds.json` by default. If no arguments are passed, then there will be an attempt to retrieve credentials from a previously saved session. One of the above scenarios needs to be met to successfully @@ -64,6 +64,7 @@ def __init__(self, username=None, api_key='default_public', base_url=None, sessi self._user_id = None self._api_key_auth_client = None self._allow_non_secure = allow_non_secure + self._do_credentials = None self._norm_credentials() @@ -109,15 +110,25 @@ def session(self, session): """Set session""" self._session = session + @property + def me_data(self): + me_data = {} + + try: + me_data = self.get_api_key_auth_client().send(ME_SERVICE, 'get').json() + except Exception: + pass + + return me_data + @property def user_id(self): """Credentials user ID""" if not self._user_id: log.debug('Getting `user_id` for {}'.format(self._username)) - api_key_auth_client = self.get_api_key_auth_client() try: - user_me = api_key_auth_client.send(ME_SERVICE, 'get').json() + user_me = self.me_data() user_data = user_me.get('user_data') if user_data: self._user_id = user_data.get('id') @@ -194,7 +205,7 @@ def save(self, config_file=None): Args: config_file (str, optional): Location where credentials are to be stored. If no argument is provided, it will be send to the - default location. + default location (`creds.json`). Example: >>> credentials = Credentials(username='johnsmith', api_key='abcdefg') @@ -222,7 +233,7 @@ def save(self, config_file=None): def delete(cls, config_file=None): """Deletes the credentials file specified in `config_file`. If no file is specified, it deletes the default user credential file - (`cartocreds.json`) + (`creds.json`) Args: config_file (str): Path to configuration file. Defaults to delete @@ -246,11 +257,24 @@ def delete(cls, config_file=None): except OSError: log.warning('No credential file found at {}.'.format(path_to_remove)) - @check_do_enabled - def get_do_credentials(self): - """Returns the Data Observatory v2 credentials""" - do_token_manager = DoTokenManager(self.get_api_key_auth_client()) - return do_token_manager.get() + def is_instant_licensing_active(self): + """Returns if the user has instant licensing activated for the Data Observatory v2.""" + do_credentials = self._get_do_credentials() + return do_credentials.instant_licensing + + def get_gcloud_credentials(self): + """Returns the Data Observatory v2 Google Cloud Platform project and token. + + Example: + >>> from cartoframes.auth import Credentials + >>> from google.oauth2.credentials import Credentials as GoogleCredentials + >>> creds = Credentials(username='johnsmith', api_key='abcdefg') + >>> gcloud_project, gcloud_token = creds.get_gcloud_credentials() + >>> gcloud_credentials = GoogleCredentials(gcloud_token) + + """ + do_credentials = self._get_do_credentials() + return do_credentials.bq_project, do_credentials.access_token def get_api_key_auth_client(self): if not self._api_key_auth_client: @@ -264,6 +288,16 @@ def get_api_key_auth_client(self): return self._api_key_auth_client + @check_do_enabled + def _get_do_credentials(self): + """Returns the Data Observatory v2 credentials""" + if self._do_credentials: + return self._do_credentials + + do_token_manager = DoTokenManager(self.get_api_key_auth_client()) + self._do_credentials = do_token_manager.get() + return self._do_credentials + def _norm_credentials(self): """Standardize credentials""" if self._base_url: diff --git a/cartoframes/auth/defaults.py b/cartoframes/auth/defaults.py index 9f71930b3..4b8ede4bc 100644 --- a/cartoframes/auth/defaults.py +++ b/cartoframes/auth/defaults.py @@ -13,8 +13,10 @@ def set_default_credentials( Args: credentials (:py:class:`Credentials `, optional): - A :py:class:`Credentials ` + A :py:class:`Credentials ` instance can be used in place of a `username | base_url`/`api_key` combination. + filepath (str, optional): Location where credentials are stored as a JSON file. + username (str, optional): CARTO user name of the account. base_url (str, optional): Base URL of CARTO user account. Cloud-based accounts should use the form ``https://{username}.carto.com`` (e.g., https://johnsmith.carto.com for user ``johnsmith``) whether on @@ -22,12 +24,12 @@ def set_default_credentials( should ask their admin. api_key (str, optional): CARTO API key. Depending on the application, this can be a project API key or the account master API key. - username (str, optional): CARTO user name of the account. - filepath (str, optional): Location where credentials are stored as a JSON file. session (requests.Session, optional): requests session. See `requests documentation `__ for more information. + allow_non_secure (bool, optional): Allow non secure http connections. + By default is not allowed. .. note:: diff --git a/cartoframes/data/clients/bigquery_client.py b/cartoframes/data/clients/bigquery_client.py deleted file mode 100644 index f9710432b..000000000 --- a/cartoframes/data/clients/bigquery_client.py +++ /dev/null @@ -1,207 +0,0 @@ -import os -import csv -import tqdm -import pandas as pd - -from google.auth.exceptions import RefreshError -from google.cloud import bigquery, storage, bigquery_storage_v1beta1 as bigquery_storage -from google.oauth2.credentials import Credentials as GoogleCredentials -from google.api_core.exceptions import DeadlineExceeded - -from ...auth import get_default_credentials -from ...utils.logger import log -from ...utils.utils import timelogger, is_ipython_notebook -from ...exceptions import DOError - -_GCS_CHUNK_SIZE = 25 * 1024 * 1024 # 25MB. This must be a multiple of 256 KB per the API specification. -_BQS_TIMEOUT = 2 * 3600 # 2 hours in seconds - - -def refresh_clients(func): - def wrapper(self, *args, **kwargs): - try: - return func(self, *args, **kwargs) - except RefreshError: - self._init_clients() - try: - return func(self, *args, **kwargs) - except RefreshError: - raise DOError('Something went wrong accessing data. ' - 'Please, try again in a few seconds or contact support for help.') - return wrapper - - -class BigQueryClient: - - def __init__(self, credentials): - self._credentials = credentials or get_default_credentials() - self.bq_client = None - self.gcs_client = None - self.bq_storage_client = None - - self._gcp_execution_project = None - self.bq_public_project = None - self.bq_project = None - self.bq_dataset = None - self.instant_licensing = None - self._gcs_bucket = None - - self._init_clients() - - def _init_clients(self): - do_credentials = self._credentials.get_do_credentials() - google_credentials = GoogleCredentials(do_credentials.access_token) - - self.bq_client = bigquery.Client( - project=do_credentials.gcp_execution_project, - credentials=google_credentials - ) - - self.gcs_client = storage.Client( - project=do_credentials.bq_project, - credentials=google_credentials - ) - - self.bq_storage_client = bigquery_storage.BigQueryStorageClient( - credentials=google_credentials - ) - - self._gcp_execution_project = do_credentials.gcp_execution_project - self.bq_public_project = do_credentials.bq_public_project - self.bq_project = do_credentials.bq_project - self.bq_dataset = do_credentials.bq_dataset - self.instant_licensing = do_credentials.instant_licensing - self._gcs_bucket = do_credentials.gcs_bucket - - @refresh_clients - def query(self, query, **kwargs): - return self.bq_client.query(query, **kwargs) - - def upload_dataframe(self, dataframe, schema, tablename): - self._upload_dataframe_to_GCS(dataframe, tablename) - self._import_from_GCS_to_BQ(schema, tablename) - - @timelogger - def download_to_file(self, job, file_path, fail_if_exists=False, column_names=None, progress_bar=True): - if fail_if_exists and os.path.isfile(file_path): - raise OSError('The file `{}` already exists.'.format(file_path)) - - try: - rows = self._download_by_bq_storage_api(job) - except Exception: - log.debug('Cannot download using BigQuery Storage API, fallback to standard') - rows = _get_job_result(job, 'Error downloading data') - - try: - _rows_to_file(rows, file_path, column_names, progress_bar) - except DeadlineExceeded: - log.debug('Cannot download using BigQuery Storage API, fallback to standard') - rows = _get_job_result(job, 'Error downloading data') - _rows_to_file(rows, file_path, column_names, progress_bar) - - @timelogger - def download_to_dataframe(self, job): - try: - rows = self._download_by_bq_storage_api(job) - data = list(rows) - return pd.DataFrame(data) - except Exception: - log.debug('Cannot download using BigQuery Storage API, fallback to standard') - - try: - return job.to_dataframe() - except Exception: - if job.errors: - log.error([error['message'] for error in job.errors if 'message' in error]) - - raise DOError('Error downloading data') - - def _download_by_bq_storage_api(self, job, timeout=_BQS_TIMEOUT): - table_ref = job.destination.to_bqstorage() - - parent = 'projects/{}'.format(self._gcp_execution_project) - session = self.bq_storage_client.create_read_session( - table_ref, - parent, - requested_streams=1, - format_=bigquery_storage.enums.DataFormat.AVRO, - # We use a LIQUID strategy because we only read from a - # single stream. Consider BALANCED if requested_streams > 1 - sharding_strategy=(bigquery_storage.enums.ShardingStrategy.LIQUID) - ) - - reader = self.bq_storage_client.read_rows( - bigquery_storage.types.StreamPosition(stream=session.streams[0]), - timeout=timeout - ) - - return reader.rows(session) - - @refresh_clients - @timelogger - def _upload_dataframe_to_GCS(self, dataframe, tablename): - log.debug('Uploading to GCS') - bucket = self.gcs_client.get_bucket(self._gcs_bucket) - blob = bucket.blob(tablename, chunk_size=_GCS_CHUNK_SIZE) - dataframe.to_csv(tablename, index=False, header=False) - try: - blob.upload_from_filename(tablename) - finally: - os.remove(tablename) - - @refresh_clients - @timelogger - def _import_from_GCS_to_BQ(self, schema, tablename): - log.debug('Importing to BQ from GCS') - - dataset_ref = self.bq_client.dataset(self.bq_dataset, project=self.bq_project) - table_ref = dataset_ref.table(tablename) - schema_wrapped = [bigquery.SchemaField(column, dtype) for column, dtype in schema.items()] - - job_config = bigquery.LoadJobConfig() - job_config.schema = schema_wrapped - job_config.source_format = bigquery.SourceFormat.CSV - uri = 'gs://{bucket}/{tablename}'.format(bucket=self._gcs_bucket, tablename=tablename) - - job = self.bq_client.load_table_from_uri( - uri, table_ref, job_config=job_config - ) - - _get_job_result(job, 'Error uploading data') - - def get_table_column_names(self, project, dataset, table): - table_info = self._get_table(project, dataset, table) - return [field.name for field in table_info.schema] - - @refresh_clients - def _get_table(self, project, dataset, table): - full_table_name = '{}.{}.{}'.format(project, dataset, table) - return self.bq_client.get_table(full_table_name) - - -def _rows_to_file(rows, file_path, column_names=None, progress_bar=True): - show_progress_bar = progress_bar and is_ipython_notebook() - - if show_progress_bar: - pb = tqdm.tqdm_notebook(total=rows.total_rows) - - with open(file_path, 'w') as csvfile: - csvwriter = csv.writer(csvfile) - - if column_names: - csvwriter.writerow(column_names) - - for row in rows: - csvwriter.writerow(row.values()) - if show_progress_bar: - pb.update(1) - - -def _get_job_result(job, error_message): - try: - return job.result() - except Exception: - if job.errors: - log.error([error['message'] for error in job.errors if 'message' in error]) - - raise DOError(error_message) diff --git a/cartoframes/data/clients/data_obs_client.py b/cartoframes/data/clients/data_obs_client.py index c9097de03..bf6a5bbfa 100644 --- a/cartoframes/data/clients/data_obs_client.py +++ b/cartoframes/data/clients/data_obs_client.py @@ -9,14 +9,16 @@ from ...io.carto import read_carto, to_carto from ...utils import utils +from ...utils.utils import deprecated from ...io.managers.context_manager import ContextManager +@deprecated(message='The Data Observatory v1 is being deprecated. Use the `data.observatory` package instead') class DataObsClient: - """Data Observatory v1 class. `Data Observatory documentation + """Data Observatory v1 class (deprecated). `Data Observatory v1 documentation (deprecated) `__. - This class provides the following methods to interact with Data Observatory: + This class provides the following methods to interact with Data Observatory v1 (deprecated): - boundaries: returns a geopandas.GeoDataFrame with the geographic boundaries (geometries) or their metadata. - discovery: returns a pandas.DataFrame with the measures found. @@ -33,6 +35,7 @@ def __init__(self, credentials=None): self._credentials = credentials self._manager = ContextManager(credentials) + @deprecated(message='The Data Observatory v1 is being deprecated. Use the `data.observatory` package instead') def boundaries(self, boundary=None, region=None, decode_geom=False, timespan=None, include_nonclipped=False): """ @@ -47,45 +50,6 @@ def boundaries(self, boundary=None, region=None, decode_geom=False, to analyze how median income has changed in a region (see examples section for more). - Examples: - Find all boundaries available for Australia. The columns - `geom_name` gives us the name of the boundary and `geom_id` - is what we need for the `boundary` argument. - - >>> do = DataObsClient(credentials) - >>> au_boundaries = do.boundaries(region='Australia') - >>> au_boundaries[['geom_name', 'geom_id']] - - Get the boundaries for Australian Postal Areas and map them. - - >>> au_postal_areas = do.boundaries(boundary='au.geo.POA') - >>> Map(Layer(au_postal_areas)) - - Get census tracts around Idaho Falls, Idaho, USA, and add median - income from the US census. Without limiting the metadata, we get - median income measures for each census in the Data Observatory. - - >>> # Note: default credentials will be supported in a future release - >>> do = DataObsClient(credentials) - >>> # will return GeoDataFrame with columns `the_geom` and `geom_ref` - >>> tracts = do.boundaries( - ... boundary='us.census.tiger.census_tract', - ... region=[-112.096642,43.429932,-111.974213,43.553539]) - >>> # write geometries to a CARTO table - >>> tracts.upload('idaho_falls_tracts') - >>> # gather metadata needed to look up median income - >>> median_income_meta = do.discovery( - ... 'idaho_falls_tracts', - ... keywords='median income', - ... boundaries='us.census.tiger.census_tract') - >>> # get median income data and original table as new GeoDataFrame - >>> idaho_falls_income = do.augment( - ... 'idaho_falls_tracts', - ... median_income_meta, - ... how='geom_refs') - >>> # overwrite existing table with newly-enriched GeoDataFrame - >>> idaho_falls_income.upload('idaho_falls_tracts', if_exists='replace') - Args: boundary (str, optional): Boundary identifier for the boundaries @@ -94,8 +58,8 @@ def boundaries(self, boundary=None, region=None, decode_geom=False, Municipios have an ID of ``br.geo.municipios``. Find IDs by running :py:meth:`DataObsClient.boundaries ` - without any arguments, or by looking in the `Data Observatory - catalog `__. + without any arguments, or by looking in the `Data Observatory v1 catalog (deprecated) + `__. region (str, optional): Region where boundary information or, if `boundary` is specified, boundary polygons are of interest. @@ -111,7 +75,7 @@ def boundaries(self, boundary=None, region=None, decode_geom=False, ``[5.9559111595,45.8179931641,10.4920501709,47.808380127]`` timespan (str, optional): Specific timespan to get geometries from. - Defaults to use the most recent. See the Data Observatory catalog + Defaults to use the most recent. See the Data Observatory v1 catalog (deprecated) for more information. decode_geom (bool, optional): Whether to return the geometries as @@ -129,6 +93,47 @@ def boundaries(self, boundary=None, region=None, decode_geom=False, if `region` is ``None`` or not specified) are returned. If `boundary` is not specified, then a GeoDataFrame of all available boundaries in `region` (or the world if `region` is ``None``). + + Examples: + Find all boundaries available for Australia. The columns + `geom_name` gives us the name of the boundary and `geom_id` + is what we need for the `boundary` argument. + + >>> do = DataObsClient(credentials) + >>> au_boundaries = do.boundaries(region='Australia') + >>> au_boundaries[['geom_name', 'geom_id']] + + Get the boundaries for Australian Postal Areas and map them. + + >>> au_postal_areas = do.boundaries(boundary='au.geo.POA') + >>> Map(Layer(au_postal_areas)) + + Get census tracts around Idaho Falls, Idaho, USA, and add median + income from the US census. Without limiting the metadata, we get + median income measures for each census in the + Data Observatory v1 (deprecated). + + >>> # Note: default credentials will be supported in a future release + >>> do = DataObsClient(credentials) + >>> # will return GeoDataFrame with columns `the_geom` and `geom_ref` + >>> tracts = do.boundaries( + ... boundary='us.census.tiger.census_tract', + ... region=[-112.096642,43.429932,-111.974213,43.553539]) + >>> # write geometries to a CARTO table + >>> tracts.upload('idaho_falls_tracts') + >>> # gather metadata needed to look up median income + >>> median_income_meta = do.discovery( + ... 'idaho_falls_tracts', + ... keywords='median income', + ... boundaries='us.census.tiger.census_tract') + >>> # get median income data and original table as new GeoDataFrame + >>> idaho_falls_income = do.augment( + ... 'idaho_falls_tracts', + ... median_income_meta, + ... how='geom_refs') + >>> # overwrite existing table with newly-enriched GeoDataFrame + >>> idaho_falls_income.upload('idaho_falls_tracts', if_exists='replace') + """ # TODO: create a function out of this? if isinstance(region, str): @@ -193,14 +198,15 @@ def boundaries(self, boundary=None, region=None, decode_geom=False, time=utils.pgquote(timespan)) return self._fetch(query, decode_geom=decode_geom) + @deprecated(message='The Data Observatory v1 is being deprecated. Use the `data.observatory` package instead') def discovery(self, region, keywords=None, regex=None, time=None, boundaries=None, include_quantiles=False): - """Discover Data Observatory measures. This method returns the full - Data Observatory metadata model for each measure or measures that + """Discover Data Observatory v1 measures (deprecated). This method returns the full + Data Observatory v1 metadata model (deprecated) for each measure or measures that match the conditions from the inputs. The full metadata in each row uniquely defines a measure based on the timespan, geographic resolution, and normalization (if any). Read more about the metadata - response in `Data Observatory + response in `Data Observatory v1 (deprecated) `__ documentation. @@ -223,13 +229,13 @@ def discovery(self, region, keywords=None, regex=None, time=None, To remove the guesswork in how geographical resolutions are selected, specify one or more boundaries in `boundaries`. See - the boundaries section for each region in the `Data Observatory + the boundaries section for each region in the `Data Observatory v1 (deprecated) catalog `__. The metadata returned from this method can then be used to create raw tables or for augmenting an existing table from these measures using :py:meth:`DataObsClient.augment `. - For the full Data Observatory catalog, visit + For the full Data Observatory v1 catalog (deprecated), visit https://cartodb.github.io/bigmetadata/. When working with the metadata DataFrame returned from this method, be careful to only remove rows not columns as `DataObsClient.augment ` @@ -246,14 +252,6 @@ def discovery(self, region, keywords=None, regex=None, time=None, For example, setting the region to be United States counties with no filter values set will result in many thousands of measures. - Examples: - Get all European Union measures that mention ``freight``. - - >>> freight_meta = do.discovery('European Union', - ... keywords='freight', - ... time='2010') - >>> freight_meta['numer_name'].head() - Args: region (str or list of float): Information about the region of interest. @@ -269,8 +267,8 @@ def discovery(self, region, keywords=None, regex=None, time=None, with geometries. The region will be the bounding box of the table. - .. Note:: If a table name is also a valid Data Observatory - region name, the Data Observatory name will be chosen + .. Note:: If a table name is also a valid Data Observatory v1 (deprecated) + region name, the Data Observatory v1 (deprecated) name will be chosen over the table. - bounding box (list of float): @@ -296,10 +294,12 @@ def discovery(self, region, keywords=None, regex=None, time=None, case insensitive operator ``~*``. See `PostgreSQL docs `__ for more information. + time (str or list of str, optional): + Timespan or list of timespans to filter thje result. boundaries (str or list of str, optional): Boundary or list of boundaries that specify the measure resolution. See the - boundaries section for each region in the `Data Observatory - catalog `__. + boundaries section for each region in the `Data Observatory v1 + catalog (deprecated) `__. include_quantiles (bool, optional): Include quantiles calculations which are a calculation of how a measure compares to all measures in the full GeoDataFrame. @@ -315,6 +315,15 @@ def discovery(self, region, keywords=None, regex=None, time=None, ValueError: If `region` is a :obj:`list` and does not consist of four elements, or if `region` is not an acceptable region CartoException: If `region` is not a table in user account + + Examples: + Get all European Union measures that mention ``freight``. + + >>> freight_meta = do.discovery('European Union', + ... keywords='freight', + ... time='2010') + >>> freight_meta['numer_name'].head() + """ if isinstance(region, str): try: @@ -459,39 +468,19 @@ def discovery(self, region, keywords=None, regex=None, time=None, utils.debug_print(self._verbose, query=query) return DataFrame(self._fetch(query, decode_geom=True)) + @deprecated(message='The Data Observatory v1 is being deprecated. Use the `data.observatory` package instead') def augment(self, table_name, metadata, persist_as=None, how='the_geom'): - """Get an augmented CARTO dataset with `Data Observatory + """Get an augmented CARTO dataset with `Data Observatory v1 (deprecated) `__ measures. Use `DataObsClient.discovery <#DataObsClient.discovery>`__ to search for available - measures, or see the full `Data Observatory catalog + measures, or see the full `Data Observatory v1 catalog (deprecated) `__. Optionally persist the data as a new table. - Example: - Get a DataFrame with Data Observatory measures based on the - geometries in a CARTO table. - - >>> do = DataObsClient(credentials) - >>> median_income = do.discovery( - ... 'transaction_events', - ... regex='.*median income.*', - ... time='2011 - 2015') - >>> ds = do.augment('transaction_events', median_income) - - Pass in cherry-picked measures from the Data Observatory catalog. - The rest of the metadata will be filled in, but it's important to - specify the geographic level as this will not show up in the column - name. - - >>> median_income = [{'numer_id': 'us.census.acs.B19013001', - ... 'geom_id': 'us.census.tiger.block_group', - ... 'numer_timespan': '2011 - 2015'}] - >>> ds = do.augment('transaction_events', median_income) - Args: table_name (str): - Name of table on CARTO account that Data Observatory measures + Name of table on CARTO account that Data Observatory v1 measures (deprecated) are to be added to. metadata (pandas.DataFrame): List of all measures to add to @@ -525,7 +514,29 @@ def augment(self, table_name, metadata, persist_as=None, how='the_geom'): If metadata object is invalid or empty, or if the number of requested measures exceeds 50. CartoException: - If user account consumes all of Data Observatory quota + If user account consumes all of Data Observatory v1 (deprecated) quota + + Example: + Get a DataFrame with Data Observatory v1 measures (deprecated) based + on the geometries in a CARTO table. + + >>> do = DataObsClient(credentials) + >>> median_income = do.discovery( + ... 'transaction_events', + ... regex='.*median income.*', + ... time='2011 - 2015') + >>> ds = do.augment('transaction_events', median_income) + + Pass in cherry-picked measures from the Data Observatory v1 catalog (deprecated). + The rest of the metadata will be filled in, but it's important to + specify the geographic level as this will not show up in the column + name. + + >>> median_income = [{'numer_id': 'us.census.acs.B19013001', + ... 'geom_id': 'us.census.tiger.block_group', + ... 'numer_timespan': '2011 - 2015'}] + >>> ds = do.augment('transaction_events', median_income) + """ if isinstance(metadata, DataFrame): diff --git a/cartoframes/data/observatory/catalog/catalog.py b/cartoframes/data/observatory/catalog/catalog.py index 918dd1382..050b868f5 100644 --- a/cartoframes/data/observatory/catalog/catalog.py +++ b/cartoframes/data/observatory/catalog/catalog.py @@ -5,8 +5,10 @@ from .dataset import Dataset from .geography import Geography from .subscriptions import Subscriptions -from .repository.constants import COUNTRY_FILTER, CATEGORY_FILTER, GEOGRAPHY_FILTER, PROVIDER_FILTER, PUBLIC_FILTER +from .repository.constants import (COUNTRY_FILTER, CATEGORY_FILTER, GEOGRAPHY_FILTER, GLOBAL_COUNTRY_FILTER, + PROVIDER_FILTER, PUBLIC_FILTER) +from ....utils.logger import log from ....utils.utils import get_credentials @@ -126,7 +128,7 @@ def countries(self): :py:class:`CatalogList ` Raises: - CatalogError: if there's a problem when connecting to the catalog or no datasets are found. + CatalogError: if there's a problem when connecting to the catalog or no countries are found. """ return Country.get_all(self.filters) @@ -139,9 +141,10 @@ def categories(self): :py:class:`CatalogList ` Raises: - CatalogError: if there's a problem when connecting to the catalog or no datasets are found. + CatalogError: if there's a problem when connecting to the catalog or no categories are found. """ + self._global_message() return Category.get_all(self.filters) @property @@ -152,9 +155,10 @@ def providers(self): :py:class:`CatalogList ` Raises: - CatalogError: if there's a problem when connecting to the catalog or no datasets are found. + CatalogError: if there's a problem when connecting to the catalog or no providers are found. """ + self._global_message() return Provider.get_all(self.filters) @property @@ -168,6 +172,7 @@ def datasets(self): CatalogError: if there's a problem when connecting to the catalog or no datasets are found. """ + self._global_message() return Dataset.get_all(self.filters) @property @@ -178,9 +183,10 @@ def geographies(self): :py:class:`CatalogList ` Raises: - CatalogError: if there's a problem when connecting to the catalog or no datasets are found. + CatalogError: if there's a problem when connecting to the catalog or no geographies are found. """ + self._global_message() return Geography.get_all(self.filters) def country(self, country_id): @@ -188,7 +194,7 @@ def country(self, country_id): Args: country_id (str): - Id value of the country to be used for filtering the Catalog. + ID of the country to be used for filtering the Catalog. Returns: :py:class:`Catalog ` @@ -202,7 +208,7 @@ def category(self, category_id): Args: category_id (str): - Id value of the category to be used for filtering the Catalog. + ID of the category to be used for filtering the Catalog. Returns: :py:class:`Catalog ` @@ -216,7 +222,7 @@ def geography(self, geography_id): Args: geography_id (str): - Id or slug value of the geography to be used for filtering the Catalog + ID or slug of the geography to be used for filtering the Catalog Returns: :py:class:`Catalog ` @@ -236,7 +242,7 @@ def provider(self, provider_id): Args: provider_id (str): - Id value of the provider to be used for filtering the Catalog. + ID of the provider to be used for filtering the Catalog. Returns: :py:class:`CatalogList ` @@ -295,3 +301,8 @@ def datasets_filter(self, filter_dataset): """ return Dataset.get_datasets_spatial_filtered(filter_dataset) + + def _global_message(self): + if self.filters and self.filters.get(COUNTRY_FILTER) != GLOBAL_COUNTRY_FILTER: + log.info('You can find more entities with the Global country filter. To apply that filter run:' + "\n\tCatalog().country('glo')") diff --git a/cartoframes/data/observatory/catalog/dataset.py b/cartoframes/data/observatory/catalog/dataset.py index 915229235..ecbf714b7 100644 --- a/cartoframes/data/observatory/catalog/dataset.py +++ b/cartoframes/data/observatory/catalog/dataset.py @@ -17,9 +17,14 @@ from ....utils.utils import get_credentials, check_credentials, check_do_enabled from ....exceptions import DOError +DATASET_SUBSCRIPTION_ERROR = ( + 'You are not subscribed to this Dataset yet. ' + 'Please, use the subscribe method first.' +) + class Dataset(CatalogEntity): - """A Dataset represents the metadata of a particular dataset in the catalog. + """A Dataset represents the metadata of a particular dataset in the catalog. If you have Data Observatory enabled in your CARTO account you can: @@ -103,7 +108,7 @@ def description(self): @property def provider(self): - """Id of the :py:class:`Provider` of this dataset.""" + """ID of the :py:class:`Provider` of this dataset.""" return self.data['provider_id'] @property @@ -123,7 +128,7 @@ def category_name(self): @property def data_source(self): - """Id of the data source of this dataset.""" + """ID of the data source of this dataset.""" return self.data['data_source_id'] @property @@ -324,7 +329,6 @@ def get_all(cls, filters=None, credentials=None): credentials (:py:class:`Credentials `, optional): credentials of CARTO user account. If provided, only datasets granted for those credentials are returned. - filters (dict, optional): Dict containing pairs of dataset properties and its value to be used as filters to query the available datasets. If none is provided, no filters will be applied to the query. @@ -386,6 +390,9 @@ def to_csv(self, file_path, credentials=None, limit=None, order_by=None, sql_que credentials of CARTO user account. If not provided, a default credentials (if set with :py:meth:`set_default_credentials `) will be used. + limit (int, optional): + The number of rows to download. Default is to download all rows. + order_by (str, optional): Field(s) used to order the rows to download. Default is unordered. sql_query (str, optional): a query to select, filter or aggregate the content of the dataset. For instance, to download just one row: `select * from $dataset$ limit 1`. The placeholder `$dataset$` is mandatory and it will be replaced by the actual dataset before running the query. @@ -400,15 +407,14 @@ def to_csv(self, file_path, credentials=None, limit=None, order_by=None, sql_que """ _credentials = get_credentials(credentials) - if not self._is_subscribed(_credentials): - raise DOError('You are not subscribed to this Dataset yet. ' - 'Please, use the subscribe method first.') + if not self.is_subscribed(_credentials, DATASET_TYPE): + raise DOError(DATASET_SUBSCRIPTION_ERROR) self._download(_credentials, file_path, limit=limit, order_by=order_by, sql_query=sql_query, add_geom=add_geom) @check_do_enabled def to_dataframe(self, credentials=None, limit=None, order_by=None, sql_query=None, add_geom=None): - """Download dataset data as a pandas.DataFrame. You need Data Observatory enabled in your CARTO + """Download dataset data as a geopandas.GeoDataFrame. You need Data Observatory enabled in your CARTO account, please contact us at support@carto.com for more information. For premium datasets (those with `is_public_data` set to False), you need a subscription to the dataset. @@ -419,6 +425,9 @@ def to_dataframe(self, credentials=None, limit=None, order_by=None, sql_query=No credentials of CARTO user account. If not provided, a default credentials (if set with :py:meth:`set_default_credentials `) will be used. + limit (int, optional): + The number of rows to download. Default is to download all rows. + order_by (str, optional): Field(s) used to order the rows to download. Default is unordered. sql_query (str, optional): a query to select, filter or aggregate the content of the dataset. For instance, to download just one row: `select * from $dataset$ limit 1`. The placeholder `$dataset$` is mandatory and it will be replaced by the actual dataset before running the query. @@ -427,7 +436,7 @@ def to_dataframe(self, credentials=None, limit=None, order_by=None, sql_query=No Returns: - pandas.DataFrame + geopandas.GeoDataFrame Raises: DOError: if you have not a valid license for the dataset being downloaded, @@ -437,9 +446,8 @@ def to_dataframe(self, credentials=None, limit=None, order_by=None, sql_query=No """ _credentials = get_credentials(credentials) - if not self._is_subscribed(_credentials): - raise DOError('You are not subscribed to this Dataset yet. ' - 'Please, use the subscribe method first.') + if not self.is_subscribed(_credentials, DATASET_TYPE): + raise DOError(DATASET_SUBSCRIPTION_ERROR) return self._download(_credentials, limit=limit, order_by=order_by, sql_query=sql_query, add_geom=add_geom) @@ -506,14 +514,6 @@ def subscription_info(self, credentials=None): return subscription_info.SubscriptionInfo( subscription_info.fetch_subscription_info(self.id, DATASET_TYPE, _credentials)) - def _is_subscribed(self, credentials): - if self.is_public_data: - return True - - datasets = Dataset.get_all({}, credentials) - - return datasets is not None and self in datasets - def _get_summary_data(self): data = self.data.get('summary_json') diff --git a/cartoframes/data/observatory/catalog/entity.py b/cartoframes/data/observatory/catalog/entity.py index d75505393..9044fa769 100644 --- a/cartoframes/data/observatory/catalog/entity.py +++ b/cartoframes/data/observatory/catalog/entity.py @@ -1,8 +1,11 @@ import pandas as pd from abc import ABC +from geopandas import GeoDataFrame from carto.do_dataset import DODataset +from . import subscriptions +from ....utils.geom_utils import set_geometry from ....utils.logger import log _DATASET_READ_MSG = '''To load it as a DataFrame you can do: @@ -18,6 +21,8 @@ gdf = GeoDataFrame(df, geometry=decode_geometry(df['geom'])) ''' +GEOM_COL = 'geom' + class CatalogEntity(ABC): """This is an internal class the rest of the classes related to the catalog discovery extend. @@ -83,7 +88,7 @@ def get_list(cls, id_list): Args: id_list (list): - List of sD or slugs of entities in the catalog to retrieve instances. + List of ID or slugs of entities in the catalog to retrieve instances. Raises: CatalogError: if there's a problem when connecting to the catalog or no entities are found. @@ -99,6 +104,10 @@ def to_dict(self): """Converts the entity instance to a Python dict.""" return {key: value for key, value in self.data.items() if key not in self.export_excluded_fields} + def is_subscribed(self, credentials, entity_type): + """Check if the entity is subscribed""" + return self.is_public_data or self.id in subscriptions.get_subscription_ids(credentials, entity_type) + def __eq__(self, other): return self.data == other.data @@ -142,7 +151,12 @@ def _download(self, credentials, file_path=None, limit=None, order_by=None, sql_ log.info(_GEOGRAPHY_READ_MSG.format(file_path)) else: dataframe = pd.read_csv(rows) - return dataframe + gdf = GeoDataFrame(dataframe) + + if GEOM_COL in gdf: + set_geometry(gdf, GEOM_COL, inplace=True) + + return gdf def _get_remote_full_table_name(self, user_project, user_dataset, public_project): project, dataset, table = self.id.split('.') diff --git a/cartoframes/data/observatory/catalog/geography.py b/cartoframes/data/observatory/catalog/geography.py index 621a26bac..890989bde 100644 --- a/cartoframes/data/observatory/catalog/geography.py +++ b/cartoframes/data/observatory/catalog/geography.py @@ -8,6 +8,11 @@ from ....utils.utils import get_credentials, check_credentials, check_do_enabled from ....exceptions import DOError +GEOGRAPHY_SUBSCRIPTION_ERROR = ( + 'You are not subscribed to this Geography yet. ' + 'Please, use the subscribe method first.' +) + class Geography(CatalogEntity): """A Geography represents the metadata of a particular geography dataset in the catalog. @@ -95,7 +100,7 @@ def language(self): @property def provider(self): - """Id of the Provider of this geography.""" + """ID of the Provider of this geography.""" return self.data['provider_id'] @property @@ -189,6 +194,9 @@ def to_csv(self, file_path, credentials=None, limit=None, order_by=None, sql_que credentials of CARTO user account. If not provided, a default credentials (if set with :py:meth:`set_default_credentials `) will be used. + limit (int, optional): + The number of rows to download. Default is to download all rows. + order_by (str, optional): Field(s) used to order the rows to download. Default is unordered. sql_query (str, optional): a query to select, filter or aggregate the content of the geography dataset. For instance, to download just one row: `select * from $geography$ limit 1`. The placeholder `$geography$` is mandatory and it will be replaced by the actual geography dataset before running @@ -202,9 +210,8 @@ def to_csv(self, file_path, credentials=None, limit=None, order_by=None, sql_que """ _credentials = get_credentials(credentials) - if not self._is_subscribed(_credentials): - raise DOError('You are not subscribed to this Geography yet. ' - 'Please, use the subscribe method first.') + if not self.is_subscribed(_credentials, GEOGRAPHY_TYPE): + raise DOError(GEOGRAPHY_SUBSCRIPTION_ERROR) self._download(_credentials, file_path, limit=limit, order_by=order_by, sql_query=sql_query) @@ -221,6 +228,9 @@ def to_dataframe(self, credentials=None, limit=None, order_by=None, sql_query=No credentials of CARTO user account. If not provided, a default credentials (if set with :py:meth:`set_default_credentials `) will be used. + limit (int, optional): + The number of rows to download. Default is to download all rows. + order_by (str, optional): Field(s) used to order the rows to download. Default is unordered. sql_query (str, optional): a query to select, filter or aggregate the content of the geography dataset. For instance, to download just one row: `select * from $geography$ limit 1`. The placeholder `$geography$` is mandatory and it will be replaced by the actual geography dataset before running @@ -237,9 +247,8 @@ def to_dataframe(self, credentials=None, limit=None, order_by=None, sql_query=No """ _credentials = get_credentials(credentials) - if not self._is_subscribed(_credentials): - raise DOError('You are not subscribed to this Geography yet. ' - 'Please, use the subscribe method first.') + if not self.is_subscribed(_credentials, GEOGRAPHY_TYPE): + raise DOError(GEOGRAPHY_SUBSCRIPTION_ERROR) return self._download(_credentials, limit=limit, order_by=order_by, sql_query=sql_query) @@ -305,13 +314,5 @@ def subscription_info(self, credentials=None): return subscription_info.SubscriptionInfo( subscription_info.fetch_subscription_info(self.id, GEOGRAPHY_TYPE, _credentials)) - def _is_subscribed(self, credentials): - if self.is_public_data: - return True - - geographies = Geography.get_all({}, credentials) - - return geographies is not None and self in geographies - def __str__(self): return "".format(self._get_print_id()) diff --git a/cartoframes/data/observatory/catalog/repository/constants.py b/cartoframes/data/observatory/catalog/repository/constants.py index d44986a5e..9d9f24353 100644 --- a/cartoframes/data/observatory/catalog/repository/constants.py +++ b/cartoframes/data/observatory/catalog/repository/constants.py @@ -6,3 +6,4 @@ PUBLIC_FILTER = 'public' VARIABLE_FILTER = 'variable' VARIABLE_GROUP_FILTER = 'variable_group' +GLOBAL_COUNTRY_FILTER = 'glo' diff --git a/cartoframes/data/observatory/catalog/repository/geography_repo.py b/cartoframes/data/observatory/catalog/repository/geography_repo.py index 353ac0e17..d23fc9227 100644 --- a/cartoframes/data/observatory/catalog/repository/geography_repo.py +++ b/cartoframes/data/observatory/catalog/repository/geography_repo.py @@ -61,7 +61,7 @@ def _map_row(self, row): def get_geographies_gdf(self): data = self.client.get_geographies({'get_geoms_coverage': True}) gdf = GeoDataFrame(data, crs='epsg:4326') - set_geometry(gdf, col='geom_coverage', inplace=True) + set_geometry(gdf, 'geom_coverage', inplace=True) return gdf diff --git a/cartoframes/data/observatory/catalog/subscriptions.py b/cartoframes/data/observatory/catalog/subscriptions.py index 21e017191..ebf098304 100644 --- a/cartoframes/data/observatory/catalog/subscriptions.py +++ b/cartoframes/data/observatory/catalog/subscriptions.py @@ -43,7 +43,7 @@ def geographies(self): def get_subscription_ids(credentials, stype=None): subs = fetch_subscriptions(credentials) - return [s.id for s in subs if stype is None or stype == s.type] + return [s.id for s in subs if (stype is None or stype == s.type) and s.status == 'active'] def fetch_subscriptions(credentials): diff --git a/cartoframes/data/observatory/catalog/summary.py b/cartoframes/data/observatory/catalog/summary.py index 45b8447de..7df739c64 100644 --- a/cartoframes/data/observatory/catalog/summary.py +++ b/cartoframes/data/observatory/catalog/summary.py @@ -4,6 +4,7 @@ from shapely import wkb from ....utils.utils import check_package +from ....utils.logger import log def variable_describe(data): @@ -101,10 +102,13 @@ def geom_coverage(geography_id): from ....viz import Map, Layer geography = Geography.get(geography_id) - geom_coverage = wkb.loads(geography.geom_coverage, hex=True) - geom_coverage_gdf = gpd.GeoDataFrame({'geometry': [geom_coverage]}, geometry='geometry') - return Map(Layer(geom_coverage_gdf)) + if geography.geom_coverage: + geom_coverage = wkb.loads(geography.geom_coverage, hex=True) + geom_coverage_gdf = gpd.GeoDataFrame({'geometry': [geom_coverage]}, geometry='geometry') + return Map(Layer(geom_coverage_gdf)) + else: + log.info('Geometry coverage not available') def histogram(data): diff --git a/cartoframes/data/observatory/catalog/utils.py b/cartoframes/data/observatory/catalog/utils.py index d0a2edfb7..a0f3a589a 100644 --- a/cartoframes/data/observatory/catalog/utils.py +++ b/cartoframes/data/observatory/catalog/utils.py @@ -15,7 +15,7 @@ def display_existing_subscription_message(entity_id, entity_type): def display_subscription_form(entity_id, entity_type, credentials): info = fetch_subscription_info(entity_id, entity_type, credentials) - instant_licensing = credentials.get_do_credentials().instant_licensing + instant_licensing = credentials.is_instant_licensing_active() if is_ipython_notebook(): _display_subscription_form_notebook(entity_id, entity_type, info, instant_licensing, credentials) diff --git a/cartoframes/data/services/geocoding.py b/cartoframes/data/services/geocoding.py index 68bc301a7..4ef8b7e65 100644 --- a/cartoframes/data/services/geocoding.py +++ b/cartoframes/data/services/geocoding.py @@ -57,7 +57,8 @@ def geocode(self, source, street, city=None, state=None, country=None, status=geocoding_constants.DEFAULT_STATUS, table_name=None, if_exists='fail', - dry_run=False, cached=None): + dry_run=False, cached=None, + null_geom_value=None): """Geocode method. Args: @@ -92,6 +93,8 @@ def geocode(self, source, street, table. This parameter should be used along with ``table_name``. dry_run (bool, optional): no actual geocoding will be performed (useful to check the needed quota) + null_geom_value (Object, optional): value for the `the_geom` column when it's null. + Defaults to None Returns: A named-tuple ``(data, metadata)`` containing either a ``data`` geopandas.GeoDataFrame @@ -184,7 +187,7 @@ def geocode(self, source, street, if dry_run: return self.result(data=None, metadata=metadata) - gdf = read_carto(input_table_name, self._credentials) + gdf = read_carto(input_table_name, self._credentials, null_geom_value=null_geom_value) if self._source_manager.is_dataframe() and CARTO_INDEX_KEY in gdf: del gdf[CARTO_INDEX_KEY] diff --git a/cartoframes/data/services/isolines.py b/cartoframes/data/services/isolines.py index 4da8f7c26..08a197636 100644 --- a/cartoframes/data/services/isolines.py +++ b/cartoframes/data/services/isolines.py @@ -202,8 +202,7 @@ def _iso_areas(self, # Execute and download the query to generate the isolines gdf = read_carto(sql, self._credentials) - # Sorting by `data_range` column and recalculating `cartodb_id` - gdf.sort_values(by=[DATA_RANGE_KEY], ascending=ascending, inplace=True) + # Recalculating `cartodb_id` gdf.reset_index(drop=True, inplace=True) if CARTO_INDEX_KEY in gdf.columns: gdf[CARTO_INDEX_KEY] = gdf.index + 1 diff --git a/cartoframes/data/services/utils/geocoding_constants.py b/cartoframes/data/services/utils/geocoding_constants.py index fcd6895b0..51c480611 100644 --- a/cartoframes/data/services/utils/geocoding_constants.py +++ b/cartoframes/data/services/utils/geocoding_constants.py @@ -1,6 +1,5 @@ __all__ = [ 'HASH_COLUMN', - 'BATCH_SIZE', 'DEFAULT_STATUS', 'QUOTA_SERVICE', 'STATUS_FIELDS', @@ -12,8 +11,6 @@ HASH_COLUMN = 'carto_geocode_hash' -BATCH_SIZE = 200 - DEFAULT_STATUS = {'gc_status_rel': 'relevance'} QUOTA_SERVICE = 'hires_geocoder' diff --git a/cartoframes/data/services/utils/geocoding_utils.py b/cartoframes/data/services/utils/geocoding_utils.py index d73ef1578..ac11cc7ef 100644 --- a/cartoframes/data/services/utils/geocoding_utils.py +++ b/cartoframes/data/services/utils/geocoding_utils.py @@ -55,8 +55,8 @@ def prefixed_column_or_value(attr, prefix): def hash_expr(street, city, state, country, table_prefix=None): street, city, state, country = (prefixed_column_or_value(v, table_prefix) for v in (street, city, state, country)) - hashed_expr = " || '<>' || ".join([street, city or "''", state or "''", country or "''"]) - return "md5({hashed_expr})".format(hashed_expr=hashed_expr) + hashed_cols = ", '<>' , ".join([street, city or "''", state or "''", country or "''"]) + return "md5(concat({hashed_cols}))".format(hashed_cols=hashed_cols) def needs_geocoding_expr(hash_expr): @@ -144,16 +144,14 @@ def geocode_query(table, schema, street, city, state, country, status): {street}, {city}, {state}, - {country}, - {batch_size} + {country} ) """.format( query=query, street=column_name(street), city=column_name(city), state=column_name(state), - country=column_name(country), - batch_size=geocoding_constants.BATCH_SIZE + country=column_name(country) ) status_assignment, status_columns = status_assignment_columns(status) diff --git a/cartoframes/io/carto.py b/cartoframes/io/carto.py index d8e5bee14..51e510921 100644 --- a/cartoframes/io/carto.py +++ b/cartoframes/io/carto.py @@ -1,12 +1,13 @@ """Functions to interact with the CARTO platform""" +import math from pandas import DataFrame from geopandas import GeoDataFrame from carto.exceptions import CartoException -from .managers.context_manager import ContextManager -from ..utils.geom_utils import check_crs, has_geometry, set_geometry +from .managers.context_manager import ContextManager, _compute_copy_data, get_dataframe_columns_info +from ..utils.geom_utils import is_reprojection_needed, reproject, has_geometry, set_geometry from ..utils.logger import log from ..utils.utils import is_valid_str, is_sql_query from ..utils.metrics import send_metrics @@ -15,9 +16,14 @@ GEOM_COLUMN_NAME = 'the_geom' IF_EXISTS_OPTIONS = ['fail', 'replace', 'append'] +MAX_UPLOAD_SIZE_BYTES = 2000000000 # 2GB +SAMPLE_ROWS_NUMBER = 100 +CSV_TO_CARTO_RATIO = 1.4 + @send_metrics('data_downloaded') -def read_carto(source, credentials=None, limit=None, retry_times=3, schema=None, index_col=None, decode_geom=True): +def read_carto(source, credentials=None, limit=None, retry_times=3, schema=None, index_col=None, decode_geom=True, + null_geom_value=None): """Read a table or a SQL query from the CARTO account. Args: @@ -32,6 +38,8 @@ def read_carto(source, credentials=None, limit=None, retry_times=3, schema=None, `current_schema()` using the credentials. index_col (str, optional): name of the column to be loaded as index. It can be used also to set the index name. decode_geom (bool, optional): convert the "the_geom" column into a valid geometry column. + null_geom_value (Object, optional): value for the `the_geom` column when it's null. + Defaults to None Returns: geopandas.GeoDataFrame @@ -59,12 +67,16 @@ def read_carto(source, credentials=None, limit=None, retry_times=3, schema=None, # Decode geometry column set_geometry(gdf, GEOM_COLUMN_NAME, inplace=True) + if null_geom_value is not None: + gdf[GEOM_COLUMN_NAME].fillna(null_geom_value, inplace=True) + return gdf @send_metrics('data_uploaded') def to_carto(dataframe, table_name, credentials=None, if_exists='fail', geom_col=None, index=False, index_label=None, - cartodbfy=True, log_enabled=True): + cartodbfy=True, log_enabled=True, retry_times=3, max_upload_size=MAX_UPLOAD_SIZE_BYTES, + skip_quota_warning=False): """Upload a DataFrame to CARTO. The geometry's CRS must be WGS 84 (EPSG:4326) so you can use it on CARTO. Args: @@ -79,6 +91,14 @@ def to_carto(dataframe, table_name, credentials=None, if_exists='fail', geom_col uses the name of the index from the dataframe. cartodbfy (bool, optional): convert the table to CARTO format. Default True. More info `here `. + log_enabled (bool, optional): enable the logging mechanism. Default is True. + retry_times (int, optional): + Number of time to retry the upload in case it fails. Default is 3. + max_upload_size (int, optional): defines the maximum size of the dataframe to be uploaded. + Default is 2GB. + skip_quota_warning (bool, optional): skip the quota exceeded check and force the upload. + (The upload will still fail if the size of the dataset exceeds the remaining DB quota). + Default is False. Returns: string: the table name normalized. @@ -91,7 +111,8 @@ def to_carto(dataframe, table_name, credentials=None, if_exists='fail', geom_col raise ValueError('Wrong dataframe. You should provide a valid DataFrame instance.') if isinstance(dataframe, GeoDataFrame): - check_crs(dataframe) + if is_reprojection_needed(dataframe): + dataframe = reproject(dataframe) if not is_valid_str(table_name): raise ValueError('Wrong table name. You should provide a valid table name.') @@ -102,6 +123,19 @@ def to_carto(dataframe, table_name, credentials=None, if_exists='fail', geom_col context_manager = ContextManager(credentials) + if not skip_quota_warning: + me_data = context_manager.credentials.me_data + if me_data is not None and me_data.get('user_data'): + n = min(SAMPLE_ROWS_NUMBER, len(dataframe)) + estimated_byte_size = len(dataframe.sample(n=n).to_csv(header=False)) * len(dataframe) \ + / n / CSV_TO_CARTO_RATIO + remaining_byte_quota = me_data.get('user_data').get('remaining_byte_quota') + + if remaining_byte_quota is not None and estimated_byte_size > remaining_byte_quota: + raise CartoException('DB Quota will be exceeded. ' + 'The remaining quota is {} bytes and the dataset size is {} bytes.'.format( + remaining_byte_quota, estimated_byte_size)) + gdf = GeoDataFrame(dataframe, copy=True) if index: @@ -118,13 +152,23 @@ def to_carto(dataframe, table_name, credentials=None, if_exists='fail', geom_col gdf.set_geometry(dataframe.geometry.name, inplace=True) if has_geometry(gdf): + if GEOM_COLUMN_NAME in gdf and dataframe.geometry.name != GEOM_COLUMN_NAME: + gdf.drop(columns=[GEOM_COLUMN_NAME], inplace=True) + # Prepare geometry column for the upload gdf.rename_geometry(GEOM_COLUMN_NAME, inplace=True) elif isinstance(dataframe, GeoDataFrame): log.warning('Geometry column not found in the GeoDataFrame.') - table_name = context_manager.copy_from(gdf, table_name, if_exists, cartodbfy) + chunk_count = math.ceil(estimate_csv_size(gdf) / max_upload_size) + chunk_row_size = int(math.ceil(len(gdf) / chunk_count)) + chunked_gdf = [gdf[i:i + chunk_row_size] for i in range(0, gdf.shape[0], chunk_row_size)] + + for i, chunk in enumerate(chunked_gdf): + if i > 0: + if_exists = 'append' + table_name = context_manager.copy_from(chunk, table_name, if_exists, cartodbfy, retry_times) if log_enabled: log.info('Success! Data uploaded to table "{}" correctly'.format(table_name)) @@ -138,11 +182,9 @@ def list_tables(credentials=None): Args: credentials (:py:class:`Credentials `, optional): instance of Credentials (username, api_key, etc). - schema (str, optional): prefix of the table. By default, it gets the - `current_schema()` using the credentials. Returns: - DataFrame: A DataFrame with all the table names for the given credentials and schema. + DataFrame: A DataFrame with all the table names for the given credentials. """ context_manager = ContextManager(credentials) @@ -180,6 +222,7 @@ def delete_table(table_name, credentials=None, log_enabled=True): table_name (str): name of the table. credentials (:py:class:`Credentials `, optional): instance of Credentials (username, api_key, etc). + log_enabled (bool, optional): enable the logging mechanism. Default is True. Raises: ValueError: if the table name is not a valid table name. @@ -207,6 +250,7 @@ def rename_table(table_name, new_table_name, credentials=None, if_exists='fail', credentials (:py:class:`Credentials `, optional): instance of Credentials (username, api_key, etc). if_exists (str, optional): 'fail', 'replace'. Default is 'fail'. + log_enabled (bool, optional): enable the logging mechanism. Default is True. Raises: ValueError: if the table names provided are wrong or the if_exists param is not valid. @@ -239,6 +283,7 @@ def copy_table(table_name, new_table_name, credentials=None, if_exists='fail', l credentials (:py:class:`Credentials `, optional): instance of Credentials (username, api_key, etc). if_exists (str, optional): 'fail', 'replace', 'append'. Default is 'fail'. + log_enabled (bool, optional): enable the logging mechanism. Default is True. Raises: ValueError: if the table names provided are wrong or the if_exists param is not valid. @@ -272,6 +317,7 @@ def create_table_from_query(query, new_table_name, credentials=None, if_exists=' credentials (:py:class:`Credentials `, optional): instance of Credentials (username, api_key, etc). if_exists (str, optional): 'fail', 'replace', 'append'. Default is 'fail'. + log_enabled (bool, optional): enable the logging mechanism. Default is True. Raises: ValueError: if the query or table name provided is wrong or the if_exists param is not valid. @@ -340,6 +386,7 @@ def update_privacy_table(table_name, privacy, credentials=None, log_enabled=True privacy (str): privacy of the table: 'private', 'public', 'link'. credentials (:py:class:`Credentials `, optional): instance of Credentials (username, api_key, etc). + log_enabled (bool, optional): enable the logging mechanism. Default is True. Raises: ValueError: if the table name is wrong or the privacy name @@ -358,3 +405,10 @@ def update_privacy_table(table_name, privacy, credentials=None, log_enabled=True if log_enabled: log.info('Success! Table "{}" privacy updated correctly'.format(table_name)) + + +def estimate_csv_size(gdf): + n = min(SAMPLE_ROWS_NUMBER, len(gdf)) + columns = get_dataframe_columns_info(gdf) + return sum([len(x) for x in + _compute_copy_data(gdf.sample(n=n), columns)]) * len(gdf) / n diff --git a/cartoframes/io/managers/context_manager.py b/cartoframes/io/managers/context_manager.py index df6fcee43..7343f03ed 100644 --- a/cartoframes/io/managers/context_manager.py +++ b/cartoframes/io/managers/context_manager.py @@ -8,19 +8,56 @@ from carto.datasets import DatasetManager from carto.exceptions import CartoException, CartoRateLimitException from carto.sql import SQLClient, BatchSQLClient, CopySQLClient +from pyrestcli.exceptions import NotFoundException from ..dataset_info import DatasetInfo from ... import __version__ from ...auth.defaults import get_default_credentials from ...utils.logger import log from ...utils.geom_utils import encode_geometry_ewkb -from ...utils.utils import is_sql_query, check_credentials, encode_row, map_geom_type, PG_NULL -from ...utils.columns import get_dataframe_columns_info, get_query_columns_info, obtain_converters, \ - date_columns_names, normalize_name +from ...utils.utils import is_sql_query, check_credentials, encode_row, map_geom_type, PG_NULL, double_quote +from ...utils.columns import (get_dataframe_columns_info, get_query_columns_info, obtain_converters, date_columns_names, + normalize_name) DEFAULT_RETRY_TIMES = 3 +def retry_copy(func): + def wrapper(*args, **kwargs): + m_retry_times = kwargs.get('retry_times', DEFAULT_RETRY_TIMES) + while m_retry_times >= 1: + try: + return func(*args, **kwargs) + except CartoRateLimitException as err: + m_retry_times -= 1 + + if m_retry_times <= 0: + warn(('Read call was rate-limited. ' + 'This usually happens when there are multiple queries being read at the same time.')) + raise err + + warn('Read call rate limited. Waiting {s} seconds'.format(s=err.retry_after)) + time.sleep(err.retry_after) + warn('Retrying...') + return func(*args, **kwargs) + return wrapper + + +def not_found(func): + def decorator_func(*args, **kwargs): + try: + return func(*args, **kwargs) + + except CartoException as e: + if hasattr(e, 'args') and isinstance(e.args, (list, tuple)) and type(e.args[0]) == NotFoundException: + raise Exception('Resource not found') from None + + else: + raise e + + return decorator_func + + class ContextManager: def __init__(self, credentials): @@ -32,19 +69,22 @@ def __init__(self, credentials): self.copy_client = CopySQLClient(self.auth_client) self.batch_sql_client = BatchSQLClient(self.auth_client) + @not_found def execute_query(self, query, parse_json=True, do_post=True, format=None, **request_args): return self.sql_client.send(query.strip(), parse_json, do_post, format, **request_args) + @not_found def execute_long_running_query(self, query): return self.batch_sql_client.create_and_wait_for_completion(query.strip()) - def copy_to(self, source, schema, limit=None, retry_times=DEFAULT_RETRY_TIMES): + def copy_to(self, source, schema=None, limit=None, retry_times=DEFAULT_RETRY_TIMES): query = self.compute_query(source, schema) columns = self._get_query_columns_info(query) copy_query = self._get_copy_query(query, columns, limit) return self._copy_to(copy_query, columns, retry_times) - def copy_from(self, gdf, table_name, if_exists='fail', cartodbfy=True): + def copy_from(self, gdf, table_name, if_exists='fail', cartodbfy=True, + retry_times=DEFAULT_RETRY_TIMES): schema = self.get_schema() table_name = self.normalize_table_name(table_name) df_columns = get_dataframe_columns_info(gdf) @@ -59,7 +99,8 @@ def copy_from(self, gdf, table_name, if_exists='fail', cartodbfy=True): self._truncate_table(table_name, schema, cartodbfy) else: # Diff columns: truncate table and drop + add columns - self._truncate_and_drop_add_columns(table_name, schema, df_columns, table_columns, cartodbfy) + self._truncate_and_drop_add_columns( + table_name, schema, df_columns, table_columns, cartodbfy) elif if_exists == 'fail': raise Exception('Table "{schema}.{table_name}" already exists in your CARTO account. ' @@ -71,7 +112,7 @@ def copy_from(self, gdf, table_name, if_exists='fail', cartodbfy=True): else: self._create_table_from_columns(table_name, schema, df_columns, cartodbfy) - self._copy_from(gdf, table_name, df_columns) + self._copy_from(gdf, table_name, df_columns, retry_times) return table_name def create_table_from_query(self, query, table_name, if_exists, cartodbfy=True): @@ -151,7 +192,9 @@ def get_schema(self): """Get user schema from current credentials""" query = 'SELECT current_schema()' result = self.execute_query(query, do_post=False) - return result['rows'][0]['current_schema'] + schema = result['rows'][0]['current_schema'] + log.debug('schema: {}'.format(schema)) + return schema def get_geom_type(self, query): """Fetch geom type of a remote table or query""" @@ -169,7 +212,7 @@ def get_geom_type(self, query): def get_num_rows(self, query): """Get the number of rows in the query""" - result = self.execute_query("SELECT COUNT(*) FROM ({query}) _query".format(query=query)) + result = self.execute_query('SELECT COUNT(*) FROM ({query}) _query'.format(query=query)) return result.get('rows')[0].get('count') def get_bounds(self, query): @@ -251,7 +294,8 @@ def _truncate_table(self, table_name, schema, cartodbfy): def _truncate_and_drop_add_columns(self, table_name, schema, df_columns, table_columns, cartodbfy): log.debug('TRUNCATE AND DROP + ADD columns table "{}"'.format(table_name)) - query = 'BEGIN; {truncate}; {drop_columns}; {add_columns}; {cartodbfy}; COMMIT;'.format( + query = '{regenerate}; BEGIN; {truncate}; {drop_columns}; {add_columns}; {cartodbfy}; COMMIT;'.format( + regenerate=_regenerate_table_query(table_name, schema) if self._check_regenerate_table_exists() else '', truncate=_truncate_table_query(table_name), drop_columns=_drop_columns_query(table_name, table_columns), add_columns=_add_columns_query(table_name, df_columns), @@ -278,6 +322,16 @@ def _check_exists(self, query): except CartoException: return False + def _check_regenerate_table_exists(self): + query = ''' + SELECT 1 + FROM pg_catalog.pg_proc p + LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace + WHERE p.proname = 'cdb_regeneratetable' AND n.nspname = 'cartodb'; + ''' + result = self.execute_query(query) + return len(result['rows']) > 0 + def _get_query_columns_info(self, query): query = 'SELECT * FROM ({}) _q LIMIT 0'.format(query) table_info = self.execute_query(query) @@ -285,7 +339,9 @@ def _get_query_columns_info(self, query): def _get_copy_query(self, query, columns, limit): query_columns = [ - column.name for column in columns if (column.name != 'the_geom_webmercator')] + double_quote(column.name) for column in columns + if (column.name != 'the_geom_webmercator') + ] query = 'SELECT {columns} FROM ({query}) _q'.format( query=query, @@ -299,23 +355,12 @@ def _get_copy_query(self, query, columns, limit): return query - def _copy_to(self, query, columns, retry_times): + @retry_copy + def _copy_to(self, query, columns, retry_times=DEFAULT_RETRY_TIMES): log.debug('COPY TO') - copy_query = 'COPY ({0}) TO stdout WITH (FORMAT csv, HEADER true, NULL \'{1}\')'.format(query, PG_NULL) + copy_query = "COPY ({0}) TO stdout WITH (FORMAT csv, HEADER true, NULL '{1}')".format(query, PG_NULL) - try: - raw_result = self.copy_client.copyto_stream(copy_query) - except CartoRateLimitException as err: - if retry_times > 0: - retry_times -= 1 - warn('Read call rate limited. Waiting {s} seconds'.format(s=err.retry_after)) - time.sleep(err.retry_after) - warn('Retrying...') - return self._copy_to(query, columns, retry_times) - else: - warn(('Read call was rate-limited. ' - 'This usually happens when there are multiple queries being read at the same time.')) - raise err + raw_result = self.copy_client.copyto_stream(copy_query) converters = obtain_converters(columns) parse_dates = date_columns_names(columns) @@ -327,14 +372,16 @@ def _copy_to(self, query, columns, retry_times): return df - def _copy_from(self, dataframe, table_name, columns): + @retry_copy + def _copy_from(self, dataframe, table_name, columns, retry_times=DEFAULT_RETRY_TIMES): log.debug('COPY FROM') query = """ COPY {table_name}({columns}) FROM stdin WITH (FORMAT csv, DELIMITER '|', NULL '{null}'); """.format( table_name=table_name, null=PG_NULL, - columns=','.join(column.dbname for column in columns)).strip() + columns=','.join(double_quote(column.dbname) for column in columns)).strip() data = _compute_copy_data(dataframe, columns) + self.copy_client.copyfrom(query, data) def _rename_table(self, table_name, new_table_name): @@ -360,17 +407,19 @@ def _truncate_table_query(table_name): def _drop_columns_query(table_name, columns): - columns = ['DROP COLUMN {0}'.format(c.dbname) for c in columns if _not_reserved(c.dbname)] + columns = ['DROP COLUMN {name}'.format(name=double_quote(c.dbname)) + for c in columns if _not_reserved(c.dbname)] return 'ALTER TABLE {table_name} {drop_columns}'.format( table_name=table_name, - drop_columns=', '.join(columns)) + drop_columns=','.join(columns)) def _add_columns_query(table_name, columns): - columns = ['ADD COLUMN {0} {1}'.format(c.dbname, c.dbtype) for c in columns if _not_reserved(c.dbname)] + columns = ['ADD COLUMN {name} {type}'.format(name=double_quote(c.dbname), type=c.dbtype) + for c in columns if _not_reserved(c.dbname)] return 'ALTER TABLE {table_name} {add_columns}'.format( table_name=table_name, - add_columns=', '.join(columns)) + add_columns=','.join(columns)) def _not_reserved(column): @@ -379,10 +428,10 @@ def _not_reserved(column): def _create_table_from_columns_query(table_name, columns): - columns = ['{name} {type}'.format(name=c.dbname, type=c.dbtype) for c in columns] + columns = ['{name} {type}'.format(name=double_quote(c.dbname), type=c.dbtype) for c in columns] return 'CREATE TABLE {table_name} ({columns})'.format( table_name=table_name, - columns=', '.join(columns)) + columns=','.join(columns)) def _create_table_from_query_query(table_name, query): @@ -394,6 +443,11 @@ def _cartodbfy_query(table_name, schema): schema=schema, table_name=table_name) +def _regenerate_table_query(table_name, schema): + return "SELECT CDB_RegenerateTable('{schema}.{table_name}'::regclass)".format( + schema=schema, table_name=table_name) + + def _rename_table_query(table_name, new_table_name): return 'ALTER TABLE {table_name} RENAME TO {new_table_name};'.format( table_name=table_name, new_table_name=new_table_name) @@ -409,7 +463,7 @@ def _create_auth_client(credentials, public=False): def _compute_copy_data(df, columns): - for index, _ in df.iterrows(): + for index in df.index: row_data = [] for column in columns: val = df.at[index, column.name] diff --git a/cartoframes/utils/geom_utils.py b/cartoframes/utils/geom_utils.py index 1f8221c9f..dbd8d4cee 100644 --- a/cartoframes/utils/geom_utils.py +++ b/cartoframes/utils/geom_utils.py @@ -49,9 +49,9 @@ def set_geometry(gdf, col, drop=False, inplace=False, crs=None): if isinstance(col, str): if col not in frame: raise Exception('Column "{0}" does not exist.'.format(col)) - frame[col] = decode_geometry(frame[col]) + frame[col] = decode_geometry(frame[col].dropna()) else: - col = decode_geometry(col) + col = decode_geometry(col.dropna()) # Call set_geometry with decoded column frame.set_geometry(col, drop=drop, inplace=True, crs=crs) @@ -255,11 +255,13 @@ def to_geojson(geom, buffer_simplify=True): return json.dumps(shapely.geometry.mapping(geom), sort_keys=True) -def check_crs(gdf): - current_crs = get_crs(gdf) - expected_crs = 'epsg:4326' - if current_crs is not None and current_crs != expected_crs: - raise ValueError('No valid geometry CRS "{}", it must be "{}".'.format(current_crs, expected_crs)) +def is_reprojection_needed(gdf): + crs = get_crs(gdf) + return crs is not None and crs != 'epsg:4326' + + +def reproject(gdf, epsg=4326): + return gdf.to_crs(epsg=epsg) def get_crs(gdf): diff --git a/cartoframes/utils/logger.py b/cartoframes/utils/logger.py index fdaf4dbbd..02b7ad3ac 100644 --- a/cartoframes/utils/logger.py +++ b/cartoframes/utils/logger.py @@ -31,6 +31,7 @@ def set_log_level(level): 'notset': logging.NOTSET } + level = level.lower() if level not in levels: return ValueError('Wrong log level. Valid log levels are: critical, error, warning, info, debug, notset.') diff --git a/cartoframes/utils/metrics.py b/cartoframes/utils/metrics.py index a1f0a1c92..118644665 100644 --- a/cartoframes/utils/metrics.py +++ b/cartoframes/utils/metrics.py @@ -3,10 +3,11 @@ import requests import functools +from urllib.parse import urlparse + from .logger import log -from .utils import default_config_path, read_from_config, save_in_config, \ - is_uuid, get_local_time, silent_fail, get_runtime_env, \ - get_credentials, get_parameter_from_decorator +from .utils import (default_config_path, read_from_config, save_in_config, is_uuid, get_local_time, silent_fail, + get_runtime_env, get_credentials, get_parameter_from_decorator) from .. import __version__ EVENT_VERSION = '1' @@ -15,6 +16,13 @@ UUID_KEY = 'uuid' ENABLED_KEY = 'enabled' METRICS_FILENAME = 'metrics.json' +CLOUD_API = 'cloud' +CUSTOM_API = 'custom' + +PROD_DOMAIN_TLD = 'carto.com' +STAG_DOMAIN_TLD = 'carto-staging.com' +PROD_METRICS_SERVER = 'https://bmetrics.cartodb.net' +STAG_METRICS_SERVER = 'https://bmetrics-staging.cartodb.net' _metrics_config = None @@ -69,7 +77,7 @@ def check_valid_metrics_uuid(metrics_config): return metrics_config is not None and is_uuid(metrics_config.get(UUID_KEY)) -def build_metrics_data(event_name, extra_metrics_data): +def build_metrics_data(event_name, extra_metrics_data, server_domain_tld): metrics_data = { 'event_version': EVENT_VERSION, 'event_time': get_local_time(), @@ -77,7 +85,8 @@ def build_metrics_data(event_name, extra_metrics_data): 'event_name': event_name, 'source_version': __version__, 'installation_id': get_metrics_uuid(), - 'runtime_env': get_runtime_env() + 'runtime_env': get_runtime_env(), + 'api_used': get_api_used(server_domain_tld) } if isinstance(extra_metrics_data, dict): @@ -87,9 +96,10 @@ def build_metrics_data(event_name, extra_metrics_data): @silent_fail -def post_metrics(event_name, extra_metrics_data): - json_data = build_metrics_data(event_name, extra_metrics_data) - result = requests.post('https://bmetrics.cartodb.net', json=json_data, timeout=2) +def post_metrics(event_name, extra_metrics_data, server_domain_tld): + metrics_server = STAG_METRICS_SERVER if server_domain_tld == STAG_DOMAIN_TLD else PROD_METRICS_SERVER + json_data = build_metrics_data(event_name, extra_metrics_data, server_domain_tld) + result = requests.post(metrics_server, json=json_data, timeout=2) log.debug('Metrics sent! {0} {1}'.format(result.status_code, json_data)) @@ -100,8 +110,8 @@ def wrapper_func(*args, **kwargs): result = func(*args, **kwargs) if get_metrics_enabled(): - extra_metrics_data = build_extra_metrics_data(func, *args, **kwargs) - post_metrics(event_name, extra_metrics_data) + extra_metrics_data, server_domain_tld = build_extra_metrics_data(func, *args, **kwargs) + post_metrics(event_name, extra_metrics_data, server_domain_tld) return result return wrapper_func @@ -109,13 +119,30 @@ def wrapper_func(*args, **kwargs): def build_extra_metrics_data(decorated_function, *args, **kwargs): + extra_metrics = {} + server_domain_tld = PROD_DOMAIN_TLD + try: - credentials = get_parameter_from_decorator( - 'credentials', decorated_function, *args, **kwargs) + credentials = get_parameter_from_decorator('credentials', decorated_function, *args, **kwargs) credentials = get_credentials(credentials) - return {'user_id': credentials.user_id} if credentials and credentials.user_id else {} + server_domain_tld = get_server_domain_tld(credentials.base_url) + + if credentials and credentials.user_id: + extra_metrics['user_id'] = credentials.user_id + + return extra_metrics, server_domain_tld + except Exception: - return {} + return extra_metrics, server_domain_tld + + +def get_server_domain_tld(server_url): + hostname = urlparse(server_url).hostname + return '.'.join(hostname.split('.')[-2:]) + + +def get_api_used(server_domain_tld): + return CLOUD_API if server_domain_tld in [PROD_DOMAIN_TLD, STAG_DOMAIN_TLD] else CUSTOM_API # Run this once diff --git a/cartoframes/utils/utils.py b/cartoframes/utils/utils.py index 772675f35..492d37a3d 100644 --- a/cartoframes/utils/utils.py +++ b/cartoframes/utils/utils.py @@ -11,11 +11,14 @@ import hashlib import inspect import requests +import warnings +import functools import geopandas import numpy as np import pkg_resources import semantic_version + from functools import wraps from datetime import datetime, timezone from warnings import catch_warnings, filterwarnings @@ -96,6 +99,11 @@ def pgquote(string): return '\'{}\''.format(string) if string else 'null' +def double_quote(text): + """double-quotes a text""" + return '"{}"'.format(text) + + def temp_ignore_warnings(func): """Temporarily ignores warnings like those emitted by the carto python sdk """ @@ -543,3 +551,23 @@ def get_parameter_from_decorator(parameter_name, decorated_function, *args, **kw pass return parameter + + +def deprecated(message=''): + def decorator(func): + + @functools.wraps(func) + def decorated(*args, **kwargs): + warnings.simplefilter('always', DeprecationWarning) + warnings.warn( + 'The {type_} `{name}` is deprecated. {message}'.format( + type_='class' if inspect.isclass(func) else 'function', + name=func.__name__, message=message), + category=DeprecationWarning, stacklevel=2) + warnings.simplefilter('default', DeprecationWarning) + + return func(*args, **kwargs) + + return decorated + + return decorator diff --git a/cartoframes/viz/__init__.py b/cartoframes/viz/__init__.py index 83bad4b73..89d60e84d 100644 --- a/cartoframes/viz/__init__.py +++ b/cartoframes/viz/__init__.py @@ -38,6 +38,8 @@ from .popups import popup_element from .popups import default_popup_element +from .kuviz import all_publications +from .kuviz import delete_publication __all__ = [ 'Map', @@ -77,5 +79,8 @@ 'default_widget', 'popup_element', - 'default_popup_element' + 'default_popup_element', + + 'all_publications', + 'delete_publication' ] diff --git a/cartoframes/viz/kuviz.py b/cartoframes/viz/kuviz.py index 23db067aa..f23d2d8c9 100644 --- a/cartoframes/viz/kuviz.py +++ b/cartoframes/viz/kuviz.py @@ -6,6 +6,7 @@ from ..data.clients.auth_api_client import AuthAPIClient from ..exceptions import PublishError from ..utils.logger import log +from ..utils.utils import get_credentials filterwarnings('ignore', category=FutureWarning, module='carto') @@ -19,13 +20,6 @@ def __init__(self, credentials=None): self._auth_client = _create_auth_client(credentials) self._auth_api_client = _create_auth_api_client(credentials) - @staticmethod - def all(credentials=None): - auth_client = _create_auth_client(credentials) - kmanager = _get_kuviz_manager(auth_client) - kuvizs = kmanager.all() - return [kuviz_to_dict(kuviz) for kuviz in kuvizs] - def get_layers(self): return self._layers @@ -135,3 +129,45 @@ def manage_kuviz_exception(error, name): "Upgrade your account or delete some of your previous maps to be able to create new ones.") raise error + + +def all_publications(credentials=None): + """Get all map visualizations published by the current user. + + Args: + credentials (:py:class:`Credentials `, optional): + A Credentials instance. If not provided, the credentials will be automatically + obtained from the default credentials if available. + + """ + _credentials = get_credentials(credentials) + auth_client = _create_auth_client(_credentials) + kmanager = _get_kuviz_manager(auth_client) + kuvizs = kmanager.all() + return [kuviz_to_dict(kuviz) for kuviz in kuvizs] + + +def delete_publication(name, credentials=None): + """Delete a map visualization published by id. + + Args: + name (str): name of the publication to be deleted. + credentials (:py:class:`Credentials `, optional): + A Credentials instance. If not provided, the credentials will be automatically + obtained from the default credentials if available. + + """ + _credentials = get_credentials(credentials) + auth_client = _create_auth_client(_credentials) + kmanager = _get_kuviz_manager(auth_client) + kuvizs = kmanager.all() + kuviz = next((kuviz for kuviz in kuvizs if kuviz.name == name), None) + + if kuviz is None: + raise PublishError('Publication "{}" not found.'.format(name)) + + try: + kuviz.delete() + log.info('Success! Publication "{0}" deleted'.format(name)) + except Exception as e: + manage_kuviz_exception(e, name) diff --git a/cartoframes/viz/layout.py b/cartoframes/viz/layout.py index 2e8700623..524754b15 100644 --- a/cartoframes/viz/layout.py +++ b/cartoframes/viz/layout.py @@ -12,8 +12,8 @@ class Layout: Args: maps (list of :py:class:`Map `): List of maps. Zero or more of :py:class:`Map `. - N_SIZE (number, optional): Number of columns of the layout - M_SIZE (number, optional): Number of rows of the layout + n_size (number, optional): Number of columns of the layout + m_size (number, optional): Number of rows of the layout viewport (dict, optional): Properties for display of the maps viewport. Keys can be `bearing` or `pitch`. is_static (boolean, optional): By default is False. All the maps in each visualization @@ -155,10 +155,6 @@ def publish(self, name, password, credentials=None, if_exists='fail', maps_api_k html = self._get_publication_html() return self._publisher.publish(html, name, password, if_exists) - def delete_publication(self): - """Delete the published layout visualization.""" - return self._publisher.delete() - def update_publication(self, name, password, if_exists='fail'): """Update the published layout visualization. @@ -176,20 +172,6 @@ def update_publication(self, name, password, if_exists='fail'): html = self._get_publication_html() return self._publisher.update(html, name, password, if_exists) - @staticmethod - def all_publications(credentials=None): - """Get all map visualization published by the current user. - - Args: - credentials (:py:class:`Credentials `, optional): - A Credentials instance. If not provided, the credentials will be automatically - obtained from the default credentials if available. - - """ - _credentials = get_credentials(credentials) - - return KuvizPublisher.all(_credentials) - def _get_publication_html(self): if not self._publisher: _credentials = get_credentials(None) diff --git a/cartoframes/viz/legend_list.py b/cartoframes/viz/legend_list.py index 1c3da7801..b91f5961a 100644 --- a/cartoframes/viz/legend_list.py +++ b/cartoframes/viz/legend_list.py @@ -6,6 +6,8 @@ class LegendList: """LegendList Args: legends (list, Legend): List of legends for a layer. + default_legend (Legend, optional): Default legend for a layer. + geom_type (str, optional): The type of the geometry. """ diff --git a/cartoframes/viz/map.py b/cartoframes/viz/map.py index e79c76a47..eba469d75 100644 --- a/cartoframes/viz/map.py +++ b/cartoframes/viz/map.py @@ -219,10 +219,6 @@ def publish(self, name, password, credentials=None, if_exists='fail', maps_api_k html = self._get_publication_html(name) return self._publisher.publish(html, name, password, if_exists) - def delete_publication(self): - """Delete the published map visualization.""" - return self._publisher.delete() - def update_publication(self, name, password, if_exists='fail'): """Update the published map visualization. @@ -240,20 +236,6 @@ def update_publication(self, name, password, if_exists='fail'): html = self._get_publication_html(name) return self._publisher.update(html, name, password, if_exists) - @staticmethod - def all_publications(credentials=None): - """Get all map visualization published by the current user. - - Args: - credentials (:py:class:`Credentials `, optional): - A Credentials instance. If not provided, the credentials will be automatically - obtained from the default credentials if available. - - """ - _credentials = get_credentials(credentials) - - return KuvizPublisher.all(_credentials) - def _get_publication_html(self, name): html_map = HTMLMap('templates/viz/main.html.j2') html_map.set_content( diff --git a/cartoframes/viz/popup_list.py b/cartoframes/viz/popup_list.py index 5210123a4..0a4b6691c 100644 --- a/cartoframes/viz/popup_list.py +++ b/cartoframes/viz/popup_list.py @@ -7,8 +7,10 @@ class PopupList: """PopupList - Args: + Args: popups (dict, PopupElement): List of popups for a layer classified by interactivity event + default_popup_hover (PopupElement, optional): The default popup for the hover. + default_click_hover (PopupElement, optional): The default popup for the click. Example: >>> popupList = PopupList({ diff --git a/cartoframes/viz/source.py b/cartoframes/viz/source.py index af5b8c05a..7a526b761 100644 --- a/cartoframes/viz/source.py +++ b/cartoframes/viz/source.py @@ -2,7 +2,7 @@ from geopandas import GeoDataFrame from ..io.managers.context_manager import ContextManager -from ..utils.geom_utils import check_crs, has_geometry, set_geometry +from ..utils.geom_utils import is_reprojection_needed, reproject, has_geometry, set_geometry from ..utils.utils import get_geodataframe_data, get_geodataframe_bounds, \ get_geodataframe_geom_type, get_datetime_column_names @@ -29,16 +29,14 @@ class Source: """Source Args: - data (str, pandas.DataFrame, geopandas.GeoDataFrame): a table name, + source (str, pandas.DataFrame, geopandas.GeoDataFrame): a table name, SQL query, DataFrame, GeoDataFrame instance. credentials (:py:class:`Credentials `, optional): A Credentials instance. If not provided, the credentials will be automatically obtained from the default credentials if available. - bounds (dict or list, optional): a dict with `west`, `south`, `east`, `north` - keys, or an array of floats in the following structure: [[west, - south], [east, north]]. If not provided the bounds will be automatically - calculated to fit all features. geom_col (str, optional): string indicating the geometry column name in the source `DataFrame`. + encode_data (bool, optional): Indicates whether the data needs to be encoded. + Default is True. Example: @@ -76,7 +74,8 @@ def __init__(self, source, credentials=None, geom_col=None, encode_data=True): self.credentials = self.manager.credentials elif isinstance(source, DataFrame): if isinstance(source, GeoDataFrame): - check_crs(source) + if is_reprojection_needed(source): + source = reproject(source) # DataFrame, GeoDataFrame self.type = SourceType.GEOJSON @@ -91,11 +90,14 @@ def __init__(self, source, credentials=None, geom_col=None, encode_data=True): raise ValueError('No valid geometry found. Please provide an input source with ' + 'a valid geometry or specify the "geom_col" param with a geometry column.') + # Remove nan geometries + self.gdf.dropna(subset=[self.gdf.geometry.name], inplace=True) + # Remove empty geometries self.gdf = self.gdf[~self.gdf.geometry.is_empty] # Checking the uniqueness of the geometry type - geometry_types = set(self.gdf.geom_type.unique()) + geometry_types = set(self.gdf.geom_type.unique()).difference({None}) if geometry_types not in VALID_GEOMETRY_TYPES: raise ValueError('No valid geometry column types ({}), it has '.format(geometry_types) + 'to be one of the next type sets: {}.'.format(VALID_GEOMETRY_TYPES)) diff --git a/cartoframes/viz/styles/color_continuous_style.py b/cartoframes/viz/styles/color_continuous_style.py index 4201c6c94..5305671c5 100644 --- a/cartoframes/viz/styles/color_continuous_style.py +++ b/cartoframes/viz/styles/color_continuous_style.py @@ -18,7 +18,6 @@ def color_continuous_style(value, size=None, range_min=None, range_max=None, pal palette (str, optional): Palette that can be a named cartocolor palette or other valid color palette. Use `help(cartoframes.viz.palettes)` to get more information. Default is "bluyl". - size (int, optional): Size of point or line features. opacity (float, optional): Opacity value. Default is 1 for points and lines and 0.9 for polygons. stroke_color (str, optional): Color of the stroke on point features. diff --git a/cartoframes/viz/styles/size_continuous_style.py b/cartoframes/viz/styles/size_continuous_style.py index e5d5a6184..639c3aca6 100644 --- a/cartoframes/viz/styles/size_continuous_style.py +++ b/cartoframes/viz/styles/size_continuous_style.py @@ -6,7 +6,7 @@ def size_continuous_style(value, size_range=None, range_min=None, range_max=None, color=None, opacity=None, - stroke_color=None, stroke_width=None, animate=None, credentials=None): + stroke_color=None, stroke_width=None, animate=None): """Helper function for quickly creating a size continuous style. Args: diff --git a/cartoframes/viz/widget_list.py b/cartoframes/viz/widget_list.py index f28f8ca3c..056d31cfc 100644 --- a/cartoframes/viz/widget_list.py +++ b/cartoframes/viz/widget_list.py @@ -7,6 +7,7 @@ class WidgetList: Args: widgets (list, Widget): The list of widgets for a layer. + default_widget (Widget, optional): The widget to be used by default. """ def __init__(self, widgets=None, default_widget=None): diff --git a/cartoframes/viz/widgets/category_widget.py b/cartoframes/viz/widgets/category_widget.py index 3c28bea7e..a445089b1 100644 --- a/cartoframes/viz/widgets/category_widget.py +++ b/cartoframes/viz/widgets/category_widget.py @@ -11,6 +11,7 @@ def category_widget(value, title=None, description=None, footer=None, read_only= footer (str, optional): Footer text placed on the widget bottom. read_only (boolean, optional): Interactively filter a category by selecting it in the widget. Set to "False" by default. + weight (int, optional): Weight of the category widget. Default value is 1. Returns: cartoframes.viz.widget.Widget diff --git a/cartoframes/viz/widgets/formula_widget.py b/cartoframes/viz/widgets/formula_widget.py index 13eec4372..c3ae720e2 100644 --- a/cartoframes/viz/widgets/formula_widget.py +++ b/cartoframes/viz/widgets/formula_widget.py @@ -50,7 +50,7 @@ def formula_widget(value, operation=None, title=None, description=None, footer=N def _get_value_expression(operation, value, is_global): - if value == 'count' or operation == 'count': + if operation == 'count': formula_operation = _get_formula_operation('count', is_global) return formula_operation + '()' elif operation in ['avg', 'max', 'min', 'sum']: diff --git a/cartoframes/viz/widgets/histogram_widget.py b/cartoframes/viz/widgets/histogram_widget.py index 353b695bf..56146ad29 100644 --- a/cartoframes/viz/widgets/histogram_widget.py +++ b/cartoframes/viz/widgets/histogram_widget.py @@ -19,6 +19,7 @@ def histogram_widget(value, title=None, description=None, footer=None, read_only read_only (boolean, optional): Interactively filter a range of numeric values by selecting them in the widget. Set to "False" by default. buckets (number, optional): Number of histogram buckets. Set to 20 by default. + weight (int, optional): Weight of the category widget. Default value is 1. Returns: cartoframes.viz.widget.Widget diff --git a/cartoframes/viz/widgets/time_series_widget.py b/cartoframes/viz/widgets/time_series_widget.py index 16da40a71..327e1d05d 100644 --- a/cartoframes/viz/widgets/time_series_widget.py +++ b/cartoframes/viz/widgets/time_series_widget.py @@ -17,6 +17,7 @@ def time_series_widget(value, title=None, description=None, footer=None, read_on read_only (boolean, optional): Interactively filter a range of numeric values by selecting them in the widget. Set to "False" by default. buckets (number, optional): Number of histogram buckets. Set to 20 by default. + weight (int, optional): Weight of the category widget. Default value is 1. Returns: cartoframes.viz.widget.Widget diff --git a/docs/RELEASING.md b/docs/RELEASING.md index d507d2264..a75621d4c 100644 --- a/docs/RELEASING.md +++ b/docs/RELEASING.md @@ -84,8 +84,6 @@ The final step is to deploy the Developer Center to production with the new rele - Point to the release branch in `config.js`, in the `'cartoframes'` section: - Remove the release branch: `branch: '',` - Add the tag attribute: `tag: 'vM.m.u',` - - Update the guides_releases attribute: `guides_releases: ['vM.m.u'],` - - Update the autodoc_releases attribute: `autodoc_releases: ['vM.m.u', ...` - Update the releases attribute: `releases: ['vM.m.u', ...` - Merge the PR to master (this will deploys the Developer Center in a "production" environment) diff --git a/docs/build.sh b/docs/build.sh index caaf8ce5d..24c6b5ba1 100755 --- a/docs/build.sh +++ b/docs/build.sh @@ -2,7 +2,7 @@ cd .. pip uninstall cartoframes -y -pip install . +pip install -e . cd docs make clean && make html && make json diff --git a/docs/cartoframes.rst b/docs/cartoframes.rst index 41c947298..a1e37fb10 100644 --- a/docs/cartoframes.rst +++ b/docs/cartoframes.rst @@ -1,9 +1,9 @@ -.. include:: includes/introduction.rst -.. include:: includes/auth.rst -.. include:: includes/io_functions.rst -.. include:: includes/data_observatory.rst -.. include:: includes/data_services.rst -.. include:: includes/data_clients.rst -.. include:: includes/viz.rst -.. include:: includes/utils.rst -.. include:: includes/exceptions.rst +.. include:: reference/introduction.rst +.. include:: reference/auth.rst +.. include:: reference/io_functions.rst +.. include:: reference/data_services.rst +.. include:: reference/data_observatory.rst +.. include:: reference/data_clients.rst +.. include:: reference/viz.rst +.. include:: reference/utils.rst +.. include:: reference/exceptions.rst diff --git a/docs/conf.py b/docs/conf.py index 54a0dfeba..8cedba10f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -19,7 +19,7 @@ # -- Project information ----------------------------------------------------- project = u'cartoframes' -copyright = u'2019, CARTO' +copyright = u'2020, CARTO' author = u'CARTO' # The short X.Y version diff --git a/docs/developer-center/examples/data_enrichment.md b/docs/developer-center/examples/data_enrichment.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/developer-center/examples/data_management.md b/docs/developer-center/examples/data_management.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/developer-center/examples/data_observatory.md b/docs/developer-center/examples/data_observatory.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/developer-center/examples/data_services.md b/docs/developer-center/examples/data_services.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/developer-center/examples/data_visualization.md b/docs/developer-center/examples/data_visualization.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/developer-center/examples/examples.json b/docs/developer-center/examples/examples.json deleted file mode 100644 index 1c8bbe334..000000000 --- a/docs/developer-center/examples/examples.json +++ /dev/null @@ -1,437 +0,0 @@ -{ - "main": { - "title": "Introduction", - "file": "introduction.md" - }, - "categories": [{ - "title": "Data management", - "desc": "Explore working with data both locally and with a CARTO account", - "file": "data_management.md", - "hide_sidebar_samples": true, - "samples": [{ - "title": "Load a CSV file", - "desc": "Load data from a CSV file", - "file": "load_data_from_csv", - "path": "data_management" - }, { - "title": "Load a JSON file", - "desc": "Load data from a JSON file", - "file": "load_data_from_json", - "path": "data_management" - }, { - "title": "Load a GeoJSON file", - "desc": "Load data from a GeoJSON file", - "file": "load_data_from_geojson", - "path": "data_management" - }, { - "title": "Load a shapefile", - "desc": "Load data from a shapefile", - "file": "load_data_from_shapefile", - "path": "data_management" - }, { - "title": "Load a CARTO table", - "desc": "Load data from a CARTO table", - "file": "load_data_from_carto_table", - "path": "data_management" - }, { - "title": "Load a CARTO SQL query", - "desc": "Load data from a CARTO table using a SQL Query", - "file": "load_data_from_carto_query", - "path": "data_management" - }, { - "title": "Load data with a different CRS", - "desc": "Load data with a different CRS than EPGS:4326", - "file": "load_data_different_crs", - "path": "data_management" - }, { - "title": "Upload to CARTO", - "desc": "Upload data to CARTO", - "file": "upload_data_to_carto", - "path": "data_management" - }, { - "title": "Change CARTO table privacy", - "desc": "Change the privacy of a CARTO table", - "file": "change_carto_table_privacy", - "path": "data_management" - }] - }, { - "title": "Data visualization", - "desc": "Explore the building blocks for creating web-based, dynamic, and interactive map visualizations", - "file": "data_visualization.md", - "hide_sidebar_samples": true, - "samples": [{ - "title": "Single layer", - "desc": "Add a Layer", - "file": "add_layer", - "path": "layers", - "group": "Layers" - }, { - "title": "Multiple layers", - "desc": "Add multiple Layers", - "file": "add_multiple_layers", - "path": "layers", - "group": "Layers" - }, { - "title": "Basemaps", - "desc": "Change the default CARTO basemap", - "file": "change_default_carto_basemap", - "path": "map_configuration", - "group": "Configuration" - }, { - "title": "Viewport", - "desc": "Set a custom viewport", - "file": "custom_viewport", - "path": "map_configuration", - "group": "Configuration" - }, { - "title": " Background", - "desc": "Set a background color", - "file": "solid_color_background", - "path": "map_configuration", - "group": "Configuration" - }, { - "title": "Dark theme", - "desc": "Switch to the dark theme", - "file": "dark_theme", - "path": "map_configuration", - "group": "Configuration" - }, { - "title": "Basic style", - "desc": "Use the basic_style method to change the basic style properties", - "file": "basic_style", - "path": "styles", - "group": "Style" - }, { - "title": "Color category style", - "desc": "Use the color_category_style method to color features by categorical values", - "file": "color_category_style", - "path": "styles", - "group": "Style" - }, { - "title": "Color continuous style", - "desc": "Use the color_continuous_style method to color features by continuous numeric values", - "file": "color_continuous_style", - "path": "styles", - "group": "Style" - }, { - "title": "Color bins style", - "desc": "Use the color_bins_style method to color features by discrete numeric values", - "file": "color_bins_style", - "path": "styles", - "group": "Style" - }, { - "title": "Size category style", - "desc": "Use the size_category_style method to resize each feature by categorical values", - "file": "size_category_style", - "path": "styles", - "group": "Style" - }, { - "title": "Size continuous style", - "desc": "Use the size_continuous_style method to resize each feature by continuous numeric values", - "file": "size_continuous_style", - "path": "styles", - "group": "Style" - }, { - "title": "Size bins style", - "desc": "Use the size_bins_style method to resize each feature by discrete numeric values", - "file": "size_bins_style", - "path": "styles", - "group": "Style" - }, { - "title": "Cluster size style", - "desc": "Use the cluster_size_style method to aggregate features by continuous numeric values", - "file": "cluster_size_style", - "path": "styles", - "group": "Style" - }, { - "title": "Animation style", - "desc": "Use the animation_style helper method to simply animate a visualization", - "file": "animation_style", - "path": "styles", - "group": "Style" - }, { - "title": "Add multiple style helpers", - "desc": "Combine different visualization styles", - "file": "combine_visualization_styles", - "path": "styles", - "group": "Style" - }, { - "title": "Default legend", - "desc": "Set the default legend needed for the style helper", - "file": "default_legend", - "path": "legends", - "group": "Legends" - }, { - "title": "Basic legend", - "desc": "Use the basic_legend method to display a simple default legend", - "file": "basic_legend", - "path": "legends", - "group": "Legends" - }, { - "title": "Color category cegend", - "desc": "Use the color_category_legend method to represent categorical values by color", - "file": "color_category_legend", - "path": "legends", - "group": "Legends" - }, { - "title": "Color bins legend", - "desc": "Use the color_bins_legend method to represent discrete numeric values by color", - "file": "color_bins_legend", - "path": "legends", - "group": "Legends" - }, { - "title": "Color continuous legend", - "desc": "Use the color_continuous_legend method to represent continuous numeric values by color", - "file": "color_continuous_legend", - "path": "legends", - "group": "Legends" - }, { - "title": "Size category legend", - "desc": "Use the size_category_legend method to represent categorical values by size", - "file": "size_category_legend", - "path": "legends", - "group": "Legends" - }, { - "title": "Size bins legend", - "desc": "Use the size_bins_legend method to represent discrete numeric values by size", - "file": "size_bins_legend", - "path": "legends", - "group": "Legends" - }, { - "title": "Size continuous legend", - "desc": "Use the size_bins_legend method to represent continuous numeric values by size", - "file": "size_continuous_legend", - "path": "legends", - "group": "Legends" - }, { - "title": "Add multiple legends", - "desc": "Combine different legends in the same visualization", - "file": "multiple_legends", - "path": "legends", - "group": "Legends" - }, { - "title": "Legend by geometry", - "desc": "Specify the geometry type in a legend helper", - "file": "legend_line_geometry", - "path": "legends", - "group": "Legends" - }, { - "title": "Default widget", - "desc": "Set the default widget needed for the style helper", - "file": "default_widget", - "path": "widgets", - "group": "Widgets" - }, { - "title": "Basic widget", - "desc": "Use the basic_widget method to display a simple default widget", - "file": "basic_widget", - "path": "widgets", - "group": "Widgets" - }, { - "title": "Category widget", - "desc": "Use the category_widget to create a widget to represent categorical values", - "file": "category_widget", - "path": "widgets", - "group": "Widgets" - }, { - "title": "Histogram widget", - "desc": "Use the histogram_widget to create a widget to represent categorical, numeric and date values in a histogram", - "file": "histogram_widget", - "path": "widgets", - "group": "Widgets" - }, { - "title": "Formula widget", - "desc": "Use the formula_widget to display the result of a count, avg, max, min or sum operation in a numeric", - "file": "formula_widget", - "path": "widgets", - "group": "Widgets" - }, { - "title": "Animation widget", - "desc": "Use the animation_widget to be able to play, pause and change an animated visualization through animation controls", - "file": "animation_widget", - "path": "widgets", - "group": "Widgets" - }, { - "title": "Time series widget", - "desc": "Use the time_series_widget to represent a sequence of categorical, numeric and date values in a histogram indexed by a numeric or date value", - "file": "time_series_widget", - "path": "widgets", - "group": "Widgets" - }, { - "title": "Add multiple widgets", - "desc": "Combine multiple widgets in the same visualization", - "file": "multiple_widgets", - "path": "widgets", - "group": "Widgets" - }, { - "title": "Default popup", - "desc": "Set the default popup needed for the style helper", - "file": "default_popup", - "path": "popups", - "group": "Popups" - }, { - "title": "Popup on click", - "desc": "Display a popup triggered by a click event", - "file": "popup_on_click", - "path": "popups", - "group": "Popups" - }, { - "title": "Popup on hover", - "desc": "Display a popup triggered by a hover event", - "file": "popup_on_hover", - "path": "popups", - "group": "Popups" - }, { - "title": "Customize popup title and format", - "desc": "Change the title and format for the popup values", - "file": "popup_titles_and_format", - "path": "popups", - "group": "Popups" - }, { - "title": "Add multiple popup elements", - "desc": "Display popups triggered by both click and hover events", - "file": "multiple_popup_events", - "path": "popups", - "group": "Popups" - }, { - "title": "Default layout", - "desc": "Create a default visualization layout", - "file": "default_layout", - "path": "map_layout", - "group": "Layout" - }, { - "title": "Custom layout", - "desc": "Use different settings to create a custom visualization layout", - "file": "custom_layout", - "path": "map_layout", - "group": "Layout" - }, { - "title": "Add layout titles", - "desc": "Use different custom titles to create a visualization layout", - "file": "layout_titles", - "path": "map_layout", - "group": "Layout" - }, { - "title": "Customize layout viewport", - "desc": "Use different viewport settings to create a visualization layout", - "file": "layout_viewport", - "path": "map_layout", - "group": "Layout" - }, { - "title": "Make layout static", - "desc": "Create a static visualization layout", - "file": "static_layout", - "path": "map_layout", - "group": "Layout" - }] - }, { - "title": "Data services", - "desc": "Learn how to combine your data and CARTO's Location Data Services for geospatial analyses", - "file": "data_services.md", - "hide_sidebar_samples": true, - "samples": [{ - "title": "Geocoding", - "desc": "Using the Geocoding Services to geocode a DataFrame", - "file": "geocoding_dataframe", - "path": "data_services" - }, { - "title": "Isochrones", - "desc": "Using the Isolines Services to calculate isochrones", - "file": "isochrones", - "path": "data_services" - }, { - "title": "Isodistances", - "desc": "Using the Isolines Services to calculate isodistances", - "file": "isodistances", - "path": "data_services" - }, { - "title": "Combining geocoding and isolines", - "desc": "Use both Geocoding and Isolines services", - "file": "geocoding_and_isolines", - "path": "data_services" - }] - }, { - "title": "Data Observatory", - "desc": "Learn how to discover third party datasets and enrich your data through CARTO's Data Observatory", - "file": "data_observatory.md", - "hide_sidebar_samples": true, - "samples": [{ - "title": "Discover a dataset", - "desc": "Basic steps to discover a Dataset in the Data Observatory", - "file": "discover_dataset", - "path": "data_observatory" - }, { - "title": "Download a dataset", - "desc": "Download a dataset applying filters", - "file": "download_dataset", - "path": "data_observatory" - }, { - "title": "Enrich points", - "desc": "Use the enrichment to enrich points for a dataset", - "file": "points_enrichment_dataset", - "path": "data_observatory" - }, { - "title": "Enrich polygons", - "desc": "Use the enrichment to enrich polygons for a dataset", - "file": "polygons_enrichment_dataset", - "path": "data_observatory" - }, { - "title": "Subscribe to a premium dataset", - "desc": "Basic steps to subscribe to a premium dataset in the Data Observatory to start enriching your data", - "file": "enrichment_subscription_workflow", - "path": "data_observatory" - }] - }, { - "title": "Publish and share", - "desc": "Learn how to publish and share interactive visualizations for others to explore", - "file": "publish_share.md", - "hide_sidebar_samples": true, - "samples": [{ - "title": "Publish Public Table Visualization", - "desc": "Publish a visualization from a public table", - "file": "publish_visualization_public_table", - "path": "publish_and_share" - }, { - "title": "Publish Private Table Visualization", - "desc": "Publish a visualization from a private table", - "file": "publish_visualization_private_table", - "path": "publish_and_share" - }, { - "title": "Publish GeoDataFrame Visualization", - "desc": "Publish a visualization from a GeoDataFrame", - "file": "publish_visualization_gdf", - "path": "publish_and_share" - }, { - "title": "Publish Layout Visualization", - "desc": "Publish a visualization of a layout", - "file": "publish_visualization_layout", - "path": "publish_and_share" - }] - }, { - "title": "Use cases", - "desc": "Explore a variety of ways to use CARTOframes in your workflows", - "file": "use_cases.md", - "hide_sidebar_samples": true, - "samples": [{ - "title": "Visualize temperatures", - "desc": "Visualize warm temperatures", - "file": "visualize_temperatures", - "path": "real_use_cases" - }, { - "title": "Paris WiFi services", - "desc": "Download and visualize WiFi Services data in json format", - "file": "paris_wifi_services", - "path": "real_use_cases" - }, { - "title": "Paris remarkable trees", - "desc": "Transform and visualize data from a .json file", - "file": "paris_remarkable_trees", - "path": "real_use_cases" - }, { - "title": "Geocode London stations", - "desc": "Geocode a dataset in xls format", - "file": "geocoding_london_stations", - "path": "real_use_cases" - }] - }] -} diff --git a/docs/developer-center/examples/publish_share.md b/docs/developer-center/examples/publish_share.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/developer-center/examples/use_cases.md b/docs/developer-center/examples/use_cases.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/docs/developer-center/guides/guides.json b/docs/developer-center/guides/guides.json deleted file mode 100644 index d92549ed7..000000000 --- a/docs/developer-center/guides/guides.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "main": { - "file": "introduction.md" - }, - "categories": [{ - "title": "Quickstart", - "samples": [{ - "title": "Quickstart Guide", - "desc": "Complete a real project that walks through the library step by step", - "file": "quickstart", - "path": "" - }] - }, { - "title": "Guides", - "samples": [{ - "title": "Installation", - "desc": "Install the library and configure your environment", - "file": "installation", - "path": "" - }, { - "title": "Authentication", - "desc": "Login into CARTO to unlock the power of spatial analysis (data management, data enrichment, location data services, etc)", - "file": "authentication", - "path": "" - }, { - "title": "Data management", - "desc": "Work with data both locally and with a CARTO account", - "file": "data_management", - "path": "" - }, { - "title": "Visualization", - "desc": "Explore and visualize your spatial data with interactive maps", - "file": "visualization", - "path": "" - }, { - "title": "Data Discovery", - "desc": "Discover the spatial data you need by searching the data catalog", - "file": "data_discovery", - "path": "" - }, { - "title": "Data Enrichment", - "desc": "Enrich your data with data from the Data Observatory", - "file": "data_enrichment", - "path": "" - }, { - "title": "Location Data Services", - "desc": "Geocode and discover areas of influence with Isolines", - "file": "data_services", - "path": "" - }] - }] -} diff --git a/docs/developer-center/img/guides/explore_data_observatory_catalog_files/explore_data_observatory_catalog_37_0.png b/docs/developer-center/img/guides/explore_data_observatory_catalog_files/explore_data_observatory_catalog_37_0.png deleted file mode 100644 index 2848e513e..000000000 Binary files a/docs/developer-center/img/guides/explore_data_observatory_catalog_files/explore_data_observatory_catalog_37_0.png and /dev/null differ diff --git a/docs/developer-center/img/guides/quickstart/combine_layers.png b/docs/developer-center/img/guides/quickstart/combine_layers.png deleted file mode 100644 index d5132c521..000000000 Binary files a/docs/developer-center/img/guides/quickstart/combine_layers.png and /dev/null differ diff --git a/docs/developer-center/img/guides/quickstart/combine_layers_widget.png b/docs/developer-center/img/guides/quickstart/combine_layers_widget.png deleted file mode 100644 index 153369d76..000000000 Binary files a/docs/developer-center/img/guides/quickstart/combine_layers_widget.png and /dev/null differ diff --git a/docs/developer-center/img/guides/quickstart/explore_helper.png b/docs/developer-center/img/guides/quickstart/explore_helper.png deleted file mode 100644 index 0c6609198..000000000 Binary files a/docs/developer-center/img/guides/quickstart/explore_helper.png and /dev/null differ diff --git a/docs/developer-center/img/guides/quickstart/explore_points_layer.png b/docs/developer-center/img/guides/quickstart/explore_points_layer.png deleted file mode 100644 index 7e0887024..000000000 Binary files a/docs/developer-center/img/guides/quickstart/explore_points_layer.png and /dev/null differ diff --git a/docs/developer-center/img/guides/quickstart/explore_polygon_layer.png b/docs/developer-center/img/guides/quickstart/explore_polygon_layer.png deleted file mode 100644 index 095d07398..000000000 Binary files a/docs/developer-center/img/guides/quickstart/explore_polygon_layer.png and /dev/null differ diff --git a/docs/developer-center/img/guides/quickstart/share_output.png b/docs/developer-center/img/guides/quickstart/share_output.png deleted file mode 100644 index 409e2c948..000000000 Binary files a/docs/developer-center/img/guides/quickstart/share_output.png and /dev/null differ diff --git a/docs/developer-center/img/guides/visualize/layout.png b/docs/developer-center/img/guides/visualize/layout.png deleted file mode 100644 index b84f40317..000000000 Binary files a/docs/developer-center/img/guides/visualize/layout.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/basemap/guide-basemaps-1.png b/docs/developer-center/img/old-guides/basemap/guide-basemaps-1.png deleted file mode 100644 index 2f5d8dd68..000000000 Binary files a/docs/developer-center/img/old-guides/basemap/guide-basemaps-1.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/basemap/guide-basemaps-2.png b/docs/developer-center/img/old-guides/basemap/guide-basemaps-2.png deleted file mode 100644 index 1abd46120..000000000 Binary files a/docs/developer-center/img/old-guides/basemap/guide-basemaps-2.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/basemap/guide-basemaps-3.png b/docs/developer-center/img/old-guides/basemap/guide-basemaps-3.png deleted file mode 100644 index 84371f090..000000000 Binary files a/docs/developer-center/img/old-guides/basemap/guide-basemaps-3.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/basemap/guide-basemaps-4.png b/docs/developer-center/img/old-guides/basemap/guide-basemaps-4.png deleted file mode 100644 index 48edf768a..000000000 Binary files a/docs/developer-center/img/old-guides/basemap/guide-basemaps-4.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/basemap/guide-basemaps-5.png b/docs/developer-center/img/old-guides/basemap/guide-basemaps-5.png deleted file mode 100644 index f0a8af13a..000000000 Binary files a/docs/developer-center/img/old-guides/basemap/guide-basemaps-5.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/basemap/guide-basemaps-6.png b/docs/developer-center/img/old-guides/basemap/guide-basemaps-6.png deleted file mode 100644 index 900b2629c..000000000 Binary files a/docs/developer-center/img/old-guides/basemap/guide-basemaps-6.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-1/color-bins-line.png b/docs/developer-center/img/old-guides/helper-methods-1/color-bins-line.png deleted file mode 100644 index 88877aab2..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-1/color-bins-line.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-1/color-bins-point.png b/docs/developer-center/img/old-guides/helper-methods-1/color-bins-point.png deleted file mode 100644 index 6a68af24d..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-1/color-bins-point.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-1/color-bins-polygon.png b/docs/developer-center/img/old-guides/helper-methods-1/color-bins-polygon.png deleted file mode 100644 index 17df5861a..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-1/color-bins-polygon.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-1/color-category-line.png b/docs/developer-center/img/old-guides/helper-methods-1/color-category-line.png deleted file mode 100644 index f8cd5043d..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-1/color-category-line.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-1/color-category-point.png b/docs/developer-center/img/old-guides/helper-methods-1/color-category-point.png deleted file mode 100644 index 848ab4c1a..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-1/color-category-point.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-1/color-category-polygon.png b/docs/developer-center/img/old-guides/helper-methods-1/color-category-polygon.png deleted file mode 100644 index 93e47ea9f..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-1/color-category-polygon.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-1/color-continuous-line.png b/docs/developer-center/img/old-guides/helper-methods-1/color-continuous-line.png deleted file mode 100644 index 71c7af373..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-1/color-continuous-line.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-1/color-continuous-point.png b/docs/developer-center/img/old-guides/helper-methods-1/color-continuous-point.png deleted file mode 100644 index 9f27f3de0..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-1/color-continuous-point.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-1/color-continuous-polygon.png b/docs/developer-center/img/old-guides/helper-methods-1/color-continuous-polygon.png deleted file mode 100644 index 78c79e476..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-1/color-continuous-polygon.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-1/size-bins-line.png b/docs/developer-center/img/old-guides/helper-methods-1/size-bins-line.png deleted file mode 100644 index 1a287d681..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-1/size-bins-line.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-1/size-bins-point.png b/docs/developer-center/img/old-guides/helper-methods-1/size-bins-point.png deleted file mode 100644 index 7cad7774e..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-1/size-bins-point.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-1/size-category-line.png b/docs/developer-center/img/old-guides/helper-methods-1/size-category-line.png deleted file mode 100644 index d33bfd288..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-1/size-category-line.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-1/size-category-point.png b/docs/developer-center/img/old-guides/helper-methods-1/size-category-point.png deleted file mode 100644 index 4e8674087..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-1/size-category-point.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-1/size-continuous-line.png b/docs/developer-center/img/old-guides/helper-methods-1/size-continuous-line.png deleted file mode 100644 index e77885823..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-1/size-continuous-line.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-1/size-continuous-point.png b/docs/developer-center/img/old-guides/helper-methods-1/size-continuous-point.png deleted file mode 100644 index 8da2204df..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-1/size-continuous-point.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-2/example-1.png b/docs/developer-center/img/old-guides/helper-methods-2/example-1.png deleted file mode 100644 index 1815440b3..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-2/example-1.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-2/example-2.png b/docs/developer-center/img/old-guides/helper-methods-2/example-2.png deleted file mode 100644 index 8d117fa27..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-2/example-2.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/helper-methods-2/example-3.png b/docs/developer-center/img/old-guides/helper-methods-2/example-3.png deleted file mode 100644 index b84c475a3..000000000 Binary files a/docs/developer-center/img/old-guides/helper-methods-2/example-3.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/layout/layout-1.png b/docs/developer-center/img/old-guides/layout/layout-1.png deleted file mode 100644 index 6c794dcbf..000000000 Binary files a/docs/developer-center/img/old-guides/layout/layout-1.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/layout/layout-2.png b/docs/developer-center/img/old-guides/layout/layout-2.png deleted file mode 100644 index fbfdadcb9..000000000 Binary files a/docs/developer-center/img/old-guides/layout/layout-2.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/layout/layout-3.png b/docs/developer-center/img/old-guides/layout/layout-3.png deleted file mode 100644 index a44593244..000000000 Binary files a/docs/developer-center/img/old-guides/layout/layout-3.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/layout/layout-4.png b/docs/developer-center/img/old-guides/layout/layout-4.png deleted file mode 100644 index 456b62c90..000000000 Binary files a/docs/developer-center/img/old-guides/layout/layout-4.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/legends/legends-1.png b/docs/developer-center/img/old-guides/legends/legends-1.png deleted file mode 100644 index cf976e501..000000000 Binary files a/docs/developer-center/img/old-guides/legends/legends-1.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/legends/legends-2.png b/docs/developer-center/img/old-guides/legends/legends-2.png deleted file mode 100644 index 6300eec9b..000000000 Binary files a/docs/developer-center/img/old-guides/legends/legends-2.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/legends/legends-3.png b/docs/developer-center/img/old-guides/legends/legends-3.png deleted file mode 100644 index 3506afc82..000000000 Binary files a/docs/developer-center/img/old-guides/legends/legends-3.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/legends/legends-4.png b/docs/developer-center/img/old-guides/legends/legends-4.png deleted file mode 100644 index db414c232..000000000 Binary files a/docs/developer-center/img/old-guides/legends/legends-4.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/legends/legends-5.png b/docs/developer-center/img/old-guides/legends/legends-5.png deleted file mode 100644 index eb897b787..000000000 Binary files a/docs/developer-center/img/old-guides/legends/legends-5.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/legends/legends-6.png b/docs/developer-center/img/old-guides/legends/legends-6.png deleted file mode 100644 index 877fb5587..000000000 Binary files a/docs/developer-center/img/old-guides/legends/legends-6.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/legends/legends-7.png b/docs/developer-center/img/old-guides/legends/legends-7.png deleted file mode 100644 index d5fbfb087..000000000 Binary files a/docs/developer-center/img/old-guides/legends/legends-7.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/legends/legends-8.png b/docs/developer-center/img/old-guides/legends/legends-8.png deleted file mode 100644 index ee3513180..000000000 Binary files a/docs/developer-center/img/old-guides/legends/legends-8.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/popups/popups-1.png b/docs/developer-center/img/old-guides/popups/popups-1.png deleted file mode 100644 index f6b8045b9..000000000 Binary files a/docs/developer-center/img/old-guides/popups/popups-1.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/popups/popups-2.png b/docs/developer-center/img/old-guides/popups/popups-2.png deleted file mode 100644 index b270dd1d5..000000000 Binary files a/docs/developer-center/img/old-guides/popups/popups-2.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/popups/popups-3.png b/docs/developer-center/img/old-guides/popups/popups-3.png deleted file mode 100644 index 33993f8af..000000000 Binary files a/docs/developer-center/img/old-guides/popups/popups-3.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/publishing/publishing-1.png b/docs/developer-center/img/old-guides/publishing/publishing-1.png deleted file mode 100644 index dce6f2d8d..000000000 Binary files a/docs/developer-center/img/old-guides/publishing/publishing-1.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/quickstart/quickstart-1.png b/docs/developer-center/img/old-guides/quickstart/quickstart-1.png deleted file mode 100644 index 2402ee51a..000000000 Binary files a/docs/developer-center/img/old-guides/quickstart/quickstart-1.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/quickstart/quickstart-2.png b/docs/developer-center/img/old-guides/quickstart/quickstart-2.png deleted file mode 100644 index 8c90d5578..000000000 Binary files a/docs/developer-center/img/old-guides/quickstart/quickstart-2.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/quickstart/quickstart-3.png b/docs/developer-center/img/old-guides/quickstart/quickstart-3.png deleted file mode 100644 index c7043f8f4..000000000 Binary files a/docs/developer-center/img/old-guides/quickstart/quickstart-3.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/quickstart/quickstart-4.png b/docs/developer-center/img/old-guides/quickstart/quickstart-4.png deleted file mode 100644 index 717d258f5..000000000 Binary files a/docs/developer-center/img/old-guides/quickstart/quickstart-4.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/quickstart/quickstart-5.png b/docs/developer-center/img/old-guides/quickstart/quickstart-5.png deleted file mode 100644 index 27fb4025a..000000000 Binary files a/docs/developer-center/img/old-guides/quickstart/quickstart-5.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/quickstart/quickstart-6.png b/docs/developer-center/img/old-guides/quickstart/quickstart-6.png deleted file mode 100644 index 22d881fcc..000000000 Binary files a/docs/developer-center/img/old-guides/quickstart/quickstart-6.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/quickstart/quickstart-final.gif b/docs/developer-center/img/old-guides/quickstart/quickstart-final.gif deleted file mode 100644 index 428bb1340..000000000 Binary files a/docs/developer-center/img/old-guides/quickstart/quickstart-final.gif and /dev/null differ diff --git a/docs/developer-center/img/old-guides/spatial-analysis/example-2.png b/docs/developer-center/img/old-guides/spatial-analysis/example-2.png deleted file mode 100644 index cd30f524e..000000000 Binary files a/docs/developer-center/img/old-guides/spatial-analysis/example-2.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/spatial-analysis/example-3.png b/docs/developer-center/img/old-guides/spatial-analysis/example-3.png deleted file mode 100644 index cc97d3346..000000000 Binary files a/docs/developer-center/img/old-guides/spatial-analysis/example-3.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/widgets/animation-property-widget.gif b/docs/developer-center/img/old-guides/widgets/animation-property-widget.gif deleted file mode 100644 index 0be9c8332..000000000 Binary files a/docs/developer-center/img/old-guides/widgets/animation-property-widget.gif and /dev/null differ diff --git a/docs/developer-center/img/old-guides/widgets/animation-widget.gif b/docs/developer-center/img/old-guides/widgets/animation-widget.gif deleted file mode 100644 index 860bb4d03..000000000 Binary files a/docs/developer-center/img/old-guides/widgets/animation-widget.gif and /dev/null differ diff --git a/docs/developer-center/img/old-guides/widgets/category-widget.gif b/docs/developer-center/img/old-guides/widgets/category-widget.gif deleted file mode 100644 index 5b96ee58d..000000000 Binary files a/docs/developer-center/img/old-guides/widgets/category-widget.gif and /dev/null differ diff --git a/docs/developer-center/img/old-guides/widgets/combine-widgets.gif b/docs/developer-center/img/old-guides/widgets/combine-widgets.gif deleted file mode 100644 index a49ec8341..000000000 Binary files a/docs/developer-center/img/old-guides/widgets/combine-widgets.gif and /dev/null differ diff --git a/docs/developer-center/img/old-guides/widgets/default-widget.png b/docs/developer-center/img/old-guides/widgets/default-widget.png deleted file mode 100644 index d88ce0df9..000000000 Binary files a/docs/developer-center/img/old-guides/widgets/default-widget.png and /dev/null differ diff --git a/docs/developer-center/img/old-guides/widgets/formula-global-widget.gif b/docs/developer-center/img/old-guides/widgets/formula-global-widget.gif deleted file mode 100644 index eb8d6146e..000000000 Binary files a/docs/developer-center/img/old-guides/widgets/formula-global-widget.gif and /dev/null differ diff --git a/docs/developer-center/img/old-guides/widgets/formula-viewport-widget.gif b/docs/developer-center/img/old-guides/widgets/formula-viewport-widget.gif deleted file mode 100644 index 4f44735de..000000000 Binary files a/docs/developer-center/img/old-guides/widgets/formula-viewport-widget.gif and /dev/null differ diff --git a/docs/developer-center/img/old-guides/widgets/histogram-widget.gif b/docs/developer-center/img/old-guides/widgets/histogram-widget.gif deleted file mode 100644 index 6a9f8501d..000000000 Binary files a/docs/developer-center/img/old-guides/widgets/histogram-widget.gif and /dev/null differ diff --git a/docs/developer-center/img/old-guides/widgets/time-series-widget.gif b/docs/developer-center/img/old-guides/widgets/time-series-widget.gif deleted file mode 100644 index 9973f84ad..000000000 Binary files a/docs/developer-center/img/old-guides/widgets/time-series-widget.gif and /dev/null differ diff --git a/docs/developers/documentation.rst b/docs/developers/dev_guide.rst similarity index 50% rename from docs/developers/documentation.rst rename to docs/developers/dev_guide.rst index 69e44b3a4..dde57988e 100644 --- a/docs/developers/documentation.rst +++ b/docs/developers/dev_guide.rst @@ -22,17 +22,18 @@ The docs directory The docs directory contains: -- developer-center: Guides and examples extructure to be published in the developer center -- developers: Internal documentation -- guides: Old guides. These guides will be moved to the new ones and deleted eventually -- includes: Contains the different doc sections, which are included in `cartoframes.rst` file +- developers: Internal documentation. +- examples: Contains the examples (notebooks) for the Developer Center. +- guides: Contains the guides (notebooks) for the Developer Center. +- reference: Contains the rst index documents to generate the reference for the Developer Center. +- support: Contains the support files for the Developer Center. Structure ~~~~~~~~~ `cartoframes.rst` file is the main entry point for the rest of the documentation. We generate a single document file from this one to build the result documentation. -In the `includes` directory we place the different sections, that are included from `cartoframes.rst`. +In the `reference` directory we place the different sections, that are included from `cartoframes.rst`. Generating docs locally ~~~~~~~~~~~~~~~~~~~~~~~ @@ -63,7 +64,7 @@ Adding documentation Add documentation to the API reference: -- If you want to add a new section, create a file with the name of this section in `docs/includes`, and include it in `docs/cartoframes.rst`. +- If you want to add a new section, create a file with the name of this section in `docs/reference`, and include it in `docs/cartoframes.rst`. - Use `automodule` syntax to include module content: .. code:: @@ -88,7 +89,7 @@ we have separated branches in order to be able to change the docs after the rele Writing Documentation ~~~~~~~~~~~~~~~~~~~~~ -Documentation is placed in `/docs/developer-center` directory. +Documentation is placed in `/docs` directory. - In order to test it in the developer center, it's necessary to change the branch to be tested in the `config.js` (instructions are explained in the developer center repository) - In order to modify the documentation of a specific version, just: @@ -118,14 +119,6 @@ And, finally, open a Pull Request against the docs branch. After that, in order to see the changes applied in the developer center, deploy the production version through Jenkins. -Examples --------- - -Examples are placed in the `/examples` directory. These examples are Jupyter Notebooks, that are converted to `html` to be rendered in the developer center. -The `examples.json` file placed in `/docs/developer-center/examples` is used to select and organize the examples to expose in the developer center. -When adding a new notebook, if it needs to be published in the developer center, it must be included in this config file. - - Errors and Exceptions ~~~~~~~~~~~~~~~~~~~~~ @@ -156,10 +149,164 @@ Development with Staging Before releasing to production we need to test everything in staging. In order to do that, we need to configure CARTOframes to point to staging. There is a set of internal functions to configure the default DO credentials used by the DO Catalog. +.. code:: + from cartoframes.auth import set_default_credentials + + set_default_credentials('https://USER.carto-staging.com', 'API_KEY') + .. code:: from cartoframes.auth.defaults import set_default_do_credentials set_default_do_credentials(username='USER', base_url='https://ORG.carto-staging.com') # After that, every request to the DO Catalog will be done with the provided credentials - # instead of the default ones for production (user 'do-metadata'). \ No newline at end of file + # instead of the default ones for production (user 'do-metadata'). + + +Local Development Setup +======================= + +Let's run a local Jupyter Notebook with CARTOFrames, CARTO VL and Airship for local development. + +Jupyter Notebook +^^^^^^^^^^^^^^^^ + +1. Install Python 3 + +https://www.python.org/downloads/ + +2. Create virtualenv + +.. code:: + + python3 -m virtualenv venv + +3. Activate virtualenv + +.. code:: + + source venv/bin/activate + +In order to deactivate the virtualenv, run: + +.. code:: + + deactivate + +4. Install jupyter + +.. code:: + + pip install jupyter + +5. Install cartoframes package in dev mode + +.. code:: + + cd cartoframes + pip install -e . + +6. Launch Jupyter notebook + +.. code:: + + jupyter notebook + + +CARTO VL +^^^^^^^^ + +We're going to clone the repository. We can do it in the jupyter-cartoframes directory we've created to set up our local workspace. + +.. code:: + + git clone git@github.com:CartoDB/carto-vl.git + cd carto-vl + + +The local installation of CARTO VL is explained `in this guide `__ + +Airship +^^^^^^^ + +Let's clone the Airship repository as well. + +.. code:: + + git clone git@github.com:CartoDB/airship.git + cd airship + + +The local installation of Airship is explained `in this guide `__ + +CARTOframes JavaScript code +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The JavaScript code is generated using Rollup, a module bundler. In order to save changes in the all the .js files, we need to bundle the code: + +Watch changes: + +.. code:: + + cd cartoframes + npm run dev + +Build: + +.. code:: + + cd cartoframes + npm run build + + +Run all the projects +^^^^^^^^^^^^^^^^^^^^ + +We've to serve now all the projects as follows: + +.. code:: + + +---------------------------+---------------------------+ + |/carto-vl |/carto-vl | + |$ npm run build:watch | $ npm run serve | + | | | + | | | + | | | + +---------------------------+---------------------------+ + |/airship |/airship | + |$ npm run dev | $ npm run serve | + | | | + | | | + | | | + +---------------------------+---------------------------+ + |/cartoframes |/cartoframes | + |(env)$ jupyter notebook |$ npm run dev | + | | | + | | | + | | | + +---------------------------+---------------------------+ + +Load JavaScript libraries locally +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +In order to get Airship and CARTO VL libraries we're serving locally in CARTOFrames, we need to instantiate the map indicating the paths: + +.. code:: python + + from cartoframes.auth import set_default_credentials + from cartoframes.viz import Map, Layer + + set_default_credentials('cartoframes') + + Map( + Layer('dataset_name'), + _carto_vl_path='http://localhost:8080', + _airship_path='http://localhost:5000' + ) + +We've a lot of public datasets in both `cartoframes` and `cartovl` accounts that we use for the examples, but I've you've a personal CARTO account you can use your credentials. + +Reload changes +^^^^^^^^^^^^^^ + +When making changes in CARTOFrames library, in the notebook, click on kernel > Restart and Run all. When making changes in CARTO VL or Airship, click on run (the page doesn't need to be reloaded) diff --git a/docs/developers/local_development.rst b/docs/developers/local_development.rst deleted file mode 100644 index 5f6181f18..000000000 --- a/docs/developers/local_development.rst +++ /dev/null @@ -1,147 +0,0 @@ -Local Development Setup -======================= - -Let's run a local Jupyter Notebook with CARTOFrames, CARTO VL and Airship for local development. - -Jupyter Notebook -^^^^^^^^^^^^^^^^ - -1. Install Python 3 - -https://www.python.org/downloads/ - -2. Create virtualenv - -.. code:: - - python3 -m virtualenv venv - -3. Activate virtualenv - -.. code:: - - source venv/bin/activate - -In order to deactivate the virtualenv, run: - -.. code:: - - deactivate - -4. Install jupyter - -.. code:: - - pip install jupyter - -5. Install cartoframes package in dev mode - -.. code:: - - cd cartoframes - pip install -e . - -6. Launch Jupyter notebook - -.. code:: - - jupyter notebook - - -CARTO VL -^^^^^^^^ - -We're going to clone the repository. We can do it in the jupyter-cartoframes directory we've created to set up our local workspace. - -.. code:: - - git clone git@github.com:CartoDB/carto-vl.git - cd carto-vl - - -The local installation of CARTO VL is explained `in this guide `__ - -Airship -^^^^^^^ - -Let's clone the Airship repository as well. - -.. code:: - - git clone git@github.com:CartoDB/airship.git - cd airship - - -The local installation of Airship is explained `in this guide `__ - -CARTOframes JavaScript code -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The JavaScript code is generated using Rollup, a module bundler. In order to save changes in the all the .js files, we need to bundle the code: - -Watch changes: - -.. code:: - - cd cartoframes - npm run dev - -Build: - -.. code:: - - cd cartoframes - npm run build - - -Run all the projects -^^^^^^^^^^^^^^^^^^^^ - -We've to serve now all the projects as follows: - -.. code:: - - +---------------------------+---------------------------+ - |/carto-vl |/carto-vl | - |$ npm run build:watch | $ npm run serve | - | | | - | | | - | | | - +---------------------------+---------------------------+ - |/airship |/airship | - |$ npm run dev | $ npm run serve | - | | | - | | | - | | | - +---------------------------+---------------------------+ - |/cartoframes |/cartoframes | - |(env)$ jupyter notebook |$ npm run dev | - | | | - | | | - | | | - +---------------------------+---------------------------+ - -Load JavaScript libraries locally -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -In order to get Airship and CARTO VL libraries we're serving locally in CARTOFrames, we need to instantiate the map indicating the paths: - -.. code:: python - - from cartoframes.auth import set_default_credentials - from cartoframes.viz import Map, Layer - - set_default_credentials('cartoframes') - - Map( - Layer('dataset_name'), - _carto_vl_path='http://localhost:8080', - _airship_path='http://localhost:5000' - ) - -We've a lot of public datasets in both `cartoframes` and `cartovl` accounts that we use for the examples, but I've you've a personal CARTO account you can use your credentials. - -Reload changes -^^^^^^^^^^^^^^ - -When making changes in CARTOFrames library, in the notebook, click on kernel > Restart and Run all. When making changes in CARTO VL or Airship, click on run (the page doesn't need to be reloaded) diff --git a/docs/examples/README.md b/docs/examples/README.md new file mode 100644 index 000000000..34d0dfdbc --- /dev/null +++ b/docs/examples/README.md @@ -0,0 +1,15 @@ +## List of available samples + +- https://libs.cartocdn.com/cartoframes/samples/starbucks_brooklyn.csv +- https://libs.cartocdn.com/cartoframes/samples/starbucks_brooklyn_geocoded.csv +- https://libs.cartocdn.com/cartoframes/samples/starbucks_brooklyn_geocoded.zip +- https://libs.cartocdn.com/cartoframes/samples/starbucks_brooklyn_geocoded.geojson +- https://libs.cartocdn.com/cartoframes/samples/chicago_cbg.csv +- https://libs.cartocdn.com/cartoframes/samples/la_cbg.csv +- https://libs.cartocdn.com/cartoframes/samples/starbucks_brooklyn_iso_enriched.geojson +- https://libs.cartocdn.com/cartoframes/samples/starbucks_brooklyn_iso_enriched.csv +- https://libs.cartocdn.com/cartoframes/samples/paris_wifi_services.json +- https://libs.cartocdn.com/cartoframes/samples/arbres_remarquables_paris.json +- https://libs.cartocdn.com/cartoframes/samples/sf_incidents.csv +- https://libs.cartocdn.com/cartoframes/samples/london_stations.xls + diff --git a/examples/data_management/change_carto_table_privacy.ipynb b/docs/examples/data_management/change_carto_table_privacy.ipynb similarity index 97% rename from examples/data_management/change_carto_table_privacy.ipynb rename to docs/examples/data_management/change_carto_table_privacy.ipynb index 7a38732c1..a86bd5f0c 100644 --- a/examples/data_management/change_carto_table_privacy.ipynb +++ b/docs/examples/data_management/change_carto_table_privacy.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Change CARTO Table Privacy\n", + "## Change CARTO Table Privacy\n", "\n", "This example illustrates how to change the privacy of a CARTO table\n", "\n", @@ -99,7 +99,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.4" + "version": "3.6.7" } }, "nbformat": 4, diff --git a/docs/examples/data_management/read_carto_query.ipynb b/docs/examples/data_management/read_carto_query.ipynb new file mode 100644 index 000000000..696426ef0 --- /dev/null +++ b/docs/examples/data_management/read_carto_query.ipynb @@ -0,0 +1,1405 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Read data from a CARTO SQL Query\n", + "\n", + "This example illustrates how to read data from a CARTO table using a SQL Query.\n", + "\n", + "> Use this when you need to see or modify the data locally. If you only need to visualize the data, just use the query directly in the Layer: `Layer('SELECT * FROM dataset_name')`\n", + "\n", + "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('cartoframes')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
cartodb_idthe_geomfield_1nameaddressrevenue
01POINT (-73.95901 40.67109)0Franklin Ave & Eastern Pkwy341 Eastern Pkwy,Brooklyn, NY 112381321040.772
12POINT (-73.96122 40.57796)1607 Brighton Beach Ave607 Brighton Beach Avenue,Brooklyn, NY 112351268080.418
23POINT (-73.98976 40.61912)265th St & 18th Ave6423 18th Avenue,Brooklyn, NY 112041248133.699
\n", + "
" + ], + "text/plain": [ + " cartodb_id the_geom field_1 \\\n", + "0 1 POINT (-73.95901 40.67109) 0 \n", + "1 2 POINT (-73.96122 40.57796) 1 \n", + "2 3 POINT (-73.98976 40.61912) 2 \n", + "\n", + " name address \\\n", + "0 Franklin Ave & Eastern Pkwy 341 Eastern Pkwy,Brooklyn, NY 11238 \n", + "1 607 Brighton Beach Ave 607 Brighton Beach Avenue,Brooklyn, NY 11235 \n", + "2 65th St & 18th Ave 6423 18th Avenue,Brooklyn, NY 11204 \n", + "\n", + " revenue \n", + "0 1321040.772 \n", + "1 1268080.418 \n", + "2 1248133.699 " + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes import read_carto\n", + "\n", + "gdf = read_carto(\"SELECT * FROM starbucks_brooklyn WHERE revenue > 1200000\")\n", + "gdf.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
\n", + "
\n", + "
\n", + " \n", + " \n", + "
\n", + "
\n", + "
\n", + "\n", + " \n", + "\n", + "
\n", + "
\n", + " :\n", + "
\n", + " \n", + " \n", + "
\n", + "
\n", + "\n", + "
\n", + " StackTrace\n", + "
    \n", + "
    \n", + "
    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Layer\n", + "\n", + "Layer(gdf)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/data_management/load_data_from_carto_table.ipynb b/docs/examples/data_management/read_carto_table.ipynb similarity index 81% rename from examples/data_management/load_data_from_carto_table.ipynb rename to docs/examples/data_management/read_carto_table.ipynb index d72ac16fd..9a2373504 100644 --- a/examples/data_management/load_data_from_carto_table.ipynb +++ b/docs/examples/data_management/read_carto_table.ipynb @@ -4,9 +4,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Load data from a CARTO Table\n", + "## Read data from a CARTO Table\n", "\n", - "This example illustrates how to load data from a CARTO table.\n", + "This example illustrates how to read data from a CARTO table.\n", "\n", "> Use this when you need to see or modify the data locally. If you only need to visualize the data, just use the name of the dataset in the Layer: `Layer('dataset_name')`\n", "\n", @@ -52,197 +52,83 @@ " \n", " cartodb_id\n", " the_geom\n", - " fuel4\n", - " country_abbrev\n", - " country\n", + " field_1\n", " name\n", - " gppd_idnr\n", - " capacity_mw\n", - " latitude\n", - " longitude\n", - " ...\n", - " owner\n", - " source\n", - " url\n", - " geolocation_source\n", - " year_of_capacity_data\n", - " generation_gwh_2013\n", - " generation_gwh_2014\n", - " generation_gwh_2015\n", - " generation_gwh_2016\n", - " estimated_generation_gwh\n", + " address\n", + " revenue\n", " \n", " \n", " \n", " \n", " 0\n", - " 8465\n", - " POINT (10.84410 48.58820)\n", - " \n", - " DEU\n", - " Germany\n", - " Nordendorf Solar Power Plant\n", - " WRI1030340\n", - " 7.4\n", - " 48.5882\n", - " 10.8441\n", - " ...\n", - " \n", - " Sinosol AG\n", - " http://www.sinosol.de\n", - " Industry About\n", - " NaN\n", - " NaN\n", - " \n", - " NaN\n", - " NaN\n", - " 68.537617\n", + " 1\n", + " POINT (-73.95901 40.67109)\n", + " 0\n", + " Franklin Ave & Eastern Pkwy\n", + " 341 Eastern Pkwy,Brooklyn, NY 11238\n", + " 1321040.772\n", " \n", " \n", " 1\n", - " 8410\n", - " POINT (11.20140 48.32320)\n", - " \n", - " DEU\n", - " Germany\n", - " Miegersbach Solar Power Plant\n", - " WRI1030364\n", - " 5.2\n", - " 48.3232\n", - " 11.2014\n", - " ...\n", - " \n", - " Phoenix Solar AG\n", - " http://www.phoenixsolar-group.com\n", - " Industry About\n", - " NaN\n", - " NaN\n", - " \n", - " NaN\n", - " NaN\n", - " 48.161569\n", + " 2\n", + " POINT (-73.96122 40.57796)\n", + " 1\n", + " 607 Brighton Beach Ave\n", + " 607 Brighton Beach Avenue,Brooklyn, NY 11235\n", + " 1268080.418\n", " \n", " \n", " 2\n", - " 11314\n", - " POINT (14.50530 -22.95750)\n", - " \n", - " NAM\n", - " Namibia\n", - " Anixas\n", - " WRI1023132\n", - " 24.3\n", - " -22.9575\n", - " 14.5053\n", - " ...\n", - " \n", - " African Development Bank Group\n", - " http://powerafrica.opendataforafrica.org\n", - " Power Africa\n", - " NaN\n", - " NaN\n", - " \n", - " NaN\n", - " NaN\n", - " 5.273790\n", + " 3\n", + " POINT (-73.98976 40.61912)\n", + " 2\n", + " 65th St & 18th Ave\n", + " 6423 18th Avenue,Brooklyn, NY 11204\n", + " 1248133.699\n", " \n", " \n", " 3\n", - " 25385\n", - " POINT (-70.09890 8.83630)\n", - " \n", - " VEN\n", - " Venezuela\n", - " Masparro\n", - " WRI1018659\n", - " 25.0\n", - " 8.8363\n", - " -70.0989\n", - " ...\n", - " \n", - " Venezuela Electricity Sector\n", - " http://www.mppee.gob.ve/download/anuario_estad...\n", - " GEODB\n", - " NaN\n", - " 165.0\n", - " \n", - " NaN\n", - " NaN\n", - " 123.392392\n", + " 4\n", + " POINT (-74.02744 40.63152)\n", + " 3\n", + " Bay Ridge Pkwy & 3rd Ave\n", + " 7419 3rd Avenue,Brooklyn, NY 11209\n", + " 1185702.676\n", " \n", " \n", " 4\n", - " 13042\n", - " POINT (126.51120 34.40910)\n", - " \n", - " KOR\n", - " South Korea\n", - " Gochang\n", - " WRI1029915\n", - " 15.0\n", - " 34.4091\n", - " 126.5112\n", - " ...\n", - " \n", - " CDM\n", - " https://cdm.unfccc.int/Projects/DB/KEMCO125427...\n", - " WRI\n", - " NaN\n", - " NaN\n", - " \n", - " NaN\n", - " NaN\n", - " 405.443975\n", + " 5\n", + " POINT (-74.00098 40.59321)\n", + " 4\n", + " Caesar's Bay Shopping Center\n", + " 8973 Bay Parkway,Brooklyn, NY 11214\n", + " 1148427.411\n", " \n", " \n", "\n", - "

    5 rows × 24 columns

    \n", "" ], "text/plain": [ - " cartodb_id the_geom fuel4 country_abbrev country \\\n", - "0 8465 POINT (10.84410 48.58820) DEU Germany \n", - "1 8410 POINT (11.20140 48.32320) DEU Germany \n", - "2 11314 POINT (14.50530 -22.95750) NAM Namibia \n", - "3 25385 POINT (-70.09890 8.83630) VEN Venezuela \n", - "4 13042 POINT (126.51120 34.40910) KOR South Korea \n", - "\n", - " name gppd_idnr capacity_mw latitude \\\n", - "0 Nordendorf Solar Power Plant WRI1030340 7.4 48.5882 \n", - "1 Miegersbach Solar Power Plant WRI1030364 5.2 48.3232 \n", - "2 Anixas WRI1023132 24.3 -22.9575 \n", - "3 Masparro WRI1018659 25.0 8.8363 \n", - "4 Gochang WRI1029915 15.0 34.4091 \n", - "\n", - " longitude ... owner source \\\n", - "0 10.8441 ... Sinosol AG \n", - "1 11.2014 ... Phoenix Solar AG \n", - "2 14.5053 ... African Development Bank Group \n", - "3 -70.0989 ... Venezuela Electricity Sector \n", - "4 126.5112 ... CDM \n", - "\n", - " url geolocation_source \\\n", - "0 http://www.sinosol.de Industry About \n", - "1 http://www.phoenixsolar-group.com Industry About \n", - "2 http://powerafrica.opendataforafrica.org Power Africa \n", - "3 http://www.mppee.gob.ve/download/anuario_estad... GEODB \n", - "4 https://cdm.unfccc.int/Projects/DB/KEMCO125427... WRI \n", - "\n", - " year_of_capacity_data generation_gwh_2013 generation_gwh_2014 \\\n", - "0 NaN NaN \n", - "1 NaN NaN \n", - "2 NaN NaN \n", - "3 NaN 165.0 \n", - "4 NaN NaN \n", - "\n", - " generation_gwh_2015 generation_gwh_2016 estimated_generation_gwh \n", - "0 NaN NaN 68.537617 \n", - "1 NaN NaN 48.161569 \n", - "2 NaN NaN 5.273790 \n", - "3 NaN NaN 123.392392 \n", - "4 NaN NaN 405.443975 \n", - "\n", - "[5 rows x 24 columns]" + " cartodb_id the_geom field_1 \\\n", + "0 1 POINT (-73.95901 40.67109) 0 \n", + "1 2 POINT (-73.96122 40.57796) 1 \n", + "2 3 POINT (-73.98976 40.61912) 2 \n", + "3 4 POINT (-74.02744 40.63152) 3 \n", + "4 5 POINT (-74.00098 40.59321) 4 \n", + "\n", + " name address \\\n", + "0 Franklin Ave & Eastern Pkwy 341 Eastern Pkwy,Brooklyn, NY 11238 \n", + "1 607 Brighton Beach Ave 607 Brighton Beach Avenue,Brooklyn, NY 11235 \n", + "2 65th St & 18th Ave 6423 18th Avenue,Brooklyn, NY 11204 \n", + "3 Bay Ridge Pkwy & 3rd Ave 7419 3rd Avenue,Brooklyn, NY 11209 \n", + "4 Caesar's Bay Shopping Center 8973 Bay Parkway,Brooklyn, NY 11214 \n", + "\n", + " revenue \n", + "0 1321040.772 \n", + "1 1268080.418 \n", + "2 1248133.699 \n", + "3 1185702.676 \n", + "4 1148427.411 " ] }, "execution_count": 2, @@ -253,7 +139,7 @@ "source": [ "from cartoframes import read_carto\n", "\n", - "gdf = read_carto('global_power_plants', limit=100)\n", + "gdf = read_carto('starbucks_brooklyn')\n", "gdf.head()" ] }, @@ -963,21 +849,21 @@ " return value.toLocaleString();\n", " }\n", "\n", - " function updateViewport(map) {\n", + " function updateViewport(id, map) {\n", " function updateMapInfo() {\n", - " const mapInfo$ = document.getElementById('map-info');\n", + " const mapInfo$ = document.getElementById(id);\n", " const center = map.getCenter();\n", " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -1051,7 +937,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -1066,12 +952,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
    ${popupHTML}
    `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
    ${popupHTML}
    `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1355,7 +1245,8 @@ " const map = createMap(container, basemapStyle, settings.bounds, settings.mapboxtoken);\n", "\n", " if (settings.show_info) {\n", - " updateViewport(map);\n", + " const id = mapIndex !== undefined ? `map-info-${mapIndex}` : 'map-info';\n", + " updateViewport(id, map);\n", " }\n", "\n", " if (settings.camera) {\n", @@ -1429,7 +1320,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1470,12 +1361,12 @@ " .addEventListener('ready', () => {\n", " const basecolor = '';\n", " const basemap = 'Positron';\n", - " const bounds = [[-76.759, -43.0914], [152.8145, 54.1255]];\n", + " const bounds = [[-74.03313, 40.57796], [-73.87015, 40.6915]];\n", " const camera = null;\n", " const has_legends = 'False' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "H4sIADvpvF4C/72ay26cNwyF32XWssD7JdsAXXdfZBEkbmEgjQN3uggCv3up3y0gdU1kmcE4B6TIj4fS/Ljdv397vL27/fL48f73y+P75y9fHj/dn56/3sbt97fP/rq9++3H7elzfQvq0/MP6oNvL8/fHl/uT+uLP17H7Y/H5z8f7y/f61//ffnX56ev9/rqp+fnl89PXz/er/8UYYYIDompEfTh9XX8q4O9OjgJUJYOE+861KsjU0F5PBDNVNdNiFuFHhwmZOSIGWy86UhvQGRTEWmwTIHETUh7hTgnkOh44JVD3lNnvamzmMBRQlfufBPyViGRiZIxBCYG7AFFb+qUZuBKHfk0g/2QslWJeIJHtRFNA5O9XaFbKFFjCRHEXt6I7X2ESV7VwFV2eCColw0M08ViaCmyHMnrZUO1LEDyEJ5hdkQkzcnjyUGrlXw6Q+xS2ixFkwVwPFQ3ReoRlbWXRAnEW0lQ2C7lzVJYiGC6oFdndUj1QoKyOJ5SjJjJmLtQLyPWAalDpY9gcurevNTtHoqw6DrKRjjIzj3qxwSYFiaqudhlr3Si5vFUJyWW4wHLrFjuc4O4vX8NtQZHoaKG+84kakaFlkKFVEN+F9H2Uwqo+fTAOj388HnWziNT0wt9inrUXjMkpCzY5Sh3PFC0k0hcFokWIPiIpxkQWFQVH1hEd9jxwPCzhLCbreWQi6yxc5WpW4RTVm3PckRHNNxeCnGNijLIUgNwl2reLpYTX+vfjMC95LgbDDZdc4hOkjwOyfrbKK7cecFb9o7lZiws1y9YHtkrKD+C6maDTE/QlT6AOOqhGQ3l+7UWmVqj86g7aSaDVCCeo8pBj8wJdtc3cS0XUiNdD88qzfcONrMWsksoj2sH4XZ3UrWAo0IrSBxnJN1XNiJuQ7F2jL2PpJcNtPp0lTbncUDWrBKrgaru9vsG8e7bNCaVlTIAOi6FeomgM0VxLZiax4Ip2Xz7VLMOq0/L55PuZa3QXWwRQKt/Ev245eolQkwLpVFuGOlwC9oLBC+A8rpq0FOF289Hw9e1ag3wfX3QZhisuUC68gZ0rETaSwOvkVA6xVMKOALq5UEZkjqZQQUEO+69tRcJvmxILeMVEAPt7NFeJNQ+FA655oID7bzWZo+QU4h96LqD9P2IDJpbVctnD855Vpy1P00g+zWBwI4txbrfJooGhdGFbTjvva17gyj6mI1aJZ10rwXrxUKZEXMcVHqHLbVeKJhPMbLVrep6JM66m4hqTWGe7nmUQjMVylNpXI86aLLjx6L9gNIH1SJJx3WMZfcJoaxKqE1Scq8474WCldGuZmWY5L6fkGO3jqVcJVeb1/FGRT9LqBcKtUSSoQ/GZVJ3oLp010KGDiqe6nlE2p05j4i3mjvise7EYVRtV+LIaHdz7v1NpPwW0PHo5tEuVDvdEvI4a64XC+slJxBXu4ocd7TRjIVa9MNwFd3/HiIC24HKehEVGPeZF80LBE8TtDWLyp7sxRDcPYsMa8db985w3JFEPxcs1xHVhne8xmt70ZnTNSOSd4Ma/WBw1cFWU3yfeeHdpZDLN/Jyqsc6GfGzhPq5kJTriNDp+L0EdEcE5X+WoePzdxnYrSMFoGXoWM6AqLtbVfKtuI8mynYqBMlYjx7oO+ZS2hMXwos+te3tzZrtbiET6PJZuOM0rTugcKXVQ8604zTbqUDrpwvrZy14/Fwro904evCKSOS4cc5sF5LIy2jl9Rz14fUfZGvdch4pAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIADvpvF4C/72ay26cNwyF32XWssD7JdsAXXdfZBEkbmEgjQN3uggCv3up3y0gdU1kmcE4B6TIj4fS/Ljdv397vL27/fL48f73y+P75y9fHj/dn56/3sbt97fP/rq9++3H7elzfQvq0/MP6oNvL8/fHl/uT+uLP17H7Y/H5z8f7y/f61//ffnX56ev9/rqp+fnl89PXz/er/8UYYYIDompEfTh9XX8q4O9OjgJUJYOE+861KsjU0F5PBDNVNdNiFuFHhwmZOSIGWy86UhvQGRTEWmwTIHETUh7hTgnkOh44JVD3lNnvamzmMBRQlfufBPyViGRiZIxBCYG7AFFb+qUZuBKHfk0g/2QslWJeIJHtRFNA5O9XaFbKFFjCRHEXt6I7X2ESV7VwFV2eCColw0M08ViaCmyHMnrZUO1LEDyEJ5hdkQkzcnjyUGrlXw6Q+xS2ixFkwVwPFQ3ReoRlbWXRAnEW0lQ2C7lzVJYiGC6oFdndUj1QoKyOJ5SjJjJmLtQLyPWAalDpY9gcurevNTtHoqw6DrKRjjIzj3qxwSYFiaqudhlr3Si5vFUJyWW4wHLrFjuc4O4vX8NtQZHoaKG+84kakaFlkKFVEN+F9H2Uwqo+fTAOj388HnWziNT0wt9inrUXjMkpCzY5Sh3PFC0k0hcFokWIPiIpxkQWFQVH1hEd9jxwPCzhLCbreWQi6yxc5WpW4RTVm3PckRHNNxeCnGNijLIUgNwl2reLpYTX+vfjMC95LgbDDZdc4hOkjwOyfrbKK7cecFb9o7lZiws1y9YHtkrKD+C6maDTE/QlT6AOOqhGQ3l+7UWmVqj86g7aSaDVCCeo8pBj8wJdtc3cS0XUiNdD88qzfcONrMWsksoj2sH4XZ3UrWAo0IrSBxnJN1XNiJuQ7F2jL2PpJcNtPp0lTbncUDWrBKrgaru9vsG8e7bNCaVlTIAOi6FeomgM0VxLZiax4Ip2Xz7VLMOq0/L55PuZa3QXWwRQKt/Ev245eolQkwLpVFuGOlwC9oLBC+A8rpq0FOF289Hw9e1ag3wfX3QZhisuUC68gZ0rETaSwOvkVA6xVMKOALq5UEZkjqZQQUEO+69tRcJvmxILeMVEAPt7NFeJNQ+FA655oID7bzWZo+QU4h96LqD9P2IDJpbVctnD855Vpy1P00g+zWBwI4txbrfJooGhdGFbTjvva17gyj6mI1aJZ10rwXrxUKZEXMcVHqHLbVeKJhPMbLVrep6JM66m4hqTWGe7nmUQjMVylNpXI86aLLjx6L9gNIH1SJJx3WMZfcJoaxKqE1Scq8474WCldGuZmWY5L6fkGO3jqVcJVeb1/FGRT9LqBcKtUSSoQ/GZVJ3oLp010KGDiqe6nlE2p05j4i3mjvise7EYVRtV+LIaHdz7v1NpPwW0PHo5tEuVDvdEvI4a64XC+slJxBXu4ocd7TRjIVa9MNwFd3/HiIC24HKehEVGPeZF80LBE8TtDWLyp7sxRDcPYsMa8db985w3JFEPxcs1xHVhne8xmt70ZnTNSOSd4Ma/WBw1cFWU3yfeeHdpZDLN/Jyqsc6GfGzhPq5kJTriNDp+L0EdEcE5X+WoePzdxnYrSMFoGXoWM6AqLtbVfKtuI8mynYqBMlYjx7oO+ZS2hMXwos+te3tzZrtbiET6PJZuOM0rTugcKXVQ8604zTbqUDrpwvrZy14/Fwro904evCKSOS4cc5sF5LIy2jl9Rz14fUfZGvdch4pAAA=", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\n", "widgets": []}];\n", + " const layers = [{"credentials": null, "data": "H4sIAO8Nyl8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAO8Nyl8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -1499,7 +1390,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 3, diff --git a/examples/data_management/load_data_from_csv.ipynb b/docs/examples/data_management/read_csv.ipynb similarity index 70% rename from examples/data_management/load_data_from_csv.ipynb rename to docs/examples/data_management/read_csv.ipynb index cc0a47eee..e7509007f 100644 --- a/examples/data_management/load_data_from_csv.ipynb +++ b/docs/examples/data_management/read_csv.ipynb @@ -4,16 +4,16 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Load data from a CSV file\n", + "## Read data from a CSV file\n", "\n", - "These examples illustrate how to load data from a CSV file using the Pandas and GeoPandas libraries." + "These examples illustrate how to read data from a CSV file using the Pandas and GeoPandas libraries." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## From latitude and longitude columns" + "### From latitude and longitude columns" ] }, { @@ -68,123 +68,123 @@ " \n", " \n", " 0\n", - " 2019-05-01T01:00:00.000\n", - " 2019-05-01T00:00:00.000\n", - " 01:00\n", - " 2019\n", - " Wednesday\n", - " 2019-06-12T20:27:00.000\n", - " 81097515200\n", - " 810975\n", - " 190424067\n", - " 191634131.0\n", + " 2020-08-16T03:13:00.000\n", + " 2020-08-16T00:00:00.000\n", + " 03:13\n", + " 2020\n", + " Sunday\n", + " 2020-08-16T03:14:00.000\n", + " 95319604083\n", + " 953196\n", + " 200491669\n", + " 202290313.0\n", " ...\n", - " 10.0\n", - " 7.0\n", - " 35.0\n", + " 2.0\n", + " 9\n", + " 26.0\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", - " 1.0\n", - " POINT (-122.49963 37.76257)\n", + " 2.0\n", + " POINT (-122.39773 37.75483)\n", " \n", " \n", " 1\n", - " 2019-06-22T07:45:00.000\n", - " 2019-06-22T00:00:00.000\n", - " 07:45\n", - " 2019\n", - " Saturday\n", - " 2019-06-22T08:05:00.000\n", - " 81465564020\n", - " 814655\n", - " 190450880\n", - " 191730737.0\n", + " 2020-08-16T03:38:00.000\n", + " 2020-08-16T00:00:00.000\n", + " 03:38\n", + " 2020\n", + " Sunday\n", + " 2020-08-16T04:56:00.000\n", + " 95326228100\n", + " 953262\n", + " 200491738\n", + " 202290404.0\n", " ...\n", - " 1.0\n", - " 10.0\n", - " 34.0\n", - " 1.0\n", + " 3.0\n", + " 2\n", + " 20.0\n", + " 3.0\n", + " NaN\n", " NaN\n", - " 1.0\n", " NaN\n", " NaN\n", " 2.0\n", - " POINT (-122.40816 37.78054)\n", + " POINT (-122.42204 37.76654)\n", " \n", " \n", " 2\n", - " 2019-06-03T16:16:00.000\n", - " 2019-06-03T00:00:00.000\n", - " 16:16\n", - " 2019\n", - " Monday\n", - " 2019-06-03T16:16:00.000\n", - " 80769875000\n", - " 807698\n", - " 190397016\n", - " 191533509.0\n", + " 2020-08-16T13:40:00.000\n", + " 2020-08-16T00:00:00.000\n", + " 13:40\n", + " 2020\n", + " Sunday\n", + " 2020-08-16T13:56:00.000\n", + " 95336264020\n", + " 953362\n", + " 200492463\n", + " 202291631.0\n", " ...\n", - " 2.0\n", - " 9.0\n", " 1.0\n", + " 10\n", + " 8.0\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", - " 2.0\n", - " POINT (-122.39075 37.72160)\n", + " 1.0\n", + " POINT (-122.40371 37.78404)\n", " \n", " \n", " 3\n", - " 2018-11-16T16:34:00.000\n", - " 2018-11-16T00:00:00.000\n", - " 16:34\n", - " 2018\n", - " Friday\n", - " 2018-11-16T16:34:00.000\n", - " 73857915041\n", - " 738579\n", - " 180870806\n", - " 183202539.0\n", + " 2020-08-16T16:18:00.000\n", + " 2020-08-16T00:00:00.000\n", + " 16:18\n", + " 2020\n", + " Sunday\n", + " 2020-08-16T16:18:00.000\n", + " 95335012010\n", + " 953350\n", + " 200492792\n", + " 202292091.0\n", " ...\n", - " 6.0\n", - " 3.0\n", - " 6.0\n", + " 10.0\n", + " 7\n", + " 35.0\n", " NaN\n", - " 18.0\n", " NaN\n", " NaN\n", " NaN\n", - " 2.0\n", - " POINT (-122.40488 37.79486)\n", + " NaN\n", + " 1.0\n", + " POINT (-122.50742 37.75100)\n", " \n", " \n", " 4\n", - " 2019-05-27T02:25:00.000\n", - " 2019-05-27T00:00:00.000\n", - " 02:25\n", - " 2019\n", - " Monday\n", - " 2019-05-27T02:55:00.000\n", - " 80509204134\n", - " 805092\n", - " 190378555\n", - " 191470256.0\n", + " 2020-08-12T22:00:00.000\n", + " 2020-08-12T00:00:00.000\n", + " 22:00\n", + " 2020\n", + " Wednesday\n", + " 2020-08-15T08:30:00.000\n", + " 95300674000\n", + " 953006\n", + " 200489880\n", + " 202280827.0\n", " ...\n", " 4.0\n", - " 6.0\n", - " 13.0\n", + " 11\n", + " 39.0\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", " NaN\n", - " 1.0\n", - " POINT (-122.43056 37.79772)\n", + " 2.0\n", + " POINT (-122.43214 37.78050)\n", " \n", " \n", "\n", @@ -193,60 +193,60 @@ ], "text/plain": [ " incident_datetime incident_date incident_time \\\n", - "0 2019-05-01T01:00:00.000 2019-05-01T00:00:00.000 01:00 \n", - "1 2019-06-22T07:45:00.000 2019-06-22T00:00:00.000 07:45 \n", - "2 2019-06-03T16:16:00.000 2019-06-03T00:00:00.000 16:16 \n", - "3 2018-11-16T16:34:00.000 2018-11-16T00:00:00.000 16:34 \n", - "4 2019-05-27T02:25:00.000 2019-05-27T00:00:00.000 02:25 \n", + "0 2020-08-16T03:13:00.000 2020-08-16T00:00:00.000 03:13 \n", + "1 2020-08-16T03:38:00.000 2020-08-16T00:00:00.000 03:38 \n", + "2 2020-08-16T13:40:00.000 2020-08-16T00:00:00.000 13:40 \n", + "3 2020-08-16T16:18:00.000 2020-08-16T00:00:00.000 16:18 \n", + "4 2020-08-12T22:00:00.000 2020-08-12T00:00:00.000 22:00 \n", "\n", " incident_year incident_day_of_week report_datetime row_id \\\n", - "0 2019 Wednesday 2019-06-12T20:27:00.000 81097515200 \n", - "1 2019 Saturday 2019-06-22T08:05:00.000 81465564020 \n", - "2 2019 Monday 2019-06-03T16:16:00.000 80769875000 \n", - "3 2018 Friday 2018-11-16T16:34:00.000 73857915041 \n", - "4 2019 Monday 2019-05-27T02:55:00.000 80509204134 \n", + "0 2020 Sunday 2020-08-16T03:14:00.000 95319604083 \n", + "1 2020 Sunday 2020-08-16T04:56:00.000 95326228100 \n", + "2 2020 Sunday 2020-08-16T13:56:00.000 95336264020 \n", + "3 2020 Sunday 2020-08-16T16:18:00.000 95335012010 \n", + "4 2020 Wednesday 2020-08-15T08:30:00.000 95300674000 \n", "\n", " incident_id incident_number cad_number ... :@computed_region_qgnn_b9vv \\\n", - "0 810975 190424067 191634131.0 ... 10.0 \n", - "1 814655 190450880 191730737.0 ... 1.0 \n", - "2 807698 190397016 191533509.0 ... 2.0 \n", - "3 738579 180870806 183202539.0 ... 6.0 \n", - "4 805092 190378555 191470256.0 ... 4.0 \n", + "0 953196 200491669 202290313.0 ... 2.0 \n", + "1 953262 200491738 202290404.0 ... 3.0 \n", + "2 953362 200492463 202291631.0 ... 1.0 \n", + "3 953350 200492792 202292091.0 ... 10.0 \n", + "4 953006 200489880 202280827.0 ... 4.0 \n", "\n", " :@computed_region_26cr_cadq :@computed_region_ajp5_b2md \\\n", - "0 7.0 35.0 \n", - "1 10.0 34.0 \n", - "2 9.0 1.0 \n", - "3 3.0 6.0 \n", - "4 6.0 13.0 \n", + "0 9 26.0 \n", + "1 2 20.0 \n", + "2 10 8.0 \n", + "3 7 35.0 \n", + "4 11 39.0 \n", "\n", " :@computed_region_nqbw_i6c3 :@computed_region_2dwj_jsy4 \\\n", "0 NaN NaN \n", - "1 1.0 NaN \n", + "1 3.0 NaN \n", "2 NaN NaN \n", - "3 NaN 18.0 \n", + "3 NaN NaN \n", "4 NaN NaN \n", "\n", " :@computed_region_h4ep_8xdi :@computed_region_y6ts_4iup \\\n", "0 NaN NaN \n", - "1 1.0 NaN \n", + "1 NaN NaN \n", "2 NaN NaN \n", "3 NaN NaN \n", "4 NaN NaN \n", "\n", " :@computed_region_jg9y_a9du :@computed_region_6pnf_4xz7 \\\n", - "0 NaN 1.0 \n", + "0 NaN 2.0 \n", "1 NaN 2.0 \n", - "2 NaN 2.0 \n", - "3 NaN 2.0 \n", - "4 NaN 1.0 \n", + "2 NaN 1.0 \n", + "3 NaN 1.0 \n", + "4 NaN 2.0 \n", "\n", " geometry \n", - "0 POINT (-122.49963 37.76257) \n", - "1 POINT (-122.40816 37.78054) \n", - "2 POINT (-122.39075 37.72160) \n", - "3 POINT (-122.40488 37.79486) \n", - "4 POINT (-122.43056 37.79772) \n", + "0 POINT (-122.39773 37.75483) \n", + "1 POINT (-122.42204 37.76654) \n", + "2 POINT (-122.40371 37.78404) \n", + "3 POINT (-122.50742 37.75100) \n", + "4 POINT (-122.43214 37.78050) \n", "\n", "[5 rows x 37 columns]" ] @@ -260,12 +260,7 @@ "from pandas import read_csv\n", "from geopandas import GeoDataFrame, points_from_xy\n", "\n", - "remote_file_path = 'http://data.sfgov.org/resource/wg3w-h783.csv'\n", - "\n", - "df = read_csv(remote_file_path)\n", - "\n", - "# Clean rows where the `longitude` column is NULL\n", - "df = df[df['longitude'].notna()]\n", + "df = read_csv('https://libs.cartocdn.com/cartoframes/samples/sf_incidents.csv')\n", "\n", "gdf = GeoDataFrame(df, geometry=points_from_xy(df['longitude'], df['latitude']))\n", "gdf.head()" @@ -977,21 +972,21 @@ " return value.toLocaleString();\n", " }\n", "\n", - " function updateViewport(map) {\n", + " function updateViewport(id, map) {\n", " function updateMapInfo() {\n", - " const mapInfo$ = document.getElementById('map-info');\n", + " const mapInfo$ = document.getElementById(id);\n", " const center = map.getCenter();\n", " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -1065,7 +1060,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -1080,12 +1075,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
    ${popupHTML}
    `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
    ${popupHTML}
    `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1369,7 +1368,8 @@ " const map = createMap(container, basemapStyle, settings.bounds, settings.mapboxtoken);\n", "\n", " if (settings.show_info) {\n", - " updateViewport(map);\n", + " const id = mapIndex !== undefined ? `map-info-${mapIndex}` : 'map-info';\n", + " updateViewport(id, map);\n", " }\n", "\n", " if (settings.camera) {\n", @@ -1443,7 +1443,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1484,12 +1484,12 @@ " .addEventListener('ready', () => {\n", " const basecolor = '';\n", " const basemap = 'Positron';\n", - " const bounds = [[-122.51129492624534, 37.70899533715967], [-122.3703523516931, 37.82411913273524]];\n", + " const bounds = [[-122.51129492620001, 37.708311265], [-122.3712458991, 37.817823897800004]];\n", " const camera = null;\n", " const has_legends = 'False' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAPMnvF4C/8Wdza5luZGd36XGcoO/QbKnDXjsudGDRnfZENDuEuTyoCHo3b0+HvLWiePJvYADW1mpVKZS4t7cZPyuWOtvv/z+n3/59Zd//OW//vovv/+fv/76T7/9+7//+q+///m3//jlT7/8j9ef/e9f/vG//+2XP/+b/lbSn/r/gf7gL3/97S+//vX3P/MX//b3P/3yP3/97X/9+vtf/1O/u3/5v/325//4XX/1X3/77a//9uf/+Jff9//pf8ml/ENby8povee10vxTHf8wrHRbdY2sX/o///3vfzqr54DV08yWxtL6JZe9+ky99jr7LOV98fL/f/G6kl68tjJWynUvXnJfa+pZrLTxtnqNePU2R7ecexuz79VXm331WkqZtb2t3gJWr6n3uSy3pCVfq4+h19Z/uWy8r94j3j23uWa1lrXZr8+uD75KrnnOnN9Wt4DVm9ZKPRd99pJfq5c2Z6p6f/14P3YjYPmcV60tJx30aufM6zfTxtIJKG+rz4gPP4pptVVSO/d9ppnyMNmBVN9XXxHvvvoYpenXMfbqM5keIOfcbPb6bm0ijF2Z1nXKdfpXe9m6Mao+/cipue+eI4ydDE2uMqtLBm6vjqmtZjZTWe9XLpeIO5daLsY9y3ZufG9ttmVzzDnfl48wd9lyLWsN691eH142IMng1TSmva8eYu6y9rmuqbXGOAaHm9AMg+NePsLelawb1rNevY3Xp586g2WUpQcrbvkIg5fT6tp/OfjrambL+tOcqw6F3/0QizeqTn61ZNPW6+ilNaoeqOfsXz/C5CnG6VP7bCm/3t46FpfrqGv/HmRE2JyEpZWzm2scb7NGT2212tiF9+VzRJAzZNv57lk+7hXkKNJbcyrKG87ilhISXiqULEM2rr0OfrU65PlyqnOu99UDjA5hZFd0K++S2svg15TNhlUdf3fwSoTV0XsuuXUZ/telW1q3L5Mpdm/eQ/Z9apuHLnc+IY4uwJD7lcmp7saXCItTau06+bpn6xg8GV7ZPjla5Rbvvq5EGJyuKDZPQltLJ8woCvWVZ+ir6+C/rz9DwhzsvWItRbr77fVAOoE6iPYRXZcVcedlZvtQNKeI8hVh6r7rU5hlGQIXatQU8vpr5q4Dd0NMm0UXv5euzOb96NeQnFKGNSu20mErJ8IdunlJGQdh7vvyIXGWEgkr+vStjRPe68Yr1Sozp+muXo2weSvLs1R2WzH16+rVZqaAX5m2Hul9/QijN0nnl665/Mtr+8lrhk6DEjylfO/rR1g+UtoqF69QN7WT3emRlPVpA+p7kF9HyOcvxUYZ6Y/8alSlWyaf253HqzMkx9Avw1Ir7aQ4hPgK+rtOQ87u9SNMj866dluxbU8vu68gx8i3i47gu8NtEYZHnl0nvCqw6eMVaHad+ZX1O9n991irhSR4eusi268E71691rt+mwzD/758SKxFbrkGtubUdIryLUWbjWjrvarSaojPX9pr+RhFGONE+VknUXFIyum9stBC7r3CTAzfzDZOyFNlgpTqyOj6zbeQ9Lo000bLzNxQUw8kQ5h7VSD2vnyE2amz8o/uXT5FJVspmaWU50rvYX6bIVZvUTWlsFTv5peddSgC6a6YGVFWSkNHTqmslXKO3mwK/Qjyc3Ynv4fEO6XJxymzSTqEr3ufrMje68sn2b/39XNIuFuVWFjJvZ2zVxTu6EDmRjX7ffkIu6ONTjrpyu+15nn9qv2Q6Vfg8372ekghPVeZOGILW+fsyd22qu3IObuAp4cYnqIIIyuvWl/F7DbNiiKOShL2vn5IrqW3p5IuB38Ke0PmYOp3RJ7vq4fUdnTyZGuKzXvzcXrKuafCwOFefj5a2Osx9ezUFdrpnctJ8vu0qgxTltfbPQsxPJVaEmU9ufpXnqt4Tz5APlie7335kHhHm4/xaVSST6JH6psU6SZndi0k06pJL8sBsLN8V+gzclKoPd7NjoWEO/roU/uec7KTZ8jjN8Ugirxdbcki0qysHZ7U8ZTwnZqu5USgp7CrurfvIVlmVVpTlVne/uFQbp+U6dXsc3wLqWj3WnDvMjQnyes6DnogfRV543ebbyFmR+dMNkaWpx2zk1tJtO+0K87l2IrpJE3ZXX3+ds6eYu6d3eOFXIFnRNidLtuqdFp+9tSX5G6V5e0f9f3tR0hJe0d6plzrxhu1d3oJ2pTijO4oIaH2Ml0zo6hxw400FYaYPn1xbx8S7oBNGPTR+u0lZcWZs+kqknu8r99iMvw8ddKmsrpyssxO3UFZTnc3f4RABygsmQxPqv2UdhX86eUHyA1X3xkhloeT1+ko5HP25QCHQsAhW+SbyCMi3hqFW0YRXeH9iTabUlwdSpmfd7s/QgIeWTiZHTrJt7qmYH8s4q3s2kkzIuKoCjhk4HvupX/VdmUIqHxkl+bOElLgUZRbqa8p0NrLp0XSqTSvOLs3Q1roivPy7Iov0+1qyBbQ19MVcCd/hnSzdNGVTTft/HH5vSi5NQVA3VxlcfZnm9gz4uJXBdpppGK0T19OL3Ht9DUWx/F9/RHh9RRYyerqndtJ8+joKAYsAyDF+/IxLS3KSyvLzJbjduTvdBJScz5vrpBwqwAh2Llefp185ReNTsfK7d3nrBQCINBX72sQW56Tp41vO9Z0Fn+F9LMUZynB0Ysqwj419ZFNW5JxRu/Lh2RZSq8UXhYSi3nwC5P8WqZIj/G+fIjRU8DRjSxbKfYJd3TyauUgOoezIqKd1XrlA/SpzT4IgqXtaMRg472su0K6SYot9LkrMJmTZumJprINumqusrhC6rrKKEizltVx0YI6dLvM3FxlcUXc+6YjRhmndDtH3xbHrynvXdPDBdOjWa78UERltfKuBLfzNBOzXM2QHRw6lA7HkFN5tLCu6Cukp6RVkhINfYNXyKEYgPsnT+QWDwENKp1RRsf968fj4wnobuflMz2FQCFvT7CTrK71SvOp6c+lI9l2tuUeICLmUXBnNFU7ufY5f9Yb9eY1i1//Wah0TiHmz+Tic+t5nHayvD5gBhlh8Ixu/ZBsq4JVMwVdOm435gPE2xSFL/f+IZhh3f/FARzr+F4dfZ3AUbO2xC9fY0L+ap37Nw6YQQ+iEziB8HdnAEJQwzI7u8hcFHifZFd+SMchyyA42GoIajgNmVoKvVbWOpWWYsp+5YB78a8fcftla2uX5wM2dduKxk/5BEBO7gFCUp4FQl7B5lDIc3pLdWTdQGUd01X6cghyeB9zJbmyePUWe1olGqcI6E/As33tHAEe1v0vgKcH0L2zvuxh0clQIugqDrmETGgpvaTBpec44eei1djAzY/kD0AEgJgxKb2ngWF6vT8Yqt7AF3UX/uYQFG+lvqP7b+CYznCeQtJdAa79Y2YkpNq5bCjSTdryciywgpKqBGASHrn1x6NdrhwD5K0byiGzvw6SV84oERcoBOrOAJSQBAgYAXMKlJdfBkiZ/+L+80nc0E5EAkTiO+rUy9mZHpAr7iCpfYc1hyB5a5P9o7mrGLzeNlcjBVM+6udGQqC8VfH3bFnep53dVybAza90epO7fhFYXrzcBLtYcTqv46dQXAagkoL4D9BC+ozs9ALPcmovijxsgbFrrviRQ6C8TXaOY16UB7c7QqFgqDPA8jEyV+1RWFuOARMzpEu5q33N7oyhC0EL7OP2z5iSdy8AynXnT/wF0kkmcdrys+E1pM3dMHV0t67339Orin1Gc28fAiZes8vHr2Vf4a8p+lZGWHgMd/pbDKpPqyvbT6W3V/ivJJu57TR1Bt3hC4ETU3ObU4ZO6ecpfqW17d4YH+lHCJ4YFM8E2ScneKYGlfgpHFf0P/3rt2drfyF45lRIvneL7SQ/XcGYEpEM2sDZ/hYDsVkcMxt2e51KRitTlGQ/fv0YYKEMP/mG9v9g2+T4FObQh/S+NwTSrNcF3VP3pObL+MoaraVYqPh2Xw7BNJPhKMxW6FFPww1Ma6PfCVGBG1kOqX33sn3tUAp8Sv8gSusuCjlAe+4xwxQyP4mpQUsX6NCbWdrj6n5aPwTWnLl9Q5etXlzxIufZPtCyL773kOnVDXKSdVnlVl/1Y+pQdkpyfgdCOv5JgefE2o47y4QF1umrH+jWHIGsrlqXcsdKX1egMsNdDNiFH9oPif502ZgZk9+tZ5poUfkoOwn24WePGepg6wvUJOkV/ssgGruRFAM7FxQBrv7B7HiOQVcngPQrlXVH+XYreMoP6M+cCbIUBLmQtS3zIt1og6emyKCk1Nz9CwE45wlTQM/gjC/UsI7O9LqugX//GkKUA5hZ8f8sJ/9SMAqVhZzD/Hj/kPRTAUcB8iQzdJgbqt4f+J2ycOcCLQRyRL6vSw99wKFMqQqKIe+w8rF+SAimSEt5vvLtQ5oC8EQOmSBACbDzQDZCGpBdcVii6nr7L6agWAahMtnn1g+ZZs3LGPFQhDuuAZBH3uM+2dffQ3DW1HlKVg6kk3CGWwo0STlRlvMeMARonQD5KgjXgxwPIGdoSsr18yMIGyEABOX5uvD63vNUAOQUGPggNmn+/UMAl1MOJ3UGuE8LbNSysS9WPegth4CtqTauM8p2g9ClCBjAJ+wS7gFaDNx46WgxU33wRxsPNJuC8/Sxfo/pgEGhojDoC3U4Kb7L/epu+vVDYjCSHdDF5SD/dvlZCbg83kcHLgRuzcXrjDHXfhsQcsmKimzzaPkNCInBYO5QLlJzbrcIhv/RFSAWcuuHcInUDtqw60McCzT37UvTmC51GzBDTGC1Cj2l7mI706Vd3wNY0BiuChWCOJddIeseSsfPBWTMQw9Quv7UwZ5zCOZ80und7R7Fg68eQDP+sBCIfDxASB2ODFBxZ1U6eHpASvdkGAyGHZeFhODOFQBt+58BwlwURhm0pBlt9ycwxAZaUrYna6NDf0dc5YfS0A+Fov4BYkphcoQKe+FOKq9SWAMJTnNwfvCnhdggQNaKxk1BwEmE9PVrhTwwmcsDZ4gNKrxsUiy47Iuws4/NqNK8DQzBfysESbJ6Gb64S6pCSq4sZHwEASEIcJ0xLQYS+s73D1NcKrNIL9pFgSEQcJ2/OTbDhZa8lD4gQBaobGeDV324EBOBAm/Kgsg4mX4qFwnFAYRSyRxpal794Q9gj/KZ5RAYeqcJv+gFlluIzJ06lHyTHwLIETj0LkNfU2f+Yp4gTI+Ulh7LqifJLjE49ErnV1utuOcUQlqSAdCHYRTac1hGWCCCTsiEKlCYA0SlNSYHnEpxbIYhOHQSXqBglB+OB+x6FGg1S3MXoITg0BV9Q5Ct+95PHgw4oWcOgG8FlCAoujZ/zkU3JB8DlOlNF4hWils/BIimQENxMFQH6/A5cvinMQXb/QWwoDoIDMJDiciphCsKJh7abtitPx7FwZUIILrMTlsM3IMFfXnAWmovGaLL6prhJa1ngZglhrkbXgXSXrOeL6th701JaHXXP4S5u07O+VACYnfqmbmwBdmIvKJbP8T8mVVYYxUGnbHnrlAYosEGgbjf/hgcbM703JQFtDv0v2AdUAbcPtbvEQ6YCUxlXwo4bhZeFAxsUsviBiFKCBSeoV80CjoJ3z0AdON0JYonEg5h0P5BM7zkZwneSggSvnTb+RYEh+UWgilIyAPk4gmNY2i8R9fx1095ntMLKhAtGZUIR59fQqD4309BSgiRd90T1xTi5h2Gky2WuVVcmr1USwgSv9B5bMyerDsKNkGG6viNkvz7x7Af4P4Y/TgGYMn9w634AcQtJaYT2XTLl868Hf8vNzhrrgoCUm1++0M0U1JPivZqu7Id0BmfG+gJrSPmAGT/yXdwAvf0KwGqEH4qAPMk+iFzANSeu9KNlO8cgO7+YBCkAJLz+x9i/zZvO63Ptb76EBk4ZP8YhSs1Bg1G6L/rTVenSband76Lz/9iJgFoQTEMwjjOdT+r9Be5sNv+kEmA7w+ClRpi/VpOzH2mfqFg1sYeRWQYwtmfoEGAxtDhnCf7sqlkWBcPxiV/+EJwYMvwc2lw20/2Q2cYNCj0l+4B7FG6txIyB0DTc3TD3pw5QJ2DSvIzZza/fsgYlDFvAQlE718F+KJkFAYUHQL3AM8iwUqLwWEo/s4UYeopwEF3rUMhq+RxIKXFYFF105m9auvMAighlAEcyoLGh6BFDBj/+yo2LST8kp1fkNpShT5t6I5wVtVVdBYohlz8B+cvpABfoPvprSsHvxy/nXaYgmDlP279EBgEhZ+kkJcs5CARwUXDxbaGDwCDCMZhwYF3Um7o0t4Bz556jOk/QIQBIvgw3O05/Yr6sH/a7eYlpGKw+Mg0mt4M4p2TfEJzDOXkal5MKIRxs6JmQhF4tTsLILtT6yZb9f2HGCy+XI2yXMWB9TBxAIow3f1Vkrv+IRTjdc6NQ0xfs0C9w0VYGdH42P8YIgrlfZvQul++14TICEOQIFHcA0TYv557nYlEv/VLBLPHoSZUz34DYqD4HLgFEUu71x95g0wYkj4OYEgDALhfGQPyzUv2XLWU0RJwq4cAMDI4h6L4s5/225jwgGxFp+ysbwwQnzabQm16bmcQQxnZhIOtezWvEJrzpKuee6L5eLM/5UK8+fbAbv38cPYfMwgAw2jNKc2vWbCtYkoNOmXn/SxmFlLJJ5+/zlP9Reyg5rU7kv79QyQOykvRYLV25+A3JwwdeP27W388O4lVQoDoSYtT6+yn+6agaxUupR7Bq+lF3D+ghrA9wgX2+vxmyv8zIZg57xsCQi9aujP7DOT0C4Jp4DJhqHG7H4JC113D9ZHtHxqKxXC2sQXZZ38hKHRaHTURa+ajMFJhAdHLAgt31acQEPqC7LHK9az8JaM55HWJSGrz3jeG9Bvzs/rcPvAcwDQAAGw1Ube+PUoDU0JQ6ACNFXkziXXqT0q/lYunprQw+QMYoqAru7/h3lr/dN9yhRJVDlH5pz8A61n8SwwInb4rlP+n9yWzR+u16Ie3/jEYdOoeIC/GhcCjaGm0PnLyzd9ZHsX/lhjic8gmC3ScV+0DTuJKN5rxVLd+CA/nC+kI+vTw4NhMBP6oPXoV4wjq8R/B/0IA6LXkppdPND0v9zgAFPR2vKhkCSEfLzj7OeF/uVwYu/TMVEDxr7+eRb+t9KiibVkx2APdK6TUdOnuGOTcyXhhCMetX56tvsbgz2dGXwMqpis0pQ0pSJCkD/RTCPy8ZEZuSkFP7lb/C+SYAMCd+Y1Bn5dFpWEq+LsjYIzeaP/79MILJQR9XssuPzU9wlmeCVQaIMq+XPqxnlX0LSHg96E4q0ABmG/zDTQIktJQs/rez1qPTh/UFCMnzqinsu287gxshxUu0xCqbvmY6k/eUo5dN/7MQFdY+CAnH27+rYZg37+PfagphoXZmHquS5HGJcJSIoa4LGUht36I9aPSxawPh/1CX0zHbyR5AJd81BDwuyKcPe0p43++/yyILE/Kj/74h5i/SutvytGWfAXldRjkk+m/+v2PIWE3RuAzlbYDfs64/swMZBtu/fko9qWGYN8nUnswECn/eEV/XYHoGkBPlo++awj2/fvDNzUE/f4DSftcHhX9qiHg913jgPSsftGw5PGC4qKL4NYPGf5BT1lBuO58veB7yj5rl1+dAcoxwz9aa0E9let1gLsW0xvjWG59iyk/UP3UKaj9S/1pGaUg6DH9BQxBnyrZUPKrfLd/TR9QfAH53ro/gCEWkNKPEYVpJ04AtCBfyIMCRHMPsB7VGa4lRmC9kP7q1t36IxXBjBDIdOifWmJ0jpN8be9or5zpqwHuhckLGSEXgpUYIrBc6TiM2/2CjkbeoIN+cec/BHv/ffRrLe1ZJsYaAr9PHbmDOmXtjwFquGMFhgAz3fL2bPuxhtDwl0ymUZWAXPwrvFCDQAhieLd+CP40ZzTeoQPLXymA/A+779GHNQR9/20q4lpDAkAlvsAfMiWQUwEBDwb8eWYXgNUYDpyihVJOeo4LP4KXsCVdierXrzHTb9BO1S8Nvp7hJCrQcznwcY0Bv6OD09PS8T/DDxCgI8LUZ24+A68xAZjMHBHnrFeGpaD+rUdCk9StbyHxj8z8wP6vi36uepgC+jybP//jURmcGsODr3zf6qzyuxd9BhRXcfFaXgam1pDpa6bvEkPgo9/2SwKJjQq0w1/VFgI/lbUte/rysgBuB8QIfv70PyFU+N+d/q4h4Htl1dp92u3jmD/dyJooQFUUed0DPMyAVUPg7+BstNnKxNLxf6PREp6wtOfmD8B4cPqyhoDPfzB9WVuIAdBll8Nb9aKfFRFCScYUUnHnL4SKfSn8Scp0lHCe6Z9MTXL1PZTojl8M+juDt16NitMZ/YUUEhLi6esfITzs30c/1hj097fhZzUGfM1u15yqjP0h/1h4XyQCqu//9IcL0D3k+iO7AgByXhVaowA4TQ6hf+x/RPaxcx2dduDPR4N6Tt1Jo/pcHf6h2rMyyDUEf/39/n8NgV9/n/+vWkz+k0m35Wwu/ZkOID3RovctDv9XQ4jY8fIku22eDoi8PyFZ4hw4AxDDw67ApyE7A9771H9QJ1EaWHDA7gFC2A9g+0kwYZ/3x/mPvElYHfdHDaFhzwbryK639oM/mVsYTYY4r4/vP2PGTwfhvtLuy/+AJLk2oCkPdgFYEPydUW84eK8MohzfJBug/uEQkDUEAQ/wfkFAxo9jghtavGWxB279EARW4qwV8F+nBKKDP0kKZBucElwNQaDvSrPikMyWnwRMQRAjkBBAuPVjMiCYnhpK0McCy/LLJW0O5rH8B+ghUihMXhMHp2uCFYJlWGnoRPoTaM8GQSNEizmT9KI7oPN+U3CGECAgasN/gfmoFnoNgaBrdVBYinjTFWMpU2dfPlFpsXOCIRD0HwRBM2YKh9tmyC8eFmyZvynDWEp3I1g1hAZdhp6m/5z9KwlMiQbIGKBynQ+MoUH//ghqDeFBT8CNFHDrxN0dMPQgja60U+OtMSj4b1fhp8WwsMvUK+Bl7voyALSpjyC33P0BHM9OodUQEDyyv8BAjMTvGCCGQOSUiqJTfwPWs13AFZKGpmWEYVVO54zBtZT1tXd66i5gDA17k/lNW5fxtKEVFS14qFvyYyg1CgbPaTPF/O3KIcsetcIgup8DquthJOhqz4YAK8YCZplcBiF04E4MRlFmKjKwDyTgepaGuIZA0QsqIID+9ARnAxAmMFkGmPnc+jE0xKXDOrQUDbTLAjRWYR5qOgvYYpDozEErB9+sKxeJrpSXYwA0wT1AfnQSqMVg0dF8QX8KOYajSJnRidaHsY/1Y1hAIYMABnFwYGTlPS1UgVfxByBGEbUn3YCBCPHZ/saBlEXKrfvvHwJEMkW8BOC9vi6ATn3rvXQAAh/rxwRhE9htb+OLhnKXwoFjZqfH1kKw6JSi5XB1DhTkXyQKg0nMJha3/IxRA2MSi1LIKtcB5Dk3Niv59deTgrgtAohed8VPNwABtn6WB4A5FY9kJwnecn5Wi6zl8mgjpMXQsDMEQSkGBe7DA1QYjdEOLIfDaCFI9A4UX7cPXeADBAKUCCuYHIA/gP3RDKSF0MCXytz3gPP6AgEU+XQbigxT9fs/gjqxieYHpccTf3WAqdqW4pcPKcHxrQeVsJnO9u+UhMps/bj/z7KAthgY+rcb8S0Eh/5dFqAWwwC/dPvhoC35ogCUdtUMD+5yJCwtiAEeyOF6sX6cr5/ABPelEHz5DQjBgSr9MPy9kqtxWWjkfTrCdLX7HQiJ/hTidqpN6Sv8BRed5ZCghnX+LwaIXqfsnK3R55UBYQaF0czhB+FbGY+qULQQHPq3tUhbCAwd7fmh4Ee7vk4TKuEMU90Sxe79Q4DoetmCIm1B/eXooPW61bk8DrjF4NBhoYf0o7ST/VIOmpOKqIMBthAS+DR025KSTYWfxwBnpMBrIiPyxy8EB/99GqgWAoSvjCHVZcb4w43/Zf6VFCgj9h8gogmrc9+RwIKH6zWGVrT2AoxYu8/+68NzOC0GCP8DBxBDBP9tIcgWwgO/kMElAoCP/7ThwaADhR/FRYAtZhARMCqkz/MAoSetl92ErL4L3kKQ8NWQgU5GHWhcISzFv0UJEVVJ9wA1Bgq2x1GVhp87CAg+U4ArHorUQrDwpQ64+FNef3ARMZmzMkV4fwVCsPDfp6JrMVTwwBBG2tSPB4gBGyFwJOVC/v0jbFBD/GN3veZlg6lDFpjW3Fx+/flsDSCECV7+hsE72D9uDcQIA+vS+37kYT1EChHZL+V+ABAPG5xcIDKAWGG3fH52Gqb1Z9WoWwgZvJIABQFp7l7k4ULPE2rERCTm1o+wgA0ZrqlIJPcDR6cLwTCGvoQfB2khZPAZ2Tu4v3UFrxoBZtmWwmOvxtpCBhJIexZ6BCRiJw0FnZehRfJ1sP4wFq6FTCR0Wm5TwSCYqDORuhYU7bJEH1dgParG0UII4WV+KsyLuna3DSp7ZAU9BF+HtEehcC1kHAEdWIXgU/+cNIyGuNKACU+ML0NbfbgNbjFijOi+6/blK0cxe1vKwkGD+EqA9YcbUSEDCYkPPSEfGJeSCUICyjPpoxAWM5EA+njRDbd1GJFHpjTClNhHEGTzWUHqZjEjmbXqVV+u4AhiKT2HoVzP5GZCW8hIgu6fvj6N/3K8sDywkrCOQqQvxowcM5Nadf538nOHYjY6TE7YT2W3ETQUCvZodh2524yqcgedYX2fB4WMRPQMAewmIf4iBVBmmGHkH44UpoWMRKSS6DxRiZ6nFLteLJXWq18+CIlCADjI+o4BGEhEEoj5ZlDIOEQvOButN/odSIePfyFJ4L99iB6jDE3tOvo5Xzn2IusLEjU5NbY2YtoQBfC13viWAPQfClWg2q26FHjE9GGNbHvq2582OMMxQLNAJrj3n+lZPvQWMwuB8u0yA/pRzjyctmTIGtKjdOuH4FD0obXRYJHn0UOFHC5BSO4G4ttsjwKxW8wkgjK9wfyzjsHh41tQIRb9at2fvxBCQrg/Ub8CkHBt7wCT+xoJdw/wrB5sixlFqHphSi52CYGUeoADh5TRG6CQSYSMHIvCvy85vIk9ZjTjYxKjrRg1avhYC9iLU4TXxygyRgMsuu8DxQDxvw2EbytmFEn7zxhA7heHKFtEUV530gkCtBUDhJDDU6yV4OA+BhAq1gxLrEvAQwjpZWQnWUaiAHHnwRP0OKV6Opi2xqMw0JApAC3K1JFCjtJvF3LbwzQ+6p8xdPSID7Y9DX7ZWHX3s22O7uHKjz2FwGBlaPJADKEdPmC8PoNxid6EWz8/CkLvIUMAoC+go9YtPFMoXUlYhxQ3ZccH3WOGAGqvOtmMwR0U9pD365MIRPbWb0CE+ZuwzpWMANCJ/1uzudkggEP7E9if5OPoISj8lNuWf9bbXwOgc78UgZN++fXno3yAPa1HYdg9hBD+++X/HkII/10x3J7Lo4PAPQaEPynwMQ28LhBWaS7JSGkehNcjQPjoEfCvYl8o6AJBmp5AYWnz68cEX6avbWhSntLP3JggCHmGd38hIPyOIMeLfv+4H6U+sn0036z69UPY4BV8yvjK0LTT/VEuqouOQJyZ3/+HS989BIYP6Ulquny69Sf70KcAmG6juCmoHsQGv83tgoXvuB/mAspW6fFyoD0Eh28gThTrKeA49r8uDuECIOhvYAgS//t8jL2EECKaLA8YVBi5Xidwx6OAEWWZ3PoxhISpIghb+q3/ddTQJ1PoxSVAPQSGXjcbluyAncr/FkYFiLpQBXTrh8Q/uUJGXqpdPvyJAVBQKH+fh3+ACAtAsR0CTEiYTgOc3usqAHEdBqzHAMH71j8fXYH3GYMdReEIkwmeiqXXGD12pb6kXwqALh1WUVY+1lYGdOvHgCCBek37GkOg7rrFOWkC+/Vj8g/le2iyK+C9ozgAAxM6DX75kPs3GEDdNd/b/V40v6FkHDn57x9DCEyinYGh5EsEofeHGgMgrls/JAGZfPtNAHokETMWGE0U/eLePwQGLWc7BvKTeul5QlAzZKFsAoV1DxBDCF5gXaME0i8Zmj4K00jDoQ96BCN4VfbbDF+32iVkrpag6FzpYxKkh6Cwk+4fFYBcLiPoZuWgIKiD6Pc/homlLyjxCgQ0hwpn7Xp0nqN8bEBIEgIlbpK/aVcUc0GHh05NgqDGPUBID6jB/TwhRb4xkC7DIjP1jKQ9BIWNHhXkk0yelisKqqU4hrX4158RSZAMC5yYhUN3OlCbA2JZ+SgBhaCw29zSQzI3Ni8n8zTmoBZB+fv6ISBsZXtyQJPAu9wQDEiovgYwcHcAeowmFXpwpCDFyhcGQDn4nsd2VZAQFPQe+u9G4+skgTTkkEShLe+SwCAUtHy/6f3TJWUvuhGtKDSy6iUJeggKukHHDwKF2P8U4WSVLLWtjuLWj5kDoQU8wKAeFzCAX2+xGrPsHyDCBMn4Q/46NzHgGYfOkDTLO0MQ5h5ghbBR5JFkBpT43kIg83ha3uZHFByDQqYQrGQYGdA7jazTmPQQ09cBQ0CwiNFsSjZm4I8JBIG9YKX1dagYVm6dPnaf0Y9xQbhN22Ggsb0PCgHBlqzD1yzDv3omcebEBsFI5AvRISDYzX1B2d3uMCBOOaPSobvp1w/JAqpun9JQ6NFPIVJpeMo6+8qEXBkmBIH6gzpgCCl2apb0vozfnDYgo2DW0UvwSfgIqYKBvYR7dcrDnjZwpzJHXeyjDDRiaPF11GQBErQ8lxI34YCZB/D7H3L+EQbrOgIpHWFy6ACVGyVg0b4OO0Iq4QixK+lTLHAKcUoJlYRmkFDdX4CQIHQgTJoyQCy7fbjaDF08c3RQPYQSOkFAvbYjuHXQoQ9QwWGt7E9gCA5SG9B05oAjXj5IxgL19p0P49YPSYMZgViQUmrHX1cwa2HuZFKC6taPYYWX9a0bClhOEM4EzNQBRKzV3YAQUuTaRlmb/COdIYCJLDQIEXq0/gSEsCInRkFoPuRXGow06kIcxbQFbh68h0ABAQJQittaCEebThEI4pzMRb+vv2KaUZOsgzH8dilZAYd0hWHTf4AQUuCSh+62/OBc644ioYoBFob/5B6gPv0ALYYTtfZNDWL1iJP0PBHtUUJSPz5BTEM8Ab9SMlrmuQMTShSIKoaPg0PgiEQdDTWSuvqVZ65dWYiyk+nbYSFwxMXVW6D/6xEHoQjMcACw6OI/QExHvFIK1495tTE4jaUpN/oQaOohkERG4SesFIoF6ldHEMViSmLv1SgL4SX+Ni+VhQDy9vi77h9MCCcMmDMxFNOhKXHrh/AS9bxpkJWO5UsKAxgVTLb514+JApT0l8Q/pxau0zf1CKjV+LePQSMjBaaTLx9sdxq3oBk2Z6tu+Rg4bqcfKVOfDh0Dhakij1zNc+JaCBhulEbtHynk/jUMtTYbDbVot36IA1akY1h8IFBHlgPTwy6k5OowFoJHK0pCKYPJCp1eIErds4PO9dJIltuj4mAWg0cbCfCp8jCFfMf45s6Ilqxdcmmo5Rj/SxlYq1N6Of5P7oDWUIExzD3AiKFkGYuRGL3zOHjkgj47pfDuT0BMOzwhUbdAAN5+vAIgZHPLcnQQFgIIKwMK2kQm+kULTyYmM6w0wG9ADDErgKSCNtktBDCJtGCFyGlO/wAlRhjCJlyAMMRebtQOK1AtyylzWAg3K1cdPeSS053I2s3wPQ7n2oFWYmrRCjbRSM+XFCqhjVIrjInmT+CIqYUvEh4a8ucGFOqQjMrk4defUe1I5IFS7TcHohBAKVA22JmgEjQSLKe7kMO5I8kGMSQ0Jc2HgCHMpD8YybAQSJpBBV7hgLvU6HqaThgMYaXfgBLRkEcToTICsa44Ud4sMXMWzwljNSYHaHW9zvx5/8V0cCMUWa4YbSGQuK3Fq3enKH81UgnL5RvRqXfr9xh1LqIQne5yfXBlPH2WrEuZ/APYk9zwFoLJAxA2J6MIXx5gg+Eq5WkfhodA8n7igmtMM2DAQJRQBj6InI1Ikfkt3YGiLQST9wN9OovB5JHtZDgY++FEYFJPaXGBH9EtH1MIZQQATbz1h0IrgoWpySj4/a8hHqjLBhUYkQ8iCXXQ/pKtHP4AxhCDKtYf9mLAypcYtI8tz9I/PsB4cCrMgmhB8f5IAdR66XgUfCncYzDWLb8eLcJEwNE60/+LqnO2OxMtv1M2I2FxhAAWgkbrNS3GAVCHOYBgBpT6Fs12XRgL4QRFmFE7UE0u8BBiGJIkhbpM8e/fnhWHtRA0mmH7ibZk6+5IwGobkZU/EpAeAofdcGCDB7bfLlDK2L2hG+g/wIhJQLPO3CQGu4yACnyYiu4t+fi/x3AyIQzZZWnHFyUmzOg7Ay3eAqwnSRnMYtjoJqzMcgBf3q/KH5KUz+5r8BYzESRv2wr8qy/nN9OOvDuUsA4MaSGcnD+QBrUITk5IKaiCTYYTrzSXHPJGacMO4R6gPYpGsxA4IqIcVXaIJuRtAmakIVfBDLj1Q6rAynQBojKc+/oAOx7Rw3RYSp0FCoEj1rop0QGkni4o0pwTVl6lpc4FxFBybkYG6xuV9HJBnXkYhUDVj4SYxYRgPZft9i4rrVVCIOWkbRRfBY7BQ9ZSaASj0NwuMUAeYKPkGZwPjMFDzowQp2KueUsgupGwVOr++0ZUCCPnT2pwIZScyNApC0Gg4qTgDOUo+WM88iMFDuLk7CPXminFnCIY1S/0cttHEDCC9BEJOzKj2acGsNXKqQ0NJ5BnIaycyKNCha4g9DghAsKyoOmcH42YMZ7tg4Qwc1YoeaYMoKKfdVmBp5IT+YbimMlshLASgz8EDZVvGEwFpO5IvDkkjoUgUovlqcSvQYjzisKUkTARafTk/fohgNSmrYcXV49xoiDFf5XDP8tHFSoEkZpl+1Fohwv6OEEFILPahgi60VSL4Ob8ATeFzZgwzIBFK/Qq/UuhXMaXNCg7WmqLQcQmvvWEDfarGb8n9QYIIW+CYhCx32cnswhyzgoFaGMucMoWnrmsBTsAfEHdpWIxiFzZwN63PMklBtdmIA5S5BrdbKyFQHJpA2fE6hR3HoUafRBmhdfy9AQWQg+qz21tlt17Ol54MRWJKzA/HW4hmGA0uhOCxH3c8XxFoAXd2rbcYJKFQIJTQqVNe1APQdVSbj4okRhykW79mF5g6QmRnvGlE9wGpYCl7NSD0m31Z4dTbT2djK6YepwSn5IsW74KIUhnz854jLNBIRSlHHUSz8z7Hi+QQapTDCm+HhaCCO6L7lOGGPsUpBvNAWCpCk7f3eCIQQQb+liQ4l2KxKbj0BQYQZXa3Pr50XLoSDGAqKZ4S45HUcdBpVZZxVl3LtTd+jVGqLJsOap2NcrG7pEwH+w4CkcMIrpUHXQFQ2teiS7Ccvmkohyx+e8fEgbaRiDprFt6BQGFalRlMNjMb0CMPoQOQEKVa56ZBDNUS7dYpAOkjRiKVOBYBZaini89SNVT6Y+gbXbrh7RDB72Azvc/cIylNBBxMmjzlj8A68mRhJFjIKG5MxwOL+25gEWGf+EGfQw4chRDWQUHXM5gIq5Ppl/HYjo00ggBpXfjnDeF/PaHUDAdCZ3I7jmyRwgoPVF6VCa+FXkOO4VeHqnysbLfgJAQMM1NCgZL3OHonllRqX43vP8fIaD0JjOnNCgjFFyuRCARYEMpt/sNiGFJ1cbTj7I/dHLnblAXbqBbf8RIBCKLrhisjcsNsCplqTK9RMoIwaQvORv0ISfI4FcxvOoL6AJQm3QOKD9r/0Ig8WQgzGUAf66nEsdoPGdQnsldgBBI/Pc1OkcMIv7biOwRg4jfcDBDoK98jQUxMM6Ifvfrh7QiyLTS2LPhd/0tWY1Qc/P7H9KKwNvOAQbjSCSCDMwMypl/+xBqGGho6qaovgqVpOMKiJDqXP74hzRj90C0gUC49HC0Y5UTaHVXBh4xAwGyNpj7qdPVr0Yvur2FpuB064c0IuTm5f47VYBbBEyoc8gcdKcRMULmAQCepgEmbKXTDE5zzqUjsfKH/YmYB6hbk1ohEBxd4yRAECQpBpNfdglAGEVtgo9T8cYBZPH7pPhTsYH/ADWkEwM/D5o4qVyFvtyA4iNe4Q1QzEDAt4eSRwxH7ncrYCNkHGDLEc6JII1dNAgardUG07Fu/ZA2CJ04PYHi8HP+ZYITlOX0IXwAEjMQAA8n4fbUa5+BHLli8JGtLleFHiEDAd/XSRghAwHgIRsN2PwFR0k0gGAnSo6daLT8aAQcw9G7RdkmXHCnCdLR7bacU/MFoJBxgF6KMn0dPcU/VyMwk4TmjHa6O34hFL2gr3a4r534IghFsjthmZ0DimHo/f7ntxhKjo4qekan4GCBoCtMcMQmv/0hDRDZ/aT8e7avAlSl+Cbnu1lT3QPMmAeAGSpDjXFHcsn+9bMmR0sxQiYifoAGGyEUvYp1V1YIONZVyYUQqoKDseQ/QA8RyB4ZRs6JUPTpwhKMgpPWAXAXsIfwE1Jqkq1v7fYAFX9MdCtlFrz/C5mJ0GuW3lFJbJeWAaamDYVw9z9kIAIxZoU+VPte7LQwwikBJCY38+s/O401+ojR6IUIBKGAMw8l728LasjhBbpHyDwEre7+mr34un3M4jScwMftC6JkWnxoZHEvOSsFGCRjss//QgYiflAADxmIYBYIRVg9x6l/WWMWH5Iyhb9u/RgMCtNnhbT/ICFnKTX1ASPA+NiAGCTepAkk47OOA547GJybpt5VQELmIWT9ZVeRROlXpCfh//aUxEcFNmQgogO3kg2m33t10gBHkoZPB0cfIQMRiblneAF08r8YAQalOUAAfv0QiQQZPp19BtPORJRORAMXkT/YYUfMPMRWQ6+yP/2rBTlRjFccPn3+FTKOkKs8X0vgQC4GYW3Rbjml4VQiR8g4wk8CwIh5BNl69LA6YKC5DiWEjkRecKV0ZwFCxhGqUQFDm8xOD3KtnQ7Az+5haCNkHOEHIIyQcYRkSsBpN856a4CkviYfsNVC3AME0ePWaqYEdBx+YhizuYYyQsWfgPFsETaGIDtvYV6Zu4tCm1BlEhbPzwMYxAq0mAxVKHiCML08ClmFPXDzACNkHgFismLb7RxiTmqyi7FAJLzd+iFz8QYLVpqW7Yzl6zrihMBGf7x/iAlkFqnqqKfDCaPVIcTIlfl8Z4JnfbQIN2N08jYJRJu1Hp2uCgyygshPHoUZMgwBOXjbXMR2RxJ3RGIQJhf/+QPsn7xfWU3XXVnXacLT+ujL4Mp0QPARMguhHEDWj8J/a4eWbAvFtblVO9z680lOpBEyiPB9hZaxYnS6FXxDPpNuD2hTIsoccjBcCTBkDiHBym6bmfui0DO2QO6f6pRbP4QZteN4UYtPJwNAJhGOQvnE4t8/Qqmb4bMXM+x1f5ABoNY8Vvfk8CNkDgFBPNlZajEHBEJNXiZhpO4D8BWDQTM4uBBGPRPhiofpiA6IIv33Dwm/FHUV7YHyzQNCZwQoD4S6p6dkGisEBVF2DgYV/akBEAgafcCSHAhohkwBfLsHPdPDGeBMIT3AqWdAjgh9gDONqYwcksoPSoQZQ4z+7SmEGTIGACMR8Q59wDsGA0eKUZx1tFAzhBn9B6QkM2QMAGZ2qJhNufCpQqKJwCxyQq3WPcAI4YZWxo0WCizxpwgEVSHascsVoWbIHADqULbV2cutQm5mnMl4kj+BITj8PLXKAos+Dw7spVpVqYN6HPTMOUarHvoZxNKPVDPVCDJyhqHc8uVZWsqZQ7qAlio8YJNe0DkACoEVBZp9mMAQIH5FJW/pws17/PXeBXusE+lWj0GhGu0m2Zo7BohgsdwC2GB/+kNgqMr35Wk56Cf+y1w7XQqIStzyISBUjtm+AOWUv3bcIXMgm+TdbwgG//vCNDMEg59JviZ426uSPRjANAQavEjzDAHh/4AOZZYYmXSoODqa0P1CwHTteQDqoH4HSgwMV588K+NOa91R+EUDsk5PyDNLiPVj3mssufp7A/TlgeDLK+oi+A2IQaFW27xEq99BzNZBAOZV/p8z2J8cRJ0hOHjF32ltOcyvClittjuR2cd/ITD4/DpuhOCn/sP4kzGBUj7P/4qhBSThpONzSYnl5pfptFvxFfgZgoP/Piv1DKHFl6dBDty2HNfr/HeqMMT/fgxn1iAYAiDgtfugV6Ey2+bK83PQMwQGX+qaMneTYcDDyr8ovskwotbi1g+pgMsDVlRw2uGEAwOG8YUlKvvv3x+FAc0QGLzuGfOW8EEdXmAQaBDyp+Gl6WYIDF6phm4/ckjtkPEs2aMBW3lprgU7Q1DwkC9i7sFenCkIYwAHvQj/9utZMqbZHhXGmzGc9NCOKd6WqbtUSL1bncACqvn1Q0DoXZctAYIc/YLA0qACuDKSse4BQrI/EChZtl7J5clAdgW8UIK1jweI4KUe9ABQAkv3AV6xUIIw3nXg59Mw8BkDA6f7owigMI1+IhDAiWgyJF9/aTGMhJv1qqJFNk4AiFZT7lun7339/rAw0Ayhxv/+IPAMocaX+ZOlVSaeh10YIAE4MdD0g1gzAof+AwzGDMGhg8NEIFI5yPkAdOUqJ0IH0L9/CBJdCbfVMvZM7hVGIQ/oexrNrR8SAvXE5bfteA4pbNOGgMIY/eMAjCe78DMGia6dhoa6UHg7KXjeyMjafRMsBIguB5BrygCfTgxE/U1hqVyTd0AhOPQ+98DDbjpcXnpZnr60JX7zLWYIkPlPmPh0A16Xn/x7GimBgwDMEBi6sk9ijSKLM24Eii5PU0KqRNCtXx92PzEw9O9CAGYICP0HqkjT7FEI5LQYIsQE6VBnFOO2YGElbxQAqv8AMUQQ8vObmf8SASoat4RQIEfTrR+jSwL6S35Op/BQQqdi8HAu9DHe1x/PTgHOEBS8zD8kNBko4Ov+FSVfq+0WhONBmiOmAYn+WhnIMV0+Ztp/ltb0RBwzAgQP4QpjuHJ3pwCDYLcCzZrndDykMwQC/30A7hwxukxr0f+Cjux1/TMnr0DEZ54GY47xqCrHjGHEp9QE+bAdHiD44WFmgIzAQfBnCAT9+3N4M4gRHzb40bcsyaEClqdZkESv6ivQM0YVBL4BQPjli4kVDsQyZzUnTDtnSAtwE8EsVBH6PQCEHroBTKe4KzjrwycgJP9Uviffo8DbTguCImQeGSosTwc+Yyj5vw8DCEGhK9FHHRzWnzsKzeNo8QoWzJ+A8egc1AxhxOdD9z32kw8Z1Uspl8rM8jZwxYCwCHeYvD8FGDRKFj14ImG3fIQFAuul616U9NoVZcEEzq6P4rc/Bob+/R5kCAz9J12QEBz6kvtR2rnGlyDDQhx37W/gl3+UCWaukAywwcMj6z9Svih8uIFbW7l7BFwICv0nDjCEDP/7VJwzhAv/+4PIKwQFr3SD2X8u3awHhMSNRKVFUbBbP4YIxui5V8aeziB87QoCUwEbMNz65dk55JViIiD526qV4IQ4FWhtdbdSFBpkcw/QIyIQHXPlPQXU55nD0PVTXEhuOvwJDCHj025nhpDk7g4X3UKpr6PKtPwHGCFcYIsRJNg/jgXQa5OZUYnLfv2YOTyagEMGd1wPCD0NVdCyhr8BMUmg4s+UCwMRpw0/GsgcA4n1vnwMGX3pgBALkkBHG1exX5NDUm7sdj+GDP7bRBgrhgs+g/9XECAj2I4kmXKPrg0ow02BrhAI+rdR2CsEg/6DwzeeZaJfOab/1hEnVwRmVw6rdmCgBY5YF3+sGBi49tnSQg67XxS6UsIyweC6+HeV9OgBKPnZKdQVAgJvQ5nOxArkeUrwDVkC6yj1Jv8AzzLhrRAQuI4VSchEi7heEGQpzAV0R8W2IiDgdWgZ5i7sMtGRiAC9mDRn3PL2KAR2lZgOHK0nuMfuEKxCvtUgBUrVmf8QCLoir7zAgPZxhQhyH5w9gNn+9WMacADQh5FtHvhDoStB7ck+bl8MBHzteic37g5hQb80GcuXBXbXLwYD/v0ZxBUDAi/zNfKqPThz8FpaKbGyAUfFt2p7lIhs1aACTK7YwNXOFLQM/4CHgghwuvXHswX4FQLClgMslQb0aif9NOA/JevRuqPBWTFM5LZ2vZEW9Em/FkK9UzEJcwHvDxBDRU63BQiiEp6riatoJPeZNjzRPUBICWYq41DEWfE7JwWjAFQ5hI6NdrXybALc2qNMKCuEDFyBBjwc09KhQs4vKUhlYsN//ZAIBNUV5d/yw5cLtioDJP5e3gOHYMBxwLMiRqfXu1IYU+lI7gm1dvcAMVIIQM3gQOj5j/4PU0B1ejG0FUIFXqEgnVQb8i1AFAWlecgq+/JjCAS8yvR0WVYy4UsFX5UNzQY5sjv8IQhwBHcbODQ5gH4KEFYo/iV5Rb9+SPjBuYcCQC+bjxLAAo+rGKAtX37s/VkQ5Ioh4/42F/4KQUBnpAdGbUNf4Z2IKyVPhb56zAwYE6fID68LgesNIViFBA6Cu/rD7Z8QBLTM7EgZFP7VATJDG2vBTea+fQgC+gczWCsEAk2Xv3d0oPMXE/2GwKNJ77c/pPrLnG1iBG4eCJ4yrwb/pKL97tePCH1MQe9WAtGC+bAAdyUCUy55OhbgFYKA/v74yYqh4UYEndXX1/gJ29/Hrsr6/Y/hwDV42PUM+cKvFPqjzznLR/k9BgAN/rAuxm6PEt5EDLABwTVv+y1mAC4x8KirXk70tUqvhACgn1z2HQRA1ukDg6hg4wBAZXkn/AOEYc7+hCCQF/TLMr/wbR0SsD39tpWQs69/jpj4ZwNuJwXXY4GJ/qGAWslxIKwQDLIs4ATvjCTaulKcSsRklaFCdOuHWKCO5kyl339nMCq8cJSjuvcAYzzLgbXGDFJCS0seN90ZkJ4Yf0ERdmbfARkxNVjlW0we10tDAC0yFHTI0y93BUJQyAkdXFggrR0WNDn7VNLCGVf/CUJQyFpDn8EyrBPrKweiJVzQw3BWKIQJ+/t6nGs+PAi2YmDI3x5EWjFc2D+wAjMkEFIkBPk5VWe7gqCZ62cAs/wDhERCI1P0BHab7yymNqMpPYMT360fI8mUymx4nesHe+0GNwjD6X79kERwlZe5kdfL1w/pNk7F4uYj4RAYdEm9LwXZtD7OKBpSnCgUNy9Jv9bDdLhrhdhAWAig3wL9/noAxEG1JY2d8Q8QwocL3B1BXrt+0KCHLPDDV4/EXDFARDmg0mElP4FowgHQjazmD2B/dBZqhfBxJ9TwEKaqdwMG9MQLgqjPRlgMIbesH0yAckH1TgNDRmBoAnpG/BUChS4w346sSKSOr3H4qTDEwMRUfwRWTCwOI5klsGevIzALrhks9kZi/vPf/y/LsDsZFsoBAA==", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\n", "widgets": []}];\n", + " const layers = [{"credentials": null, "data": "H4sIAPENyl8C/8V9Qa80SW7cf5nzWsgkk0ymrgJ89t3QQZDGxgKyVliPD4Kw/93B6qzXxe4BugdQoGYhYL6334qvqjLJIBkM/ucvv/3Hv//6y9//8t9//aff/t9ff/2Hv/zrv/76z7/9+S//9suffvlfj5/931/+/n/+5y9//hf8rYaf1v8BfvDvf/3Lv//619/+nH/xP//2p1/+969/+T+//vbX/8Cfzr/8P/7y53/7DX/1n//yl7/+y5//7Z9+O/6f/rcu8ne65pSYqutPOv9u2ghxm3P+49/+9qdttf/XWx0ibWj0Ya21flh2N102TS+WhWC56ewdz+mH1RhtjIEfLfxjF9P6X2/a2hzdRdbDtPXWVEKvVgfhgVU6Hnq1eDxwG8vFll+sGuMDh4wOU49jFS4Dx8qvVp1gtU9dXdX7z7FabU3tq+VBa+NiflLO1pIWIfFjPpqv1UZcHzwYD95wnLzrfmgfQ+aI69FaBKuhvQ185+fr7qu31WT219fdCb5rjCZmXe1xtLs3jegReZevL7wzPJjC+rA+Hs89mw/Hd75aFYYLWbEGXMe22nXhodu6miV4rmH4xvDNQw6zosNmw3G7muW4romXivtzni9cLPHWu5QnNkZYDIOr7HM+gpNOtSlewiLBgWkIPmdTs8OsKuziB/PtRE+G7bk0o0P7uc0ypuSFLh+a4b4UR3rAbT8u8oqZAMGL/1gUrwnP7Kvp4yObNwud1xctjRImHF+4r59jPfH43qK3N7cpFNdlazrcpOex2jcaVwq4QPMnxb5QrnXAb9vaITIa0BhO+tUsw4l1vGPvXePnsSfQGMJHxZwMR9ZwtJZMWztQGXACQMnb16Z4Mu0BTHQBJUslL3ovj02BYzjRY/Sl+217LECG9Yq1hYHF+kpzU+fP13YDSAI41LfXznBpQF8z0Yg87a+5kHCseLtki+LN4VG16yNkD9zvqfBw1xSnUTw5UJH5/HlsRFH4G/x319OmDLfWbShQSttmXYHRpGBgZXizPvLtyobeE+99AXxfAYpSINlEsGpmzyASyDaWjn4FocrwZtYBQteS9YT9ONvTmhfTjLQys1k/4a9NQAXXfoUnyvBjwJwTubptP2YmQMQF7Cslnezi3ZrqzqHDOi51ucIMzyUm+K7A3rsuo2OntK2Vy0RBZDhXSDPGfuQ5TAPf/NX2oMCyKcBEJywB5m+2TK5WKV4LT+ZLf7BQSMeZvlqlQLCO1Bnovl2iYziuk5XXzHBcONL4vsionmlGQhQDNLiaHgwolJDAccB+nhq5pffmszy1USpTrfuRYf2465XwaBY3Mijea43ZIuyaRXtWPks5bjA8mGrgpcNf7tO9mgP7X2PjoFTDBEHZ2twlTwvEKpnXMDHWLTVPa5Rw3DviYH+e6sCfs2JzfWKjZJJdER9W7BNtOsVxoV4BvlFcGIClrn66a+lwnTavPsQY7ksA77qMeBTxszzjJTQZA3FlQAaGjkdZKIPiwg+uOYRRivjAVoInftwjHxmK19VfGSVrXHinAsPbQx8VAvXXrM0oWWMLZIij9WvFEafMYrzZZ3gua20hOdfHhwYW6O6tpE5G8Vw4W2P4zhURKxrS9vl6jZ3hvTrib7bFnsnEVFPR2gl0hvdqgAK+cLqejnPBp3j0K+pzuSVXdb2jaeEU7yVmgJbSn+8ZD99HDcnO8GCA0oj+uL07nzDv2bm4mqVALgAQBMPd6QXuQQopWg40w3uZIzasJmcGg4AImH+1Gvd14ZzhuAbiYDfPjPUHVmefpuYxk+K41ID2hj4pDJFJjDS5VrJnp3A2NHBv1z7VyFlx1gramxTE5ekfZRexE/m1aOVhlfGwbU0kShGXpK1lLXWN1yM2BwWOGNDlePQ+IzMnHLn+zieg1O47XDYiku3AONyXFPc1Ge4LKSOy07bxQGjW0d3LjZoUrwkPjVC4mzOGD4y0phwwSr2rJxNp+q53DaTLEcXquqVsHBSvNRzBV3dbIDreclvtCgGC4rFwiRCG5yaZ+eqhBVuGcOoAaXb4peMHPI1Tdf28oZxi4uo9diHTAG/de6lUB8NZLQR8gZ9+xGJFHqMIDeVpjYKk5+yAPJcwHPDOY9YDzYFagegXj9ublS1455q2BMVXTaRLDSf6WUANAOqx6hPHLblD3FPdWu2Wp1393vbxEk6ZCQfK5XGRx5EPA9lezVLcFuL+QsRvF7CFdDgQKa6mKcV5vG4kp0tO15WVRC1PzHBdBtQe7kcnZNeLu2RzdV0v8qIUurKmJdGfhCu4LnhRK8nLYrivqcAaoY8EwvG0HqMYjZvvFMWD4VRJbzttgge3OWo3Ap+Ccaka0n+kbOddxg3rKwpXtPVbKuS9CeMmj4as2KedjVTkjLNQTwBLGGlLX4qnvRC8HMDLWo3JvXEYXivZGA/nBUSNP728aaOwbbJ7KRfcNYHF4DnNXlvm+HuMZu7quMNjA3scN00eo72zvzkYTFd2ny4VGDma6SHFNoWxigcEwn2c8cB57zPJXsUupeCliIx2tp96pF8pkapzmPbfs9k6h26vgAarz7OQ2wQJVSlJ9C73cmU7hXrfc75ijvPB89w1+NS3600h4E+c7EQK25EnHwZovJi1mz42hX2PywSruz2iAAeqUR+X4ceQK8+e9LKnFwfeBzwsjJjeOcV7S26b2YWviVhtx8zFixOncPCTKdrWybpC6EiGdn1wCgm/50QHPNpZoEm215x1gKff0pHqFNK94T8+99EG7msTB65cKQrp/rs6Saew7r+1bRzGv/jajNER2cIYdaCFw7j/rlnRKZT7j+TcTmHaCxAnrtDJGZVIgs6L3UVJcyQHSHbBAjhIPIuRZRavcaaWWh9rT2wn7dt09uJBKPx6QVqDg9OfTA0fCY4AA9/OF4Vp30yH5zDcrkACFcF5lpk8CtVeJekKfun04seycK1KuKBw7T+PqHXl8FX7QGjaFaLoAwgUR67Y9VsaGJ3Btddsdw6LCzUYnjPgSSvEZxDuv6mXMMj2dlQK5iOD284kOckA+eU7j/vYE51CuZ8KQ4Dcm2TXUnUiasCgkO4zmfIl8+JAFV4VnqTUDQaFRWELSTzC0+NezeR/m5YzNigYLInJbVyEPpDqRJ7w+syU0v5qcNrjOYs2k02JGNLLnR6kVNIjAcGjZmB53JvWs00p7AOFJB3q53wl5q8p++D4MECDdB2P8wXorTKkni8KjeKo9yFn3+APLrxpIcx2Cuke6Xq09BuPJtnCxUbS/jYk1Rm0+y+EZLqRHJgH3PamoQcQQjJ1i13lqJukk358Y2RwS3qM4j9IrPscadwQKLFBDkzpmxYDhXr/BzQCut2ZSVJo+Jajy6NdKvv4pyc9rAp/sNJJ6cd42raN9CpFVioysXUL2aE7RQTM/CgPPZEJUnektGrr7YNzqPhtqkUPfw4FIsuNAE4rtuWml66cEhHctO8pNWTxqeH0aF5W4wzfhsTGU4jjOYVpU1IJzub7F6eAs+E+2jpHmrKP2b22TDnU/Bx8lTjq27JbpmpHH63YvlFhh8LS99QEG+ui1ZUqJPhxt7eIxqHq4+k7fgO7ZNgR+MgVrc17SGR99ls4c32SKmVJcj1Losvx9KuWn6fe9J4Z3syn5zWSnxJwE5y0YvamPiWFn3+UxNawPaFoLT15FSejEPQRMWIM3Xo+8CipVdYKEKcw9A0PPHMk9JnI488z4n0qtDPI+paKcyPr+xc0juwPnvwdjVNo+wOnC/5S2oXo456KPuW0Mbj734j/xU24jELd/04bo1P4+x1xCLB737CVY7HTR7nZFAJ/T03Y2fySACDrsTV/B48yaPzf1CcpPH7t2rvK82JFSpaNpaNeagofNgEQIPCmHXvm9lp5oRwmv4trlkF3vyH9eivj1p1C5Ufckp5Zz87okdkMeJdilzF8FLi6fXk/m5biTfCR3zw3hcjfYpkga9+3KlOuKKpCnULkh0uORCRb1hveE/ivOs/Fyiszp9hJra/Euy9KniS96Zl0rWe9LJVj+wuzhkHjN9hIFLhB/pFOAoxWuxTXtbraih2X4bmzS1szSQqNP92Fum7mVGptO4LWO11scSpkzUSSefDkq410ou+1d2GQ+ZHDWzLmNuM51Yx0ilW7/Q5CkTSK+0IgRlZzgd4A3lmtKVQ5ofD54TsCF6k/nhmph+D3KL1paeMmWWCj9OOR1wy5cI01Z1enFWlcCo9fATKzJ/4UifUckIEnl2J73qbKJhQav01d8NfzWQYFIMGXj/rKOeLTy3C4TxXk0fGTXjV5O8WBIUVO2Ywn1M/kGv6kCIdK7/fcrC63dIml622sIqFw97PAb8ift6wBbhkyt5B3hXFK+xIYN3yPx8yD0JUw4bXSLAwa/0B8TsGQfg6qGAD/0GqXotc6cJ4THDxjJawvt4K7hcLj7yNT5rMSOTJg160jQmHvIzwNHOfLAJrNJMFWkRKRdq8wjFCo/APuusncbaSepONuVvCJcKr7uXily+avGTKOVRVLhMLlxwMD9ctWsV9JeX7hZgpHPf8P7EugkPklJ8LPhQXw4NMQruv54pT5myQF4tmyQ8i0lqomxTbDlyU6yIbdEyUk+6dlZl9sU1qVKS6VEetS7l8wPaW+83XbzIjozSwMISnoB7ARfo9dqwJ8SC3MYlc4USSx76PqHQeZDf67wDMKsb+PPFTtLMCaZQpUgQKD1P8Ff084pP6PHRXR+zgXQhHR/1xkF4qKvie9fc2LuEfuomvwYfVcU5wY4nBDpH4CUSCVntpx5WxziP1fbtnp91USKOT+HkmoWTZPIRfVOiotFDX9lPiQJePcdjglLZfjPSguLB2JnDmWpjfrPkuI4ujof66aUPj83x4tigsTlwnf/WROzYHAvLy6MY6U/sc5MBk3rWYjiel/s9tGKGr63YH4kcb7mdeJ51kvdjlaY2Miqdmwz9N/IK17I7oLhduf22jhOq+H26anvm0xPe6BQ3YTDKNQ+r8UahbjFMcOrYM9dLdG2DKV0l2g0Pm/k6YUCp3/M3NKKJr63zGYhMLkB9TTg4/4M6yTZbq6apAjOpZCoPCZm00fKZRUBrSFI6n/kYspFAI/7g9O1tr3SfNIq9fA7LdsYBMKbV9TzT4ZmD8yjSOlxpCxV9scXQudTTbfAWHZ8H8vtzhu0ZcQClH/M9OAwtH/ots/OVtALFZKMP0I8kSrQ43CUdP/arm1TM4Soyxid9tIc2QbAwftfTErBXbhUHlSS3dk6ocgebXLkbSw1ofrSU2z5OZJ/dDOocQNWNuS67ZGm6qj2qWw9SPXFulmKuFzz9xrVPwWR08/8wm837NLlDM/7W2qTCiq+vioS3SdrTG4y1TiLCiTwc+3XCU0xxkjpqW4bGrNvm0avnELm4Tct16aI7L/QXRVOBz9hRM+dXMbVp+HHtO78+Qo7a+k9dq4NL1j4MqtUW1TNC0CcA9ITM59tDljturlohDEZs8u3B4VPfQCI+RNAlMoJP2E9kDacmqD51T8SwGMQtL/I01vClv/kOaZyW94MqojkGNVxL04UmMpSOl+2SLujjf/wtlaFIeG6IEsbj1vWA5FAyi4vl3xxQFnEZ5aE6fGWjqbIv0vHOo+cuaUxNwPHWHAZjWDXpxyWE6+x1mdQXaZExqlIkWR329AYZG1oU0jb9pysWexS+Htw3nBkJ0UX/eFr12fl7PnqAMCj767zr5ynPB9r6VwePuKQ5t6Kg/jls2yLmWFeuPsO5o58r6zO+TTirNWLrFytPeRVwq+9FPQwtOthGh9Zk4pDFhwRJ9nCQ5OWw84WOq8SiHtS0OGJXZe5uVten3dHPl9wC0A/S0RpPBdWk61kvT3H0zLM0YBCGZFrNiluK7M5Lzp3qe1kpsmRQlTOVT9j/volELT/26zg5J4+g/tp6cWEV626rIiUq0Urj4M4VCtphdZHIDRFe+MMKUQ9kcgT+/D7ZQGF+Qaoxe7FLVqZLD9h898ZFtex4GVQ9hHIg+wpU/QqyN7ofZYElx/AUpymZIhOeC2deBTi8pWfeF290nzW5Y/KoW0L1lXx0u+TD4BfKYafP3YlCUigL1zue5KqPhEwuXVrVByS6R1uf36mVuquCTXt7xv4fQmbTaNc6f8QqDKtLbY7fehXxUKIktwMvo5i6O5e0C8vmyOcnVHWrPaLl60g21RD7ZwSmSa7KS9aSs74JLbv4vdewR5VDjOC3eq9/jZwRRjzaJQqRSWftLPGnyXnJPQZoDe9ftyth9lDmvjVFTIA91qViWcohgAN2DBhSG/1PFuZ38LzxTt/YQGcGEXHR5kdJ7r84ppCjtsrIWLdGp6zWEauOCvVVDlSO/jLqWg2DnEeIyLlmKcKqcWluW47II/ByjVRq4uLLYpOWVuSRTfZWfLOcK+asmCwtJX7/3guf5QHTzrBnXZlHKI+ke23vaKd+9DcjGRv5+xeQvVVCny+4GDDZy9+7My4Ubxi9TvTOlV+sqxl10qye2umpj3apfC0P8iSA6KavUCIJgndQgHa3nK6ha7nHFJQK/HOqs9fRJH93+VHrxS6Pm4ugo7lzUH4skvriQPpUjv99zaG1aaKJL75MpKM+XQ9GfrfsidPgN1T9JJqa/r8BuRPoWrL3DMUyxOftzB+JR3dEIh668217m9zpbgLcjLGaf4sZVT7muvOgg4UGSSFfxSqPpJrwgEywuzV+PYllhwCYeqL1kV9MvqlDgY85XdqxS6fupAesjmuEiOv6RXfTtiHCl+HO+WezXOUejVcvdBsTtuIW+p3QfGjJNUIslCmDxbVzme22vRgMLUB8pCaD5pNcji4cDqmmylMPV78saszXMaF98XX7jep5uZFkqh63e84pSh3C88CUXz9+quFL5+yoID8fuZzQJxL61f2zn7KNvy7uLbi2VNcNX6I4Wvj9A0UlarXSr8iRCr73SODzve71VbYPUV+GUKKKLQ9lMxZGRwfM61pe58k/k7h5zSsgQuiG72o4MJgKJlJlj9RvKYUkT3W8fFsrYL/MALlkluPWnrPkaocsT2U7I4sj37xGVw7XBw8/0XoAhW99zOHY+q6BxmyCu1JriTozI28bV7P3dC5Xo9H9UuaUV4gw/Z+5Ei2jE5W1wphcj/eXJCKUT+b+z6PQUqCpFf3I/q77nwVSXpLcUsBY8ZgEFWAy/7XmczqX0cCo0fkbLnN97UvJwigAcrUJAis5/KP83b7lulyCwASvhbahUcObEsSvnctRqxnrJDJY+m6OzjA2fneR/rkXO5UdU6lMPeXw6k6foDe23oS1OUw9//yDdVCnVf2iErrz9LWfADffm+TprHAQLYakPZlRXEx/p95z11Zgpj/7tRUaWw9nue6WT0XhbX4ffAfXqH2RzW/spq9zz0K3ZXOJnNo2Z0i6O+kyOcY9fYV+4eDatmOXOUDZlE26gr12ck2K12OdyK2RxuZJ0QdyGlqaiLQtNvkaVGnZcvPDu8qPV6um5CXhSq/ndt98XRDzNtSTHYFAs4lVYX2yqFrZ8ISG1dlhfnyH8gZy8Rg0LWT+mwbB3YZl9aDItCdx0kbf1v9uMNjr4+3Ijlxp2fLmHX5Os3qc9NSRzdcJVOIdmZLNSX6zwaRzwsl50u9UuXLhs4dRn6aCQUNgXnbCfLAU/SpaCDQaHsf5wUGBTG/ndCyaNRdoInkSP5tU9Q0pBb5UqY18xmNM5K3RZwohsJ4t/726detwDfQVLY1+zw7yOWQtwImQUJDQpZPyXTxjx3sGfHO/c3lLPNIet7Zo1NTo3iyIZC+bwkcf1PwyiDQ9GfmS6qnMWJNuGs66mymx7XbyGpDwox/zM9anTOSpBukYJsl0mI3HI5iljZ4Mjp50fu554KnKukzZT1L4NCypfUsvctqum5qmHUKZ9B4eQji8kFGVvhCP4K2VRf9XGFs2XRkv91YSdFT15WYf0Nkoi+5cbly4TRWklnmFKf+2Yh/cHh5/eWqx3bOBdQw69IvdMUfv7nZvMg8fOPPRyX2cF16MW10jUYwpEP09bXdd+2tBm56LFebIrwoWTOKFs0A6c79S0r8qLQ8wPnO3CLx099os+6AnBwuPkdkC+XTu9+azvK6NUup3Q/4Zl90/JzDDiVSopZTsMRQWnlbrKnxrd7W1X3cHBY+bpSsf8SnqN51mSqG1G7rz00ONz8r+iOg0LNz5qj2Y9ybK6jzs9f7MZtYvKDQs//bpvToFD0BXg3+RsXCgXOXu4wKxh09FvUiQeHpt+H41i1Z7wyldx9UjZNjnFPK3JQKPqfV7gOBj1fgUiy7OW7QhEjEDOj2nXOSMLseNyLunqbCpRSfQlHRf8r9t2gEPMNxxoBaleEUhN6FgLxIGno40KNcwg3S/rNy3u2G30XhZafpELk6nqOQOCDI2AW30Wh5H9mBg0OG/8bis6gEPItdyfFKUGTbd+VncFi1+4pR5nfMg06KGz8z/zswWHjf4YBHDb+5/fMIeGLZYP5mldkVhMvLtM7aaEjHnwv4MgOc0Ncqs/MWfzR8IBzw/ossAKQlKNFoeB/5DMOCv0e0S9SV/xZ9UNUPpYBl8BEod9/qRk7KNT7L9rLFN38g3rUum8tIxwmnLBZXzZnDFIUuPJcY9hTgKRX+gKFdd+jZUf3bLHmVhvAnqtZDt/+I59xUGj2nrMN0scJar2vhF7Frty2TXBMSs9xDdV+3ayXUj46Xrw1RzdfERmX29N/4TfB6w+t39puaRBRGPdfEJEojPvPW+YGh3LfAyhaLiDExJOvcgwD1gYNhXj/meA3goO+cp/dWbhPBWZRXKy3ympQiKtAAIDZ/Um18wkv+lLAp3DvLVLWcj0EAjbjTXHOdZRvTeHfx4L5OXZRwszw9b0Iag4K//4rMueIe8hfwRkcWkB7vZ8bhLpP6S+3igLAFqKk+lYKSB3g3BtZ3BiFgd+TmNLGbkt5y0FPq+GCo5kPVy1Hz/XZLkiF3lZLyBTi/WcVjLE4ShRIp/o57AhoP+XYe/LqOZfcx2rkyORLB+brF+HO6BKuUVNJCge/A+HhX3adEXGy57Ku4joZ/Pss9MVoepFDw+2emVdV236f7MigsPC/mtofDCK+9UPgW1wupJk2bfnvkGYYbPwviRzGkc9P9aJDq+u5ejhnulavtvu9bCWj0PI/s5WMQcvX5EdHtrn38FruslSz15tmFF7+o+DqezUc3CnO3SjcNOPw8gPgs8Ulu8W/I6yN4laNQs7/ktdhFHY+sNFC1Nw5brIhvZLFjcLJb2or16PFVj10zRJ4vVQUahgweN9zNmc5Ab/JlFJnt06hh1mCE/XNYvHc7VTq3dY5jIreT+UqAMTUsi/dX+v37Ze0rrc0j4xCzUfK4UDDZ0MjB1Lx5/qu7RZ+lFG4+T07Vrae8pJxLB2cVfbPOML5HzWvrQdpcCzVJbfzQHjq3V7u07pPf9mE1J1EXD6XaoYulZcdxCb9NqanUVj67rmIGLfq3OU5cnVqfWbKYHdL0CdbTueY/+0vQIAkmv+pamJCIYPlVkcggbPm23LUpjA5jELK9xXZMXs8LoD90rHqTaLogSGfwWs911uv1IcqdBkTTknsGM7b3lJWrtQe+lamMQodH4ALb7ft6nrGJs9CydWu3jJWZAw2/hfzl0Zh43+ePjAOHb8jUbK9fDiS/5YHS4vdccsWMuMI5H+HbCks/JYQIHu+W21EFj56zSF03jIqZ8oZ3dbmEZdxtYhj3MLqPV6MaidwhcXPfUpdQa9CNkZh37ccFcuk9HSX4zhwxW6/jdhgFPa9eM6dzkuR0XUdH72EZA773mN58t7PkNzdq/Cvcdj3X+3oNI5A/ieukI0bi/g2KNALbiSGn4tvI/WetZYWR9w2MmbjHkKFWeMsNYncRrpLmj1dJ5xJscvwYXjUHnNDAs3VUDaPmm5NkjnC+C1h3vL9rpE7plB7fdec6aF1TOLtNjveAMJH9ZsUCn4KTwyffiVS4C6/cB2NQsPPzSIxR3vqSSsuVM+pgPePTfFkFimP/yM64kvWrB0xCh//6K0n52+PqGXtXmvZy+LeBZ1GIebn+pZjEe/5wuHX9lbp8rUp7HzE5S4Nr3oz1aemnnT52hRmvuBQ4SpfjvlMNGzyO2+dRNH/apmNUYj6n8bWzMct0xDmFIEdddOul1Qnz5lUVOb3yFMYhaD/B9YpGkcf/yvCllHY+sgkYyGnlnOWHuGjytPabKRdsJIcyCeHp1uuiHqXx7d54yJJo5D3P4+zGYW4f1C07MwxcZ3SkU99O+bzHq1Dm3bLWKoxaPsaj+XtvtlKedqyelXszls2OdqMezpGFLb+Z4Vt48jkRwMkymP8Q/sMJNjTilSZRb+n7cxRyf8DsTIoo0eZYba51R1l9RT7qQlPcAR3TJZf9fAOHRSk1wUYkSTzvxnZNAppH/4jaWBr7kudwB9hstilzB5Z7o3R6c/uRrLDwldxZBTi/nerUo1C3k+yX5dxVgdTRB/xqtyr1UgaCrko8/G8bY2s2FWzFBS2dMy5EWBbMJsKqm8IkEHbB+qxbOCci4oa3LnOapbiwXCgl8fJklqSIsRFqd8YbH2deaxiPbBf9Bw3Sp3rtxyaI5kPvItLtKdkgfN7SlaUq0yh639Z9F5355WLs0py+Urxhud61pRStToqaxTxfJxxoFu76IatRMCqfo0dThHQXzhcyKgv8ziZbmaVrpimbC9KWhgeXM7FsAjco4hPO4ek/xEDO0U7vyeVBeniKcWHBA8Z1no9397uoYp5M04Hb0Tvm/0g2jTJtlrsUgpkqefQz+kXlZGodBaznMVrmttYt4D8sczP4+HD6sG+ee7IG6fgj3gheu6ryhVs3Qsg895uIY87Rz4fziN87kuF2JFpZtn+4RSi/lfz0E7h6cuMnHaJuafeEapwwItZCk1fctNLXEKk95nP/N7YcJKWfhZh1+7YJjjBg7+8b4ofa8euqh9KM66Yt5cjxtFvRQbZ4L62H7Fmo816peI+uolTCPvf0amcwtdP+YpHVf9nZlNbCg8UWoBTOPvwYDbS9BMEylEGLhebI6yPbzzip1STSeao15nB2P9DoVLGjUeNIy2WrfhrP8lTDwr5hr4/PGVBSMvh1L7pkoEcKwdY38ZVnUHnx2eOyGbpKcakOclZNMZcSJ1LQ551GYyO7C7hRRRvTqHza86X4SNfqCBItnqmH1fbyuHGpoTK2nIT+BEiy6iQgcPpBwa0TDJ3dTCa4vWX80Xh9Avy+R5xsl406yrzxS6n2p9MutZPcR7k1q7vNSvnEPtXhov2YGAkXxGBa5Zyv5P09TPdamdnWmLlAFpJazmk/uhIINfY03UNybRG6Ru6cnZLBt7zurhugLRmrw6MQuxPAC5r+pN6gSuVK1urD6H4rwl40hAmNjjRbOMVwSvnqOojpYPLsn7ZoKAmbb7YpmiMZcUCH3YjcDgNvPwiMOYUXv933STn8Pq/2qDg4+ZVR04i+AMKwKXIZZ0BoFGCwvdfgKO13yLaisctg6PBk2vUrz7vyXFJLP8/8MUp9TLT2fM17wQgRpITiienCO7/kZNG4fx/gQkZfP8v1wW7cSpnSHj8Z4sFkIr2mNXu3X6NQvwfyO+zqjP3sJaY+qzBhML3l1waO2T3rOFCBiJoNUtpAWT8bHbZ4BZrGYBb6Vs7RYI/vzSsbcyAg408YD1EwwtwoND9YU9k6mUdD77r6Ei1j4NWfgEK5T8OlbHH/vP1s2QipDIVnEL7n7aONTXPh++eVJhZeEfOYfznCu6rpsuMXNYTo/aPKYT/PxJKKNz/nvSMZPs/PzqOXcaWeuA4zc2DmHyKB3X8R+piIufI86dgZ1Yw9yEPnKsx6iEnjWMiinkRk2wDobzXZ457UkAneTXAsjkvTkXM8tOX0E3R6c+9dS4/7GTLaZNeBh2co9Mfufd8rlOs9Bh06O8XmsL3P1j3Ni4b/I5tqFHn+H1SVu1OTS2Mk/6+VvbBqgefHF2MuZDr7+2nQAow+8IYuInu79NvxqQcuf6BcJ0SAg9MCozQgFzeBlGdQv6HdcXHvuzgAm6SpK+WDIgyANB95RTmZZ9e5PiYS9mP6STJ/m84ds5R7J8eSZEYz9Cl1htSsOJOKYMAn3dSOIP/n2WVQzzzlLqeBz+6mB2kIwbvtVdFBlKwlqsUi10KGhtZpMSB2mswEMOi/Y5D4XD/pwATwKVciuMj1xpa8SfB2RluPSfy4pS57qm5XM81Y8AcEDux/4W0i9MG5B2tfmxKR6DjVM02Tp4IMh6b1X+udt8zr5uqZovTEUCWJ/OS2MN7RZKUq229Za+Oc/T6vcFT64UgElnIilHrGJQBgJnb17qd8zTeJUn55T5TBgC+hf1r3rKTzNeNYIxC/O+atYq2lSWjhyP3uH7nSZHo/5J+Mzms/wWknRXRp4SWJ09YSi4/Kcz/XH6Wg6h28nVXMvCt2L2RmjEpzP/PVIVJkedHFo0vrf6jcSQJgevzOmeH9ep2rreZBxNllm7ipFD/v0OAk8L8bytyRag92YSRWzhyS0GxfR9pdnYOtywH1Jo8BVgMvkznixflkP9dArh6xpMnkZpp+nKnKQMAqfxi1k+HIpornMqgxeSw/0OPnW+bgS9xaFkVsxTZRU3GzbzUnX3kzBz+y2LbODrqyDL8KR0Lq1NGmFbblA4mkg18653kLOlz+Hg52pOzNzRH1+NcwwsEDkRUj3XcQp2cnUOPbWMtIN9dGErkO6rbpnD+JZFn10tvwUaOO6yHzEz9BRhVsbScgy3nSpekJFdN5Elh/UfHs2do3HPdLZcMlnUuUyhALHV54UbkrO8j35GozztukQCcHKb/yDl9t1PfEjBwVB3mSSH4D1uaPuR5sFfebO8li50Mfv9IQAJEu6V1VDQhQemlTI5e/8deypR1WwN86s1EsqmUbLIf+3C34Ld4anxWbZ9JIfmPlvqSP+t7PHmSGbleU2iOev/H1S6TQvL/igA+KTz/P9AwnAzCP96xpcr4rhzMXOzXon5qChLz3rVtTtPDkeKPioS+oG4K3x95FeBmb5eWGTCSrSrwPpUjgp3qFxpnwMQnblKvFkfI/yuB5EkS8wdOGBv8urUU9yk7SCZHx/8TTXKOe8TJ5hi3CYRNDsP/c17FIfZ/x3aYg9OdzLXLviUx1sqVirPmNhR2/2e+9aSQ+r+wSyH153SnyrkVNFXYXLwW1Y2SQ6bPwDm+Miuar6jjf5PC5/9KvWgaB4SJwEfPs1YhkSTB4jftxloYhcmfknO9j0taZ5rEzFHL+hQ2v+e6dORYZ3+w9VwaP4tdyrj4yP0b3s/vnF3KVWt/FCq/4lkdWfSTLDWSVjPx6MU2BX3hVq0hflnVgG8sgLjFtnP2h4/WM3HebaNc6jwLv3hSCPxNVHxdxzYcNxy/R8UkFAL/55Uvk6PWn1uGD2z9k1UNGZHUuGKbgsNEPVfUnygbYFdyLug1g3bK2HhugW39JJMjtdRc8ljs+j01Ig5xXy2SxXOC7dx2OCv2o5D2k1qRWpbnrB0OeSoDF7vrFgripBD220hiGgDu4zKtVJ3TepEphP1ss8/cpvPA2K65w7poe0wOV/+75hiFq99wdPq55iRwmbMR/Z7TcOT5v1pyPOfdpbDp9875TQp5P6thLbd47yUz7VhnWrz3jHu8KIez/3Euf1L4+kNH1yQrnR8aqAT3KRuWxXa/RaR1htxI1Qq9J2xxGPtfqcpMimB/CxOEkblXEVvmtZXJwuHrO6LU8su8bha3k3JQzxjDfyGxSLbOReUkFBdaH5orL+fsptJYcPLKbA76D4k8V3bh21/tUgT7PxOq56IMHeUCZotLaQw4Bdd61Hb0Ig0dzRHrMkYJhDR81D4hhbP/RXxepNKYqug5H3HQALx2wRdpDRxCdK4/vtzn5NJofWaGH0sp3ma4zzujzAHtZdXuvK8MuW7W7ZnrnhJ/cMT6vwMnQSHuf8dvDg5xPxc/p3LnnhqNhRzk5YVTckwZibS30ALQmafKuBS7nIWW+Mp67rEfuWYwJ/+LXcrkEXwJDvbeYJR7Q7PB8kZrCQ5xP8Ukup+phnluhFvF7LylsRAt7qMQReOsTkrlW13XkT5JKlHhtASHtD9WSizMy56ZY8FklRcPCmlfXBu89UmyWI6PUAuSQSHsI1gGIta+0Fl7thyuK3YpLIuEvauM+y/RAU+mxTZpDdxY3c9ndp9AJ1KcNoex/xUhMjiM/Y+Nheg36lkEhbbvcMyaRcFnq1I1ObejvnDOTt6cEJYrJ3Ees+AlrQwKfR8YOPHY5mEufGxgMi3ORPq9+u0hlCJZjExt/TIED9SgeeKKbb0X/AeDy6/ZpwUAfdBscsc9Er/62JQyWd5vXKFdJmsjlT0K3SQoTP5D0a7bpYQBVLia9sf65/q65y010eDI9S+A4X4uIslx6ZEytW/wTDgzla44Ryc6AkyZpfYdFDY/YMFIHbknmwpuVBINlyemqPUv+LPIVUJ7DCp3wPgo51vlZndCIfPrUGtIo+VaPIqD811sD0rhKp9dzhFtyw18vQZtCpv/Ow2AoCj3J4Wt9R9HqgKgsgpVMShM/mMOHWBwJx4KuOQ1y+SI9ptYbuB7Hq8+U3d6eb1bi0GdS2pg9ln28QJWSxdztUsh8X8n6REUEn9PhmSWf3cCsLLlUUakY1CUrQFDgQjVn5S9mQs2WxkXDopq/0gBpIa7tBO9HMKS3wmVHD7/p/GFoFD5v1N5Dg6d3y0pNhcabrrPPuqS4KCw+TvQmInauLhuP45d/dRxm75zjHsYZcGR6v+KaRQclX54UniriMteYk/Jolrx5yj1Sy6rAjzZfjSTS3jVN5/CkeoH9oPb7hfxL/xCyPVqJYfC70fiITjnF0c+E6IiD3tP7hkk/y93JASF5D+SRjYe6gf7hq9h8GvHasKXh583pwMWd/8C67ZmdjinoIYsMNdDn4qliKd12jQ44v0zU65lfimojTFXlI3R4XLLHFFQuP+Cd41bvhOS1XDIACDsrWJMIf8jK8Cl1vOA50deZWtbcPT627CcFnvKReGhBSl4DWgc6v/KnOtsJWcylCMPBSz65LSwbY24JEM948uo+vVBof+7D7xefNnn+7Yl+PG72GBQ5gD+iDelDARoR3qi8tzUjaOOKLe0VjooQwGBRBTf+uLJce/yh1Jty80tislRKssj7rs3g5Q0K+bhb8dujjvEImJy2Bu4b+1kjUSqPqZkR7Hrt9GHgyPkbwvXOU7lQTtED8tG3aBo+BuyPzixcZboUwJaWnHnnFmAmVxK2Yzl5EVpreRxJgEMD2f9SiOQAVP6O46cMg7wHV07KPL9hnw7h2+fqAE+PfkzUtBhcDLRXO0zNyJ2sZTrfaC04kPj5s1xQVH0jxUD4escl0ROnCKn76lg+I1kS8qIwBcMU9JkQOp+w4desr+VjYtR79m6V0wsFqfWlnU92ZhhSqInq1UPjq4/PjaSjku5abXsEFmNJ5QxgUz6cMXsKYejuRSl9dorWTfKYgdH4P+rNVNBEfj/UoA91j1CGkGZGEDcEsE7fhZZpKdAtUZ94XHbBotYlIKaNx3Zodl2DclBtbsoKv9fUgIXZVjg88jqanLLRsbFUfif+ZHXVsaGu1Rx69XuuE2vblGGBZpn0EICcthtgGlZ3VnFrt/GHlmUYYEv8fjiTAx8qpqudsuWktVv3FKyOOL+36c+q8ttve7FGRrIui0e98n5dIVf9Ren0jmyQN6R5/fncAg8XMsNs/W5Ke0BoM9lco4JI9XMN14cWueoZafqlfk5HBKIHasGLc7QwFf7GBdlZuAPJHurU8hpeOtDx7nsCqe9pZ+72uVo/h97jC0ulfGYs41VRt0WZXDAU7u5N9meXAKIfFSzFC5HaP4je6qw58Xyd37YIkn+I44037KY8GQK8G3V7j3c2iUUJ2aWDKF+asw2bem7i12/jRC3GDMC1nMXeu5yuETrNg2Z13u05mj/f2SHLcqcwOe90YsyKdB05i0+d4olU2zgR69LSxZF8z+HMeIxmPKjbJF6t7MoOC+O7n+a6ldVjZmsW4ki8rY4sv8fGQRLb24DLMq4QKpmy3rM+MWeL4R94KSS/HDGBYDDVya2W8sE5w4noLhTyriA5Gaz7b92Tdi0u8xWDxpFelaQ4vn8mTVLelTTernWffXgdePQwBp3Z5tD7v4FKFNQCRtmK8ysyE1g9YqTNgLkbnQc+L3VbqYoaxkfXpQRgrCueb7nrp+JxqOw9QKLOTME1gJo7RGzH74NKbY11frCKZS0HBexvfmhrbairjNZpH0AebX10sbHV07FopcLTpnn7BJjbK7liEg2Up8nXPrHv/1/aPYVC9bFAQA=", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -1513,7 +1513,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -1531,7 +1531,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## From a WKT column" + "### From a WKT/WKB column" ] }, { @@ -1659,11 +1659,11 @@ } ], "source": [ + "from pandas import read_csv\n", + "from geopandas import GeoDataFrame\n", "from cartoframes.utils import decode_geometry\n", "\n", - "remote_file_path='http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn_geocoded.csv'\n", - "\n", - "df = read_csv(remote_file_path)\n", + "df = read_csv('https://libs.cartocdn.com/cartoframes/samples/starbucks_brooklyn_geocoded.csv')\n", "\n", "gdf = GeoDataFrame(df, geometry=decode_geometry(df['the_geom']))\n", "gdf.head()" @@ -2375,21 +2375,21 @@ " return value.toLocaleString();\n", " }\n", "\n", - " function updateViewport(map) {\n", + " function updateViewport(id, map) {\n", " function updateMapInfo() {\n", - " const mapInfo$ = document.getElementById('map-info');\n", + " const mapInfo$ = document.getElementById(id);\n", " const center = map.getCenter();\n", " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -2463,7 +2463,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -2478,12 +2478,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
    ${popupHTML}
    `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
    ${popupHTML}
    `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -2767,7 +2771,8 @@ " const map = createMap(container, basemapStyle, settings.bounds, settings.mapboxtoken);\n", "\n", " if (settings.show_info) {\n", - " updateViewport(map);\n", + " const id = mapIndex !== undefined ? `map-info-${mapIndex}` : 'map-info';\n", + " updateViewport(id, map);\n", " }\n", "\n", " if (settings.camera) {\n", @@ -2841,7 +2846,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -2887,7 +2892,7 @@ " const has_legends = 'False' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "H4sIAPQnvF4C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAPQnvF4C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\n", "widgets": []}];\n", + " const layers = [{"credentials": null, "data": "H4sIAPINyl8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAPINyl8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -2911,7 +2916,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 4, @@ -2940,7 +2945,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.3" + "version": "3.6.7" } }, "nbformat": 4, diff --git a/examples/data_management/load_data_from_geojson.ipynb b/docs/examples/data_management/read_geojson.ipynb similarity index 70% rename from examples/data_management/load_data_from_geojson.ipynb rename to docs/examples/data_management/read_geojson.ipynb index 77a2938f2..30501499c 100644 --- a/examples/data_management/load_data_from_geojson.ipynb +++ b/docs/examples/data_management/read_geojson.ipynb @@ -4,9 +4,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Load data from a GeoJSON file\n", + "## Read data from a GeoJSON file\n", "\n", - "This example illustrates how to load data from a GeoJSON file using GeoPandas." + "This example illustrates how to read data from a GeoJSON file using GeoPandas." ] }, { @@ -37,26 +37,11 @@ " \n", " \n", " \n", - " objectid\n", " cartodb_id\n", - " entity_id\n", - " latitude\n", - " longitude\n", - " audit_stat\n", - " legal_radi\n", - " illegal_ra\n", - " radius_umd\n", - " radius_for\n", - " ...\n", - " carbon_r_3\n", - " peat_for_2\n", - " peat_for_3\n", - " primary_10\n", - " primary_11\n", - " mill_name\n", - " parent_com\n", - " rspo_certi\n", - " date_updat\n", + " field_1\n", + " name\n", + " address\n", + " revenue\n", " geometry\n", " \n", " \n", @@ -64,165 +49,73 @@ " \n", " 0\n", " 1\n", - " 59\n", - " ID1822\n", - " -1.585833\n", - " 103.205556\n", - " ASA 1\n", " 0\n", - " 0.321764\n", - " 0.225759\n", - " 1099\n", - " ...\n", - " 1224\n", - " 0\n", - " 29\n", - " 0.004508\n", - " 0.135391\n", - " Muara Bulian Mill\n", - " PT Inti Indosawit Subur\n", - " yes\n", - " 14-Aug\n", - " POINT (103.20556 -1.58583)\n", + " Franklin Ave & Eastern Pkwy\n", + " 341 Eastern Pkwy,Brooklyn, NY 11238\n", + " 1321040.772\n", + " POINT (-73.95901 40.67109)\n", " \n", " \n", " 1\n", " 2\n", - " 153\n", - " ID1847\n", - " 0.077043\n", - " 102.030838\n", - " Renewal Certification\n", - " 0\n", - " 0.445960\n", - " 0.258855\n", - " 1979\n", - " ...\n", - " 2038\n", - " 7\n", - " 523\n", - " 0.017304\n", - " 0.321418\n", - " Pabrik Kelapa Sawit Batang Kulim POM\n", - " PT Musim Mas\n", - " yes\n", - " 14-Aug\n", - " POINT (102.03084 0.07704)\n", + " 1\n", + " 607 Brighton Beach Ave\n", + " 607 Brighton Beach Avenue,Brooklyn, NY 11235\n", + " 1268080.418\n", + " POINT (-73.96122 40.57796)\n", " \n", " \n", " 2\n", " 3\n", - " 103\n", - " ID1720\n", - " 1.660222\n", - " 100.590611\n", - " Initial Certification\n", - " 0\n", - " 0.498531\n", - " 0.248520\n", - " 1432\n", - " ...\n", - " 1518\n", - " 0\n", - " 476\n", - " 0.000811\n", - " 0.193365\n", - " Kayangan and Kencana POM\n", - " PT Salim Ivomas Pratama Tbk\n", - " yes\n", - " 14-Aug\n", - " POINT (100.59061 1.66022)\n", + " 2\n", + " 65th St & 18th Ave\n", + " 6423 18th Avenue,Brooklyn, NY 11204\n", + " 1248133.699\n", + " POINT (-73.98976 40.61912)\n", " \n", " \n", " 3\n", " 4\n", - " 216\n", - " ID1945\n", - " -2.894444\n", - " 112.543611\n", - " ASA 1\n", - " 0\n", - " 0.662863\n", - " 0.186332\n", - " 226\n", - " ...\n", - " 269\n", - " 59\n", - " 66\n", - " 0.124882\n", - " 0.189169\n", - " PT Sarana Titian Permata POM\n", - " Wilmar International Ltd\n", - " yes\n", - " 14-Aug\n", - " POINT (112.54361 -2.89444)\n", + " 3\n", + " Bay Ridge Pkwy & 3rd Ave\n", + " 7419 3rd Avenue,Brooklyn, NY 11209\n", + " 1185702.676\n", + " POINT (-74.02744 40.63152)\n", " \n", " \n", " 4\n", " 5\n", - " 156\n", - " ID1553\n", - " 3.593333\n", - " 98.947222\n", - " Initial Certification\n", - " 0\n", - " 0.533668\n", - " 0.028972\n", - " 382\n", - " ...\n", - " 412\n", - " 0\n", - " 0\n", - " 0.000216\n", - " 0.009296\n", - " Adolina POM\n", - " PT Perkebunan Nusantara IV (PERSERO)\n", - " yes\n", - " 14-Aug\n", - " POINT (98.94722 3.59333)\n", + " 4\n", + " Caesar's Bay Shopping Center\n", + " 8973 Bay Parkway,Brooklyn, NY 11214\n", + " 1148427.411\n", + " POINT (-74.00098 40.59321)\n", " \n", " \n", "\n", - "

    5 rows × 73 columns

    \n", "" ], "text/plain": [ - " objectid cartodb_id entity_id latitude longitude \\\n", - "0 1 59 ID1822 -1.585833 103.205556 \n", - "1 2 153 ID1847 0.077043 102.030838 \n", - "2 3 103 ID1720 1.660222 100.590611 \n", - "3 4 216 ID1945 -2.894444 112.543611 \n", - "4 5 156 ID1553 3.593333 98.947222 \n", - "\n", - " audit_stat legal_radi illegal_ra radius_umd radius_for ... \\\n", - "0 ASA 1 0 0.321764 0.225759 1099 ... \n", - "1 Renewal Certification 0 0.445960 0.258855 1979 ... \n", - "2 Initial Certification 0 0.498531 0.248520 1432 ... \n", - "3 ASA 1 0 0.662863 0.186332 226 ... \n", - "4 Initial Certification 0 0.533668 0.028972 382 ... \n", - "\n", - " carbon_r_3 peat_for_2 peat_for_3 primary_10 primary_11 \\\n", - "0 1224 0 29 0.004508 0.135391 \n", - "1 2038 7 523 0.017304 0.321418 \n", - "2 1518 0 476 0.000811 0.193365 \n", - "3 269 59 66 0.124882 0.189169 \n", - "4 412 0 0 0.000216 0.009296 \n", - "\n", - " mill_name parent_com \\\n", - "0 Muara Bulian Mill PT Inti Indosawit Subur \n", - "1 Pabrik Kelapa Sawit Batang Kulim POM PT Musim Mas \n", - "2 Kayangan and Kencana POM PT Salim Ivomas Pratama Tbk \n", - "3 PT Sarana Titian Permata POM Wilmar International Ltd \n", - "4 Adolina POM PT Perkebunan Nusantara IV (PERSERO) \n", - "\n", - " rspo_certi date_updat geometry \n", - "0 yes 14-Aug POINT (103.20556 -1.58583) \n", - "1 yes 14-Aug POINT (102.03084 0.07704) \n", - "2 yes 14-Aug POINT (100.59061 1.66022) \n", - "3 yes 14-Aug POINT (112.54361 -2.89444) \n", - "4 yes 14-Aug POINT (98.94722 3.59333) \n", - "\n", - "[5 rows x 73 columns]" + " cartodb_id field_1 name \\\n", + "0 1 0 Franklin Ave & Eastern Pkwy \n", + "1 2 1 607 Brighton Beach Ave \n", + "2 3 2 65th St & 18th Ave \n", + "3 4 3 Bay Ridge Pkwy & 3rd Ave \n", + "4 5 4 Caesar's Bay Shopping Center \n", + "\n", + " address revenue \\\n", + "0 341 Eastern Pkwy,Brooklyn, NY 11238 1321040.772 \n", + "1 607 Brighton Beach Avenue,Brooklyn, NY 11235 1268080.418 \n", + "2 6423 18th Avenue,Brooklyn, NY 11204 1248133.699 \n", + "3 7419 3rd Avenue,Brooklyn, NY 11209 1185702.676 \n", + "4 8973 Bay Parkway,Brooklyn, NY 11214 1148427.411 \n", + "\n", + " geometry \n", + "0 POINT (-73.95901 40.67109) \n", + "1 POINT (-73.96122 40.57796) \n", + "2 POINT (-73.98976 40.61912) \n", + "3 POINT (-74.02744 40.63152) \n", + "4 POINT (-74.00098 40.59321) " ] }, "execution_count": 1, @@ -233,7 +126,7 @@ "source": [ "from geopandas import read_file\n", "\n", - "gdf = read_file('http://libs.cartocdn.com/cartoframes/files/sustainable_palm_oil_production_mills.geojson')\n", + "gdf = read_file('https://libs.cartocdn.com/cartoframes/samples/starbucks_brooklyn_geocoded.geojson')\n", "gdf.head()" ] }, @@ -943,21 +836,21 @@ " return value.toLocaleString();\n", " }\n", "\n", - " function updateViewport(map) {\n", + " function updateViewport(id, map) {\n", " function updateMapInfo() {\n", - " const mapInfo$ = document.getElementById('map-info');\n", + " const mapInfo$ = document.getElementById(id);\n", " const center = map.getCenter();\n", " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -1031,7 +924,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -1046,12 +939,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
    ${popupHTML}
    `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
    ${popupHTML}
    `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1335,7 +1232,8 @@ " const map = createMap(container, basemapStyle, settings.bounds, settings.mapboxtoken);\n", "\n", " if (settings.show_info) {\n", - " updateViewport(map);\n", + " const id = mapIndex !== undefined ? `map-info-${mapIndex}` : 'map-info';\n", + " updateViewport(id, map);\n", " }\n", "\n", " if (settings.camera) {\n", @@ -1409,7 +1307,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1450,12 +1348,12 @@ " .addEventListener('ready', () => {\n", " const basecolor = '';\n", " const basemap = 'Positron';\n", - " const bounds = [[-88.55981399975727, -10.316332999911578], [160.21845000011172, 15.582959000387486]];\n", + " const bounds = [[-74.03313, 40.57796], [-73.87015, 40.6915]];\n", " const camera = null;\n", " const has_legends = 'False' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\n", "widgets": []}];\n", + " const layers = [{"credentials": null, "data": "H4sIAPQNyl8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAPQNyl8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -1479,7 +1377,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, diff --git a/examples/data_management/load_data_from_json.ipynb b/docs/examples/data_management/read_json.ipynb similarity index 69% rename from examples/data_management/load_data_from_json.ipynb rename to docs/examples/data_management/read_json.ipynb index 6645aa10f..fe2b7960d 100644 --- a/examples/data_management/load_data_from_json.ipynb +++ b/docs/examples/data_management/read_json.ipynb @@ -4,9 +4,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Load data from a JSON file\n", + "## Read data from a JSON file\n", "\n", - "This example illustrates how to load data from a remote JSON file using pandas and the process of preparing the data for spatial operations." + "This example illustrates how to read data from a remote JSON file using pandas and the process of preparing the data for spatial operations." ] }, { @@ -15,25 +15,13 @@ "metadata": { "scrolled": true }, - "outputs": [ - { - "data": { - "text/plain": [ - "dict_keys(['datasetid', 'recordid', 'fields', 'geometry', 'record_timestamp'])" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "import requests\n", "\n", "# Download the JSON file\n", - "remote_file_path = 'http://opendata.paris.fr/api/records/1.0/search/?dataset=arbresremarquablesparis&rows=200'\n", - "data_json = requests.get(remote_file_path).json()['records']\n", - "data_json[0].keys()" + "remote_file_path = 'https://libs.cartocdn.com/cartoframes/samples/arbres_remarquables_paris.json'\n", + "data_json = requests.get(remote_file_path).json()" ] }, { @@ -77,134 +65,134 @@ " fields.remarquable\n", " fields.idbase\n", " fields.genre\n", + " fields.complementadresse\n", " fields.typeemplacement\n", " fields.dateplantation\n", " geometry.type\n", " geometry.coordinates\n", " fields.varieteoucultivar\n", - " fields.complementadresse\n", " \n", " \n", " \n", " \n", " 0\n", " arbresremarquablesparis\n", - " 29a0ea77b5379a1e15b5c34d0ed8bbadb9f5789c\n", - " 2020-05-08T10:45:25.056000+00:00\n", - " [48.8542732882, 2.33573525468]\n", - " Paulownia\n", - " 7493\n", - " 000101001\n", - " PARIS 6E ARRDT\n", - " 295.0\n", - " 20.0\n", + " a236960f295288698ca57fdccfd9825547ffb4d0\n", + " 2019-10-04T10:00:41.063000+00:00\n", + " [48.8630096006, 2.2417737512]\n", + " Pin\n", + " 49884\n", + " 000901001\n", + " BOIS DE BOULOGNE\n", + " 241.0\n", + " 30.0\n", " ...\n", " M\n", " 1\n", - " 216766.0\n", - " Paulownia\n", + " 2002349.0\n", + " Pinus\n", + " 16-08\n", " Arbre\n", - " 1999-01-25T01:00:00+00:00\n", + " 1882-01-01T00:09:21+00:00\n", " Point\n", - " [2.33573525468, 48.8542732882]\n", - " NaN\n", + " [2.2417737512, 48.8630096006]\n", " NaN\n", " \n", " \n", " 1\n", " arbresremarquablesparis\n", - " 24ab994e9b2b51c4a27394ec52f038c4faa5fc1c\n", - " 2020-05-08T10:45:25.056000+00:00\n", - " [48.8217882346, 2.3228497157]\n", + " d7635937c3636051c99963676d3a97dd4d9dd8c9\n", + " 2019-10-04T10:00:41.063000+00:00\n", + " [48.8731110898, 2.24886478886]\n", " Hêtre\n", - " 57013\n", - " 00000174\n", - " PARIS 14E ARRDT\n", - " 310.0\n", - " 15.0\n", + " 52761\n", + " 000701004\n", + " BOIS DE BOULOGNE\n", + " 231.0\n", + " 16.0\n", " ...\n", " M\n", " 1\n", - " 121632.0\n", + " 2002354.0\n", " Fagus\n", + " 16-17\n", " Arbre\n", - " 1700-01-01T00:09:21+00:00\n", + " 1868-01-01T00:09:21+00:00\n", " Point\n", - " [2.3228497157, 48.8217882346]\n", - " ''Atropunicea''\n", - " 14-09\n", + " [2.24886478886, 48.8731110898]\n", + " ''Pendula''\n", " \n", " \n", " 2\n", " arbresremarquablesparis\n", - " 2138bdaedd6c46f681ff30904f8017a292fc2b3b\n", - " 2020-05-08T10:45:25.056000+00:00\n", - " [48.8648326277, 2.25217460792]\n", - " Plaqueminier\n", - " 58739\n", - " 000501002\n", - " BOIS DE BOULOGNE\n", - " 146.0\n", - " 15.0\n", + " 460e8eccd3ebc816f16317702223bf406e7d75e6\n", + " 2019-10-04T10:00:41.063000+00:00\n", + " [48.8448875264, 2.35366916319]\n", + " Hêtre\n", + " 62456\n", + " 00000075\n", + " PARIS 5E ARRDT\n", + " 85.0\n", + " 3.0\n", " ...\n", - " A\n", + " M\n", " 1\n", - " 2002388.0\n", - " Diospyros\n", + " 132669.0\n", + " Fagus\n", + " NaN\n", " Arbre\n", - " 1897-01-01T00:09:21+00:00\n", + " 1905-01-01T00:09:21+00:00\n", " Point\n", - " [2.25217460792, 48.8648326277]\n", - " NaN\n", - " 16-13\n", + " [2.35366916319, 48.8448875264]\n", + " ''Tortuosa''\n", " \n", " \n", " 3\n", " arbresremarquablesparis\n", - " 63bc7232fe659c4585923d9e65e5275418c359b9\n", - " 2020-05-08T10:45:25.056000+00:00\n", - " [48.8564741998, 2.39461847904]\n", - " Platane\n", - " 70026\n", - " 001802036\n", - " PARIS 20E ARRDT\n", - " 407.0\n", - " 23.0\n", + " b60b80e0f8327afba6d0c513b0b6b85639e516b6\n", + " 2019-10-04T10:00:41.063000+00:00\n", + " [48.8787029872, 2.30647417371]\n", + " Erable\n", + " 68801\n", + " 00NO0144\n", + " PARIS 8E ARRDT\n", + " 450.0\n", + " 28.0\n", " ...\n", " M\n", " 1\n", - " 223748.0\n", - " Platanus\n", + " 305507.0\n", + " Acer\n", + " 08-01\n", " Arbre\n", " 1700-01-01T00:09:21+00:00\n", " Point\n", - " [2.39461847904, 48.8564741998]\n", + " [2.30647417371, 48.8787029872]\n", " NaN\n", - " 148\n", " \n", " \n", " 4\n", " arbresremarquablesparis\n", - " 602c7b2fd878c56e5efc532739abb28d86d9f365\n", - " 2020-05-08T10:45:25.056000+00:00\n", - " [48.831216573, 2.41167739693]\n", - " Cryptomeria\n", - " 85651\n", - " 12-13\n", - " BOIS DE VINCENNES\n", - " 122.0\n", - " 13.0\n", + " 47e163d6f0536bc9e26ba2993447c6f50b14a6f6\n", + " 2019-10-04T10:00:41.063000+00:00\n", + " [48.8671184424, 2.25294211329]\n", + " Platane\n", + " 82341\n", + " 001201001\n", + " BOIS DE BOULOGNE\n", + " 534.0\n", + " 45.0\n", " ...\n", " M\n", " 1\n", - " 2002359.0\n", - " Cryptomeria\n", + " 2002389.0\n", + " Platanus\n", + " 16-10\n", " Arbre\n", - " 1893-01-01T00:09:21+00:00\n", + " 1872-01-01T00:09:21+00:00\n", " Point\n", - " [2.41167739693, 48.831216573]\n", + " [2.25294211329, 48.8671184424]\n", " NaN\n", - " 12-13\n", " \n", " \n", "\n", @@ -213,60 +201,53 @@ ], "text/plain": [ " datasetid recordid \\\n", - "0 arbresremarquablesparis 29a0ea77b5379a1e15b5c34d0ed8bbadb9f5789c \n", - "1 arbresremarquablesparis 24ab994e9b2b51c4a27394ec52f038c4faa5fc1c \n", - "2 arbresremarquablesparis 2138bdaedd6c46f681ff30904f8017a292fc2b3b \n", - "3 arbresremarquablesparis 63bc7232fe659c4585923d9e65e5275418c359b9 \n", - "4 arbresremarquablesparis 602c7b2fd878c56e5efc532739abb28d86d9f365 \n", + "0 arbresremarquablesparis a236960f295288698ca57fdccfd9825547ffb4d0 \n", + "1 arbresremarquablesparis d7635937c3636051c99963676d3a97dd4d9dd8c9 \n", + "2 arbresremarquablesparis 460e8eccd3ebc816f16317702223bf406e7d75e6 \n", + "3 arbresremarquablesparis b60b80e0f8327afba6d0c513b0b6b85639e516b6 \n", + "4 arbresremarquablesparis 47e163d6f0536bc9e26ba2993447c6f50b14a6f6 \n", "\n", " record_timestamp fields.geom_x_y \\\n", - "0 2020-05-08T10:45:25.056000+00:00 [48.8542732882, 2.33573525468] \n", - "1 2020-05-08T10:45:25.056000+00:00 [48.8217882346, 2.3228497157] \n", - "2 2020-05-08T10:45:25.056000+00:00 [48.8648326277, 2.25217460792] \n", - "3 2020-05-08T10:45:25.056000+00:00 [48.8564741998, 2.39461847904] \n", - "4 2020-05-08T10:45:25.056000+00:00 [48.831216573, 2.41167739693] \n", + "0 2019-10-04T10:00:41.063000+00:00 [48.8630096006, 2.2417737512] \n", + "1 2019-10-04T10:00:41.063000+00:00 [48.8731110898, 2.24886478886] \n", + "2 2019-10-04T10:00:41.063000+00:00 [48.8448875264, 2.35366916319] \n", + "3 2019-10-04T10:00:41.063000+00:00 [48.8787029872, 2.30647417371] \n", + "4 2019-10-04T10:00:41.063000+00:00 [48.8671184424, 2.25294211329] \n", "\n", " fields.libellefrancais fields.objectid fields.idemplacement \\\n", - "0 Paulownia 7493 000101001 \n", - "1 Hêtre 57013 00000174 \n", - "2 Plaqueminier 58739 000501002 \n", - "3 Platane 70026 001802036 \n", - "4 Cryptomeria 85651 12-13 \n", + "0 Pin 49884 000901001 \n", + "1 Hêtre 52761 000701004 \n", + "2 Hêtre 62456 00000075 \n", + "3 Erable 68801 00NO0144 \n", + "4 Platane 82341 001201001 \n", "\n", " fields.arrondissement fields.circonferenceencm fields.hauteurenm ... \\\n", - "0 PARIS 6E ARRDT 295.0 20.0 ... \n", - "1 PARIS 14E ARRDT 310.0 15.0 ... \n", - "2 BOIS DE BOULOGNE 146.0 15.0 ... \n", - "3 PARIS 20E ARRDT 407.0 23.0 ... \n", - "4 BOIS DE VINCENNES 122.0 13.0 ... \n", + "0 BOIS DE BOULOGNE 241.0 30.0 ... \n", + "1 BOIS DE BOULOGNE 231.0 16.0 ... \n", + "2 PARIS 5E ARRDT 85.0 3.0 ... \n", + "3 PARIS 8E ARRDT 450.0 28.0 ... \n", + "4 BOIS DE BOULOGNE 534.0 45.0 ... \n", "\n", " fields.stadedeveloppement fields.remarquable fields.idbase fields.genre \\\n", - "0 M 1 216766.0 Paulownia \n", - "1 M 1 121632.0 Fagus \n", - "2 A 1 2002388.0 Diospyros \n", - "3 M 1 223748.0 Platanus \n", - "4 M 1 2002359.0 Cryptomeria \n", - "\n", - " fields.typeemplacement fields.dateplantation geometry.type \\\n", - "0 Arbre 1999-01-25T01:00:00+00:00 Point \n", - "1 Arbre 1700-01-01T00:09:21+00:00 Point \n", - "2 Arbre 1897-01-01T00:09:21+00:00 Point \n", - "3 Arbre 1700-01-01T00:09:21+00:00 Point \n", - "4 Arbre 1893-01-01T00:09:21+00:00 Point \n", - "\n", - " geometry.coordinates fields.varieteoucultivar \\\n", - "0 [2.33573525468, 48.8542732882] NaN \n", - "1 [2.3228497157, 48.8217882346] ''Atropunicea'' \n", - "2 [2.25217460792, 48.8648326277] NaN \n", - "3 [2.39461847904, 48.8564741998] NaN \n", - "4 [2.41167739693, 48.831216573] NaN \n", - "\n", - " fields.complementadresse \n", - "0 NaN \n", - "1 14-09 \n", - "2 16-13 \n", - "3 148 \n", - "4 12-13 \n", + "0 M 1 2002349.0 Pinus \n", + "1 M 1 2002354.0 Fagus \n", + "2 M 1 132669.0 Fagus \n", + "3 M 1 305507.0 Acer \n", + "4 M 1 2002389.0 Platanus \n", + "\n", + " fields.complementadresse fields.typeemplacement fields.dateplantation \\\n", + "0 16-08 Arbre 1882-01-01T00:09:21+00:00 \n", + "1 16-17 Arbre 1868-01-01T00:09:21+00:00 \n", + "2 NaN Arbre 1905-01-01T00:09:21+00:00 \n", + "3 08-01 Arbre 1700-01-01T00:09:21+00:00 \n", + "4 16-10 Arbre 1872-01-01T00:09:21+00:00 \n", + "\n", + " geometry.type geometry.coordinates fields.varieteoucultivar \n", + "0 Point [2.2417737512, 48.8630096006] NaN \n", + "1 Point [2.24886478886, 48.8731110898] ''Pendula'' \n", + "2 Point [2.35366916319, 48.8448875264] ''Tortuosa'' \n", + "3 Point [2.30647417371, 48.8787029872] NaN \n", + "4 Point [2.25294211329, 48.8671184424] NaN \n", "\n", "[5 rows x 24 columns]" ] @@ -280,7 +261,7 @@ "from pandas import json_normalize\n", "\n", "# Normalize the data\n", - "df = json_normalize(data_json)\n", + "df = json_normalize(data_json['records'])\n", "df.head()" ] }, @@ -323,13 +304,13 @@ " ...\n", " fields.idbase\n", " fields.genre\n", + " fields.complementadresse\n", " fields.typeemplacement\n", " fields.dateplantation\n", " geometry.type\n", " geometry.coordinates\n", " fields.varieteoucultivar\n", - " fields.complementadresse\n", - " lng\n", + " lon\n", " lat\n", " \n", " \n", @@ -337,122 +318,122 @@ " \n", " 0\n", " arbresremarquablesparis\n", - " 29a0ea77b5379a1e15b5c34d0ed8bbadb9f5789c\n", - " 2020-05-08T10:45:25.056000+00:00\n", - " [48.8542732882, 2.33573525468]\n", - " Paulownia\n", - " 7493\n", - " 000101001\n", - " PARIS 6E ARRDT\n", - " 295.0\n", - " 20.0\n", + " a236960f295288698ca57fdccfd9825547ffb4d0\n", + " 2019-10-04T10:00:41.063000+00:00\n", + " [48.8630096006, 2.2417737512]\n", + " Pin\n", + " 49884\n", + " 000901001\n", + " BOIS DE BOULOGNE\n", + " 241.0\n", + " 30.0\n", " ...\n", - " 216766.0\n", - " Paulownia\n", + " 2002349.0\n", + " Pinus\n", + " 16-08\n", " Arbre\n", - " 1999-01-25T01:00:00+00:00\n", + " 1882-01-01T00:09:21+00:00\n", " Point\n", - " [2.33573525468, 48.8542732882]\n", - " NaN\n", + " [2.2417737512, 48.8630096006]\n", " NaN\n", - " 2.335735\n", - " 48.854273\n", + " 2.241774\n", + " 48.863010\n", " \n", " \n", " 1\n", " arbresremarquablesparis\n", - " 24ab994e9b2b51c4a27394ec52f038c4faa5fc1c\n", - " 2020-05-08T10:45:25.056000+00:00\n", - " [48.8217882346, 2.3228497157]\n", + " d7635937c3636051c99963676d3a97dd4d9dd8c9\n", + " 2019-10-04T10:00:41.063000+00:00\n", + " [48.8731110898, 2.24886478886]\n", " Hêtre\n", - " 57013\n", - " 00000174\n", - " PARIS 14E ARRDT\n", - " 310.0\n", - " 15.0\n", + " 52761\n", + " 000701004\n", + " BOIS DE BOULOGNE\n", + " 231.0\n", + " 16.0\n", " ...\n", - " 121632.0\n", + " 2002354.0\n", " Fagus\n", + " 16-17\n", " Arbre\n", - " 1700-01-01T00:09:21+00:00\n", + " 1868-01-01T00:09:21+00:00\n", " Point\n", - " [2.3228497157, 48.8217882346]\n", - " ''Atropunicea''\n", - " 14-09\n", - " 2.322850\n", - " 48.821788\n", + " [2.24886478886, 48.8731110898]\n", + " ''Pendula''\n", + " 2.248865\n", + " 48.873111\n", " \n", " \n", " 2\n", " arbresremarquablesparis\n", - " 2138bdaedd6c46f681ff30904f8017a292fc2b3b\n", - " 2020-05-08T10:45:25.056000+00:00\n", - " [48.8648326277, 2.25217460792]\n", - " Plaqueminier\n", - " 58739\n", - " 000501002\n", - " BOIS DE BOULOGNE\n", - " 146.0\n", - " 15.0\n", + " 460e8eccd3ebc816f16317702223bf406e7d75e6\n", + " 2019-10-04T10:00:41.063000+00:00\n", + " [48.8448875264, 2.35366916319]\n", + " Hêtre\n", + " 62456\n", + " 00000075\n", + " PARIS 5E ARRDT\n", + " 85.0\n", + " 3.0\n", " ...\n", - " 2002388.0\n", - " Diospyros\n", + " 132669.0\n", + " Fagus\n", + " NaN\n", " Arbre\n", - " 1897-01-01T00:09:21+00:00\n", + " 1905-01-01T00:09:21+00:00\n", " Point\n", - " [2.25217460792, 48.8648326277]\n", - " NaN\n", - " 16-13\n", - " 2.252175\n", - " 48.864833\n", + " [2.35366916319, 48.8448875264]\n", + " ''Tortuosa''\n", + " 2.353669\n", + " 48.844888\n", " \n", " \n", " 3\n", " arbresremarquablesparis\n", - " 63bc7232fe659c4585923d9e65e5275418c359b9\n", - " 2020-05-08T10:45:25.056000+00:00\n", - " [48.8564741998, 2.39461847904]\n", - " Platane\n", - " 70026\n", - " 001802036\n", - " PARIS 20E ARRDT\n", - " 407.0\n", - " 23.0\n", + " b60b80e0f8327afba6d0c513b0b6b85639e516b6\n", + " 2019-10-04T10:00:41.063000+00:00\n", + " [48.8787029872, 2.30647417371]\n", + " Erable\n", + " 68801\n", + " 00NO0144\n", + " PARIS 8E ARRDT\n", + " 450.0\n", + " 28.0\n", " ...\n", - " 223748.0\n", - " Platanus\n", + " 305507.0\n", + " Acer\n", + " 08-01\n", " Arbre\n", " 1700-01-01T00:09:21+00:00\n", " Point\n", - " [2.39461847904, 48.8564741998]\n", + " [2.30647417371, 48.8787029872]\n", " NaN\n", - " 148\n", - " 2.394618\n", - " 48.856474\n", + " 2.306474\n", + " 48.878703\n", " \n", " \n", " 4\n", " arbresremarquablesparis\n", - " 602c7b2fd878c56e5efc532739abb28d86d9f365\n", - " 2020-05-08T10:45:25.056000+00:00\n", - " [48.831216573, 2.41167739693]\n", - " Cryptomeria\n", - " 85651\n", - " 12-13\n", - " BOIS DE VINCENNES\n", - " 122.0\n", - " 13.0\n", + " 47e163d6f0536bc9e26ba2993447c6f50b14a6f6\n", + " 2019-10-04T10:00:41.063000+00:00\n", + " [48.8671184424, 2.25294211329]\n", + " Platane\n", + " 82341\n", + " 001201001\n", + " BOIS DE BOULOGNE\n", + " 534.0\n", + " 45.0\n", " ...\n", - " 2002359.0\n", - " Cryptomeria\n", + " 2002389.0\n", + " Platanus\n", + " 16-10\n", " Arbre\n", - " 1893-01-01T00:09:21+00:00\n", + " 1872-01-01T00:09:21+00:00\n", " Point\n", - " [2.41167739693, 48.831216573]\n", + " [2.25294211329, 48.8671184424]\n", " NaN\n", - " 12-13\n", - " 2.411677\n", - " 48.831217\n", + " 2.252942\n", + " 48.867118\n", " \n", " \n", "\n", @@ -461,53 +442,53 @@ ], "text/plain": [ " datasetid recordid \\\n", - "0 arbresremarquablesparis 29a0ea77b5379a1e15b5c34d0ed8bbadb9f5789c \n", - "1 arbresremarquablesparis 24ab994e9b2b51c4a27394ec52f038c4faa5fc1c \n", - "2 arbresremarquablesparis 2138bdaedd6c46f681ff30904f8017a292fc2b3b \n", - "3 arbresremarquablesparis 63bc7232fe659c4585923d9e65e5275418c359b9 \n", - "4 arbresremarquablesparis 602c7b2fd878c56e5efc532739abb28d86d9f365 \n", + "0 arbresremarquablesparis a236960f295288698ca57fdccfd9825547ffb4d0 \n", + "1 arbresremarquablesparis d7635937c3636051c99963676d3a97dd4d9dd8c9 \n", + "2 arbresremarquablesparis 460e8eccd3ebc816f16317702223bf406e7d75e6 \n", + "3 arbresremarquablesparis b60b80e0f8327afba6d0c513b0b6b85639e516b6 \n", + "4 arbresremarquablesparis 47e163d6f0536bc9e26ba2993447c6f50b14a6f6 \n", "\n", " record_timestamp fields.geom_x_y \\\n", - "0 2020-05-08T10:45:25.056000+00:00 [48.8542732882, 2.33573525468] \n", - "1 2020-05-08T10:45:25.056000+00:00 [48.8217882346, 2.3228497157] \n", - "2 2020-05-08T10:45:25.056000+00:00 [48.8648326277, 2.25217460792] \n", - "3 2020-05-08T10:45:25.056000+00:00 [48.8564741998, 2.39461847904] \n", - "4 2020-05-08T10:45:25.056000+00:00 [48.831216573, 2.41167739693] \n", + "0 2019-10-04T10:00:41.063000+00:00 [48.8630096006, 2.2417737512] \n", + "1 2019-10-04T10:00:41.063000+00:00 [48.8731110898, 2.24886478886] \n", + "2 2019-10-04T10:00:41.063000+00:00 [48.8448875264, 2.35366916319] \n", + "3 2019-10-04T10:00:41.063000+00:00 [48.8787029872, 2.30647417371] \n", + "4 2019-10-04T10:00:41.063000+00:00 [48.8671184424, 2.25294211329] \n", "\n", " fields.libellefrancais fields.objectid fields.idemplacement \\\n", - "0 Paulownia 7493 000101001 \n", - "1 Hêtre 57013 00000174 \n", - "2 Plaqueminier 58739 000501002 \n", - "3 Platane 70026 001802036 \n", - "4 Cryptomeria 85651 12-13 \n", + "0 Pin 49884 000901001 \n", + "1 Hêtre 52761 000701004 \n", + "2 Hêtre 62456 00000075 \n", + "3 Erable 68801 00NO0144 \n", + "4 Platane 82341 001201001 \n", "\n", " fields.arrondissement fields.circonferenceencm fields.hauteurenm ... \\\n", - "0 PARIS 6E ARRDT 295.0 20.0 ... \n", - "1 PARIS 14E ARRDT 310.0 15.0 ... \n", - "2 BOIS DE BOULOGNE 146.0 15.0 ... \n", - "3 PARIS 20E ARRDT 407.0 23.0 ... \n", - "4 BOIS DE VINCENNES 122.0 13.0 ... \n", - "\n", - " fields.idbase fields.genre fields.typeemplacement \\\n", - "0 216766.0 Paulownia Arbre \n", - "1 121632.0 Fagus Arbre \n", - "2 2002388.0 Diospyros Arbre \n", - "3 223748.0 Platanus Arbre \n", - "4 2002359.0 Cryptomeria Arbre \n", + "0 BOIS DE BOULOGNE 241.0 30.0 ... \n", + "1 BOIS DE BOULOGNE 231.0 16.0 ... \n", + "2 PARIS 5E ARRDT 85.0 3.0 ... \n", + "3 PARIS 8E ARRDT 450.0 28.0 ... \n", + "4 BOIS DE BOULOGNE 534.0 45.0 ... \n", + "\n", + " fields.idbase fields.genre fields.complementadresse fields.typeemplacement \\\n", + "0 2002349.0 Pinus 16-08 Arbre \n", + "1 2002354.0 Fagus 16-17 Arbre \n", + "2 132669.0 Fagus NaN Arbre \n", + "3 305507.0 Acer 08-01 Arbre \n", + "4 2002389.0 Platanus 16-10 Arbre \n", "\n", " fields.dateplantation geometry.type geometry.coordinates \\\n", - "0 1999-01-25T01:00:00+00:00 Point [2.33573525468, 48.8542732882] \n", - "1 1700-01-01T00:09:21+00:00 Point [2.3228497157, 48.8217882346] \n", - "2 1897-01-01T00:09:21+00:00 Point [2.25217460792, 48.8648326277] \n", - "3 1700-01-01T00:09:21+00:00 Point [2.39461847904, 48.8564741998] \n", - "4 1893-01-01T00:09:21+00:00 Point [2.41167739693, 48.831216573] \n", - "\n", - " fields.varieteoucultivar fields.complementadresse lng lat \n", - "0 NaN NaN 2.335735 48.854273 \n", - "1 ''Atropunicea'' 14-09 2.322850 48.821788 \n", - "2 NaN 16-13 2.252175 48.864833 \n", - "3 NaN 148 2.394618 48.856474 \n", - "4 NaN 12-13 2.411677 48.831217 \n", + "0 1882-01-01T00:09:21+00:00 Point [2.2417737512, 48.8630096006] \n", + "1 1868-01-01T00:09:21+00:00 Point [2.24886478886, 48.8731110898] \n", + "2 1905-01-01T00:09:21+00:00 Point [2.35366916319, 48.8448875264] \n", + "3 1700-01-01T00:09:21+00:00 Point [2.30647417371, 48.8787029872] \n", + "4 1872-01-01T00:09:21+00:00 Point [2.25294211329, 48.8671184424] \n", + "\n", + " fields.varieteoucultivar lon lat \n", + "0 NaN 2.241774 48.863010 \n", + "1 ''Pendula'' 2.248865 48.873111 \n", + "2 ''Tortuosa'' 2.353669 48.844888 \n", + "3 NaN 2.306474 48.878703 \n", + "4 NaN 2.252942 48.867118 \n", "\n", "[5 rows x 26 columns]" ] @@ -518,8 +499,8 @@ } ], "source": [ - "# Add Latitude and Longitude columns\n", - "df['lng'] = df.apply(lambda row: row['geometry.coordinates'][0], axis=1)\n", + "# Add longitude and latitude columns\n", + "df['lon'] = df.apply(lambda row: row['geometry.coordinates'][0], axis=1)\n", "df['lat'] = df.apply(lambda row: row['geometry.coordinates'][1], axis=1)\n", "df.head()" ] @@ -562,13 +543,13 @@ " fields.hauteurenm\n", " ...\n", " fields.genre\n", + " fields.complementadresse\n", " fields.typeemplacement\n", " fields.dateplantation\n", " geometry.type\n", " geometry.coordinates\n", " fields.varieteoucultivar\n", - " fields.complementadresse\n", - " lng\n", + " lon\n", " lat\n", " geometry\n", " \n", @@ -577,122 +558,122 @@ " \n", " 0\n", " arbresremarquablesparis\n", - " 29a0ea77b5379a1e15b5c34d0ed8bbadb9f5789c\n", - " 2020-05-08T10:45:25.056000+00:00\n", - " [48.8542732882, 2.33573525468]\n", - " Paulownia\n", - " 7493\n", - " 000101001\n", - " PARIS 6E ARRDT\n", - " 295.0\n", - " 20.0\n", + " a236960f295288698ca57fdccfd9825547ffb4d0\n", + " 2019-10-04T10:00:41.063000+00:00\n", + " [48.8630096006, 2.2417737512]\n", + " Pin\n", + " 49884\n", + " 000901001\n", + " BOIS DE BOULOGNE\n", + " 241.0\n", + " 30.0\n", " ...\n", - " Paulownia\n", + " Pinus\n", + " 16-08\n", " Arbre\n", - " 1999-01-25T01:00:00+00:00\n", + " 1882-01-01T00:09:21+00:00\n", " Point\n", - " [2.33573525468, 48.8542732882]\n", + " [2.2417737512, 48.8630096006]\n", " NaN\n", - " NaN\n", - " 2.335735\n", - " 48.854273\n", - " POINT (2.33574 48.85427)\n", + " 2.241774\n", + " 48.863010\n", + " POINT (2.24177 48.86301)\n", " \n", " \n", " 1\n", " arbresremarquablesparis\n", - " 24ab994e9b2b51c4a27394ec52f038c4faa5fc1c\n", - " 2020-05-08T10:45:25.056000+00:00\n", - " [48.8217882346, 2.3228497157]\n", + " d7635937c3636051c99963676d3a97dd4d9dd8c9\n", + " 2019-10-04T10:00:41.063000+00:00\n", + " [48.8731110898, 2.24886478886]\n", " Hêtre\n", - " 57013\n", - " 00000174\n", - " PARIS 14E ARRDT\n", - " 310.0\n", - " 15.0\n", + " 52761\n", + " 000701004\n", + " BOIS DE BOULOGNE\n", + " 231.0\n", + " 16.0\n", " ...\n", " Fagus\n", + " 16-17\n", " Arbre\n", - " 1700-01-01T00:09:21+00:00\n", + " 1868-01-01T00:09:21+00:00\n", " Point\n", - " [2.3228497157, 48.8217882346]\n", - " ''Atropunicea''\n", - " 14-09\n", - " 2.322850\n", - " 48.821788\n", - " POINT (2.32285 48.82179)\n", + " [2.24886478886, 48.8731110898]\n", + " ''Pendula''\n", + " 2.248865\n", + " 48.873111\n", + " POINT (2.24886 48.87311)\n", " \n", " \n", " 2\n", " arbresremarquablesparis\n", - " 2138bdaedd6c46f681ff30904f8017a292fc2b3b\n", - " 2020-05-08T10:45:25.056000+00:00\n", - " [48.8648326277, 2.25217460792]\n", - " Plaqueminier\n", - " 58739\n", - " 000501002\n", - " BOIS DE BOULOGNE\n", - " 146.0\n", - " 15.0\n", + " 460e8eccd3ebc816f16317702223bf406e7d75e6\n", + " 2019-10-04T10:00:41.063000+00:00\n", + " [48.8448875264, 2.35366916319]\n", + " Hêtre\n", + " 62456\n", + " 00000075\n", + " PARIS 5E ARRDT\n", + " 85.0\n", + " 3.0\n", " ...\n", - " Diospyros\n", + " Fagus\n", + " NaN\n", " Arbre\n", - " 1897-01-01T00:09:21+00:00\n", + " 1905-01-01T00:09:21+00:00\n", " Point\n", - " [2.25217460792, 48.8648326277]\n", - " NaN\n", - " 16-13\n", - " 2.252175\n", - " 48.864833\n", - " POINT (2.25217 48.86483)\n", + " [2.35366916319, 48.8448875264]\n", + " ''Tortuosa''\n", + " 2.353669\n", + " 48.844888\n", + " POINT (2.35367 48.84489)\n", " \n", " \n", " 3\n", " arbresremarquablesparis\n", - " 63bc7232fe659c4585923d9e65e5275418c359b9\n", - " 2020-05-08T10:45:25.056000+00:00\n", - " [48.8564741998, 2.39461847904]\n", - " Platane\n", - " 70026\n", - " 001802036\n", - " PARIS 20E ARRDT\n", - " 407.0\n", - " 23.0\n", + " b60b80e0f8327afba6d0c513b0b6b85639e516b6\n", + " 2019-10-04T10:00:41.063000+00:00\n", + " [48.8787029872, 2.30647417371]\n", + " Erable\n", + " 68801\n", + " 00NO0144\n", + " PARIS 8E ARRDT\n", + " 450.0\n", + " 28.0\n", " ...\n", - " Platanus\n", + " Acer\n", + " 08-01\n", " Arbre\n", " 1700-01-01T00:09:21+00:00\n", " Point\n", - " [2.39461847904, 48.8564741998]\n", + " [2.30647417371, 48.8787029872]\n", " NaN\n", - " 148\n", - " 2.394618\n", - " 48.856474\n", - " POINT (2.39462 48.85647)\n", + " 2.306474\n", + " 48.878703\n", + " POINT (2.30647 48.87870)\n", " \n", " \n", " 4\n", " arbresremarquablesparis\n", - " 602c7b2fd878c56e5efc532739abb28d86d9f365\n", - " 2020-05-08T10:45:25.056000+00:00\n", - " [48.831216573, 2.41167739693]\n", - " Cryptomeria\n", - " 85651\n", - " 12-13\n", - " BOIS DE VINCENNES\n", - " 122.0\n", - " 13.0\n", + " 47e163d6f0536bc9e26ba2993447c6f50b14a6f6\n", + " 2019-10-04T10:00:41.063000+00:00\n", + " [48.8671184424, 2.25294211329]\n", + " Platane\n", + " 82341\n", + " 001201001\n", + " BOIS DE BOULOGNE\n", + " 534.0\n", + " 45.0\n", " ...\n", - " Cryptomeria\n", + " Platanus\n", + " 16-10\n", " Arbre\n", - " 1893-01-01T00:09:21+00:00\n", + " 1872-01-01T00:09:21+00:00\n", " Point\n", - " [2.41167739693, 48.831216573]\n", + " [2.25294211329, 48.8671184424]\n", " NaN\n", - " 12-13\n", - " 2.411677\n", - " 48.831217\n", - " POINT (2.41168 48.83122)\n", + " 2.252942\n", + " 48.867118\n", + " POINT (2.25294 48.86712)\n", " \n", " \n", "\n", @@ -701,53 +682,53 @@ ], "text/plain": [ " datasetid recordid \\\n", - "0 arbresremarquablesparis 29a0ea77b5379a1e15b5c34d0ed8bbadb9f5789c \n", - "1 arbresremarquablesparis 24ab994e9b2b51c4a27394ec52f038c4faa5fc1c \n", - "2 arbresremarquablesparis 2138bdaedd6c46f681ff30904f8017a292fc2b3b \n", - "3 arbresremarquablesparis 63bc7232fe659c4585923d9e65e5275418c359b9 \n", - "4 arbresremarquablesparis 602c7b2fd878c56e5efc532739abb28d86d9f365 \n", + "0 arbresremarquablesparis a236960f295288698ca57fdccfd9825547ffb4d0 \n", + "1 arbresremarquablesparis d7635937c3636051c99963676d3a97dd4d9dd8c9 \n", + "2 arbresremarquablesparis 460e8eccd3ebc816f16317702223bf406e7d75e6 \n", + "3 arbresremarquablesparis b60b80e0f8327afba6d0c513b0b6b85639e516b6 \n", + "4 arbresremarquablesparis 47e163d6f0536bc9e26ba2993447c6f50b14a6f6 \n", "\n", " record_timestamp fields.geom_x_y \\\n", - "0 2020-05-08T10:45:25.056000+00:00 [48.8542732882, 2.33573525468] \n", - "1 2020-05-08T10:45:25.056000+00:00 [48.8217882346, 2.3228497157] \n", - "2 2020-05-08T10:45:25.056000+00:00 [48.8648326277, 2.25217460792] \n", - "3 2020-05-08T10:45:25.056000+00:00 [48.8564741998, 2.39461847904] \n", - "4 2020-05-08T10:45:25.056000+00:00 [48.831216573, 2.41167739693] \n", + "0 2019-10-04T10:00:41.063000+00:00 [48.8630096006, 2.2417737512] \n", + "1 2019-10-04T10:00:41.063000+00:00 [48.8731110898, 2.24886478886] \n", + "2 2019-10-04T10:00:41.063000+00:00 [48.8448875264, 2.35366916319] \n", + "3 2019-10-04T10:00:41.063000+00:00 [48.8787029872, 2.30647417371] \n", + "4 2019-10-04T10:00:41.063000+00:00 [48.8671184424, 2.25294211329] \n", "\n", " fields.libellefrancais fields.objectid fields.idemplacement \\\n", - "0 Paulownia 7493 000101001 \n", - "1 Hêtre 57013 00000174 \n", - "2 Plaqueminier 58739 000501002 \n", - "3 Platane 70026 001802036 \n", - "4 Cryptomeria 85651 12-13 \n", + "0 Pin 49884 000901001 \n", + "1 Hêtre 52761 000701004 \n", + "2 Hêtre 62456 00000075 \n", + "3 Erable 68801 00NO0144 \n", + "4 Platane 82341 001201001 \n", "\n", " fields.arrondissement fields.circonferenceencm fields.hauteurenm ... \\\n", - "0 PARIS 6E ARRDT 295.0 20.0 ... \n", - "1 PARIS 14E ARRDT 310.0 15.0 ... \n", - "2 BOIS DE BOULOGNE 146.0 15.0 ... \n", - "3 PARIS 20E ARRDT 407.0 23.0 ... \n", - "4 BOIS DE VINCENNES 122.0 13.0 ... \n", - "\n", - " fields.genre fields.typeemplacement fields.dateplantation \\\n", - "0 Paulownia Arbre 1999-01-25T01:00:00+00:00 \n", - "1 Fagus Arbre 1700-01-01T00:09:21+00:00 \n", - "2 Diospyros Arbre 1897-01-01T00:09:21+00:00 \n", - "3 Platanus Arbre 1700-01-01T00:09:21+00:00 \n", - "4 Cryptomeria Arbre 1893-01-01T00:09:21+00:00 \n", - "\n", - " geometry.type geometry.coordinates fields.varieteoucultivar \\\n", - "0 Point [2.33573525468, 48.8542732882] NaN \n", - "1 Point [2.3228497157, 48.8217882346] ''Atropunicea'' \n", - "2 Point [2.25217460792, 48.8648326277] NaN \n", - "3 Point [2.39461847904, 48.8564741998] NaN \n", - "4 Point [2.41167739693, 48.831216573] NaN \n", - "\n", - " fields.complementadresse lng lat geometry \n", - "0 NaN 2.335735 48.854273 POINT (2.33574 48.85427) \n", - "1 14-09 2.322850 48.821788 POINT (2.32285 48.82179) \n", - "2 16-13 2.252175 48.864833 POINT (2.25217 48.86483) \n", - "3 148 2.394618 48.856474 POINT (2.39462 48.85647) \n", - "4 12-13 2.411677 48.831217 POINT (2.41168 48.83122) \n", + "0 BOIS DE BOULOGNE 241.0 30.0 ... \n", + "1 BOIS DE BOULOGNE 231.0 16.0 ... \n", + "2 PARIS 5E ARRDT 85.0 3.0 ... \n", + "3 PARIS 8E ARRDT 450.0 28.0 ... \n", + "4 BOIS DE BOULOGNE 534.0 45.0 ... \n", + "\n", + " fields.genre fields.complementadresse fields.typeemplacement \\\n", + "0 Pinus 16-08 Arbre \n", + "1 Fagus 16-17 Arbre \n", + "2 Fagus NaN Arbre \n", + "3 Acer 08-01 Arbre \n", + "4 Platanus 16-10 Arbre \n", + "\n", + " fields.dateplantation geometry.type geometry.coordinates \\\n", + "0 1882-01-01T00:09:21+00:00 Point [2.2417737512, 48.8630096006] \n", + "1 1868-01-01T00:09:21+00:00 Point [2.24886478886, 48.8731110898] \n", + "2 1905-01-01T00:09:21+00:00 Point [2.35366916319, 48.8448875264] \n", + "3 1700-01-01T00:09:21+00:00 Point [2.30647417371, 48.8787029872] \n", + "4 1872-01-01T00:09:21+00:00 Point [2.25294211329, 48.8671184424] \n", + "\n", + " fields.varieteoucultivar lon lat geometry \n", + "0 NaN 2.241774 48.863010 POINT (2.24177 48.86301) \n", + "1 ''Pendula'' 2.248865 48.873111 POINT (2.24886 48.87311) \n", + "2 ''Tortuosa'' 2.353669 48.844888 POINT (2.35367 48.84489) \n", + "3 NaN 2.306474 48.878703 POINT (2.30647 48.87870) \n", + "4 NaN 2.252942 48.867118 POINT (2.25294 48.86712) \n", "\n", "[5 rows x 27 columns]" ] @@ -760,7 +741,7 @@ "source": [ "from geopandas import GeoDataFrame, points_from_xy\n", "\n", - "gdf = GeoDataFrame(df, geometry=points_from_xy(df['lng'], df['lat']))\n", + "gdf = GeoDataFrame(df, geometry=points_from_xy(df['lon'], df['lat']))\n", "gdf.head()" ] }, @@ -1470,21 +1451,21 @@ " return value.toLocaleString();\n", " }\n", "\n", - " function updateViewport(map) {\n", + " function updateViewport(id, map) {\n", " function updateMapInfo() {\n", - " const mapInfo$ = document.getElementById('map-info');\n", + " const mapInfo$ = document.getElementById(id);\n", " const center = map.getCenter();\n", " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -1558,7 +1539,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -1573,12 +1554,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
    ${popupHTML}
    `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
    ${popupHTML}
    `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1862,7 +1847,8 @@ " const map = createMap(container, basemapStyle, settings.bounds, settings.mapboxtoken);\n", "\n", " if (settings.show_info) {\n", - " updateViewport(map);\n", + " const id = mapIndex !== undefined ? `map-info-${mapIndex}` : 'map-info';\n", + " updateViewport(id, map);\n", " }\n", "\n", " if (settings.camera) {\n", @@ -1936,7 +1922,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1982,7 +1968,7 @@ " const has_legends = 'False' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\n", "widgets": []}];\n", + " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -2006,7 +1992,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 5, diff --git a/examples/data_management/load_data_from_shapefile.ipynb b/docs/examples/data_management/read_shapefile.ipynb similarity index 70% rename from examples/data_management/load_data_from_shapefile.ipynb rename to docs/examples/data_management/read_shapefile.ipynb index a71268a80..d532ce3ee 100644 --- a/examples/data_management/load_data_from_shapefile.ipynb +++ b/docs/examples/data_management/read_shapefile.ipynb @@ -4,9 +4,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Load data from a Shapefile\n", + "## Read data from a Shapefile\n", "\n", - "This example illustrates how to load data from a shapefile using GeoPandas.\n", + "This example illustrates how to read data from a Shapefile using GeoPandas.\n", "A shapefile is a complex format, compared to CSV or GeoJSON, so [GeoPandas offers more options](https://geopandas.org/io.html#reading-spatial-data) for reading it." ] }, @@ -36,192 +36,85 @@ " \n", " \n", " \n", - " carbon_con\n", - " objectid\n", - " entity_id\n", - " latitude\n", - " longitude\n", - " audit_stat\n", - " legal_radi\n", - " illegal_ra\n", - " radius_umd\n", - " radius_for\n", - " ...\n", - " carbon_r_3\n", - " peat_for_2\n", - " peat_for_3\n", - " primary_10\n", - " primary_11\n", - " mill_name\n", - " parent_com\n", - " rspo_certi\n", - " date_updat\n", + " cartodb_id\n", + " field_1\n", + " name\n", + " address\n", + " revenue\n", " geometry\n", " \n", " \n", " \n", " \n", " 0\n", - " 460.463240\n", " 1\n", - " ID1822\n", - " -1.585833\n", - " 103.205556\n", - " ASA 1\n", " 0\n", - " 0.321764\n", - " 0.225759\n", - " 1099\n", - " ...\n", - " 1224\n", - " 0\n", - " 29\n", - " 0.004508\n", - " 0.135391\n", - " Muara Bulian Mill\n", - " PT Inti Indosawit Subur\n", - " yes\n", - " 14-Aug\n", - " POINT (103.20556 -1.58583)\n", + " Franklin Ave & Eastern Pkwy\n", + " 341 Eastern Pkwy,Brooklyn, NY 11238\n", + " 1321040.772\n", + " POINT (-73.95901 40.67109)\n", " \n", " \n", " 1\n", - " 2408.120739\n", " 2\n", - " ID1847\n", - " 0.077043\n", - " 102.030838\n", - " Renewal Certification\n", - " 0\n", - " 0.445960\n", - " 0.258855\n", - " 1979\n", - " ...\n", - " 2038\n", - " 7\n", - " 523\n", - " 0.017304\n", - " 0.321418\n", - " Pabrik Kelapa Sawit Batang Kulim POM\n", - " PT Musim Mas\n", - " yes\n", - " 14-Aug\n", - " POINT (102.03084 0.07704)\n", + " 1\n", + " 607 Brighton Beach Ave\n", + " 607 Brighton Beach Avenue,Brooklyn, NY 11235\n", + " 1268080.418\n", + " POINT (-73.96122 40.57796)\n", " \n", " \n", " 2\n", - " 273.474468\n", " 3\n", - " ID1720\n", - " 1.660222\n", - " 100.590611\n", - " Initial Certification\n", - " 0\n", - " 0.498531\n", - " 0.248520\n", - " 1432\n", - " ...\n", - " 1518\n", - " 0\n", - " 476\n", - " 0.000811\n", - " 0.193365\n", - " Kayangan and Kencana POM\n", - " PT Salim Ivomas Pratama Tbk\n", - " yes\n", - " 14-Aug\n", - " POINT (100.59061 1.66022)\n", + " 2\n", + " 65th St & 18th Ave\n", + " 6423 18th Avenue,Brooklyn, NY 11204\n", + " 1248133.699\n", + " POINT (-73.98976 40.61912)\n", " \n", " \n", " 3\n", - " 37544.098740\n", " 4\n", - " ID1945\n", - " -2.894444\n", - " 112.543611\n", - " ASA 1\n", - " 0\n", - " 0.662863\n", - " 0.186332\n", - " 226\n", - " ...\n", - " 269\n", - " 59\n", - " 66\n", - " 0.124882\n", - " 0.189169\n", - " PT Sarana Titian Permata POM\n", - " Wilmar International Ltd\n", - " yes\n", - " 14-Aug\n", - " POINT (112.54361 -2.89444)\n", + " 3\n", + " Bay Ridge Pkwy & 3rd Ave\n", + " 7419 3rd Avenue,Brooklyn, NY 11209\n", + " 1185702.676\n", + " POINT (-74.02744 40.63152)\n", " \n", " \n", " 4\n", - " 2475.128290\n", " 5\n", - " ID1553\n", - " 3.593333\n", - " 98.947222\n", - " Initial Certification\n", - " 0\n", - " 0.533668\n", - " 0.028972\n", - " 382\n", - " ...\n", - " 412\n", - " 0\n", - " 0\n", - " 0.000216\n", - " 0.009296\n", - " Adolina POM\n", - " PT Perkebunan Nusantara IV (PERSERO)\n", - " yes\n", - " 14-Aug\n", - " POINT (98.94722 3.59333)\n", + " 4\n", + " Caesar's Bay Shopping Center\n", + " 8973 Bay Parkway,Brooklyn, NY 11214\n", + " 1148427.411\n", + " POINT (-74.00098 40.59321)\n", " \n", " \n", "\n", - "

    5 rows × 73 columns

    \n", "" ], "text/plain": [ - " carbon_con objectid entity_id latitude longitude \\\n", - "0 460.463240 1 ID1822 -1.585833 103.205556 \n", - "1 2408.120739 2 ID1847 0.077043 102.030838 \n", - "2 273.474468 3 ID1720 1.660222 100.590611 \n", - "3 37544.098740 4 ID1945 -2.894444 112.543611 \n", - "4 2475.128290 5 ID1553 3.593333 98.947222 \n", - "\n", - " audit_stat legal_radi illegal_ra radius_umd radius_for ... \\\n", - "0 ASA 1 0 0.321764 0.225759 1099 ... \n", - "1 Renewal Certification 0 0.445960 0.258855 1979 ... \n", - "2 Initial Certification 0 0.498531 0.248520 1432 ... \n", - "3 ASA 1 0 0.662863 0.186332 226 ... \n", - "4 Initial Certification 0 0.533668 0.028972 382 ... \n", - "\n", - " carbon_r_3 peat_for_2 peat_for_3 primary_10 primary_11 \\\n", - "0 1224 0 29 0.004508 0.135391 \n", - "1 2038 7 523 0.017304 0.321418 \n", - "2 1518 0 476 0.000811 0.193365 \n", - "3 269 59 66 0.124882 0.189169 \n", - "4 412 0 0 0.000216 0.009296 \n", - "\n", - " mill_name parent_com \\\n", - "0 Muara Bulian Mill PT Inti Indosawit Subur \n", - "1 Pabrik Kelapa Sawit Batang Kulim POM PT Musim Mas \n", - "2 Kayangan and Kencana POM PT Salim Ivomas Pratama Tbk \n", - "3 PT Sarana Titian Permata POM Wilmar International Ltd \n", - "4 Adolina POM PT Perkebunan Nusantara IV (PERSERO) \n", - "\n", - " rspo_certi date_updat geometry \n", - "0 yes 14-Aug POINT (103.20556 -1.58583) \n", - "1 yes 14-Aug POINT (102.03084 0.07704) \n", - "2 yes 14-Aug POINT (100.59061 1.66022) \n", - "3 yes 14-Aug POINT (112.54361 -2.89444) \n", - "4 yes 14-Aug POINT (98.94722 3.59333) \n", - "\n", - "[5 rows x 73 columns]" + " cartodb_id field_1 name \\\n", + "0 1 0 Franklin Ave & Eastern Pkwy \n", + "1 2 1 607 Brighton Beach Ave \n", + "2 3 2 65th St & 18th Ave \n", + "3 4 3 Bay Ridge Pkwy & 3rd Ave \n", + "4 5 4 Caesar's Bay Shopping Center \n", + "\n", + " address revenue \\\n", + "0 341 Eastern Pkwy,Brooklyn, NY 11238 1321040.772 \n", + "1 607 Brighton Beach Avenue,Brooklyn, NY 11235 1268080.418 \n", + "2 6423 18th Avenue,Brooklyn, NY 11204 1248133.699 \n", + "3 7419 3rd Avenue,Brooklyn, NY 11209 1185702.676 \n", + "4 8973 Bay Parkway,Brooklyn, NY 11214 1148427.411 \n", + "\n", + " geometry \n", + "0 POINT (-73.95901 40.67109) \n", + "1 POINT (-73.96122 40.57796) \n", + "2 POINT (-73.98976 40.61912) \n", + "3 POINT (-74.02744 40.63152) \n", + "4 POINT (-74.00098 40.59321) " ] }, "execution_count": 1, @@ -232,7 +125,7 @@ "source": [ "from geopandas import read_file\n", "\n", - "gdf = read_file('https://libs.cartocdn.com/cartoframes/files/sustainable_palm_oil_production_mills.zip')\n", + "gdf = read_file('https://libs.cartocdn.com/cartoframes/samples/starbucks_brooklyn_geocoded.zip')\n", "gdf.head()" ] }, @@ -942,21 +835,21 @@ " return value.toLocaleString();\n", " }\n", "\n", - " function updateViewport(map) {\n", + " function updateViewport(id, map) {\n", " function updateMapInfo() {\n", - " const mapInfo$ = document.getElementById('map-info');\n", + " const mapInfo$ = document.getElementById(id);\n", " const center = map.getCenter();\n", " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -1030,7 +923,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -1045,12 +938,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
    ${popupHTML}
    `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
    ${popupHTML}
    `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1334,7 +1231,8 @@ " const map = createMap(container, basemapStyle, settings.bounds, settings.mapboxtoken);\n", "\n", " if (settings.show_info) {\n", - " updateViewport(map);\n", + " const id = mapIndex !== undefined ? `map-info-${mapIndex}` : 'map-info';\n", + " updateViewport(id, map);\n", " }\n", "\n", " if (settings.camera) {\n", @@ -1408,7 +1306,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1449,12 +1347,12 @@ " .addEventListener('ready', () => {\n", " const basecolor = '';\n", " const basemap = 'Positron';\n", - " const bounds = [[-88.55981399975727, -10.316332999911578], [160.21845000011172, 15.582959000387486]];\n", + " const bounds = [[-74.03313, 40.57796], [-73.87015, 40.6915]];\n", " const camera = null;\n", " const has_legends = 'False' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\n", "widgets": []}];\n", + " const layers = [{"credentials": null, "data": "H4sIAPkNyl8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAPkNyl8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -1478,7 +1376,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, diff --git a/docs/examples/data_management/upload_to_carto.ipynb b/docs/examples/data_management/upload_to_carto.ipynb new file mode 100644 index 000000000..2fd3e2e95 --- /dev/null +++ b/docs/examples/data_management/upload_to_carto.ipynb @@ -0,0 +1,171 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Upload data to CARTO\n", + "\n", + "This example illustrates how to upload local data to a CARTO account.\n", + "\n", + "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('creds.json')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
    cartodb_idthe_geomfield_1nameaddressrevenue
    01POINT (-73.95901 40.67109)0Franklin Ave & Eastern Pkwy341 Eastern Pkwy,Brooklyn, NY 112381321040.772
    12POINT (-73.96122 40.57796)1607 Brighton Beach Ave607 Brighton Beach Avenue,Brooklyn, NY 112351268080.418
    23POINT (-73.98976 40.61912)265th St & 18th Ave6423 18th Avenue,Brooklyn, NY 112041248133.699
    \n", + "
    " + ], + "text/plain": [ + " cartodb_id the_geom field_1 \\\n", + "0 1 POINT (-73.95901 40.67109) 0 \n", + "1 2 POINT (-73.96122 40.57796) 1 \n", + "2 3 POINT (-73.98976 40.61912) 2 \n", + "\n", + " name address \\\n", + "0 Franklin Ave & Eastern Pkwy 341 Eastern Pkwy,Brooklyn, NY 11238 \n", + "1 607 Brighton Beach Ave 607 Brighton Beach Avenue,Brooklyn, NY 11235 \n", + "2 65th St & 18th Ave 6423 18th Avenue,Brooklyn, NY 11204 \n", + "\n", + " revenue \n", + "0 1321040.772 \n", + "1 1268080.418 \n", + "2 1248133.699 " + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes import read_carto\n", + "\n", + "gdf = read_carto(\"SELECT * FROM starbucks_brooklyn WHERE revenue > 1200000\")\n", + "gdf.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Success! Data uploaded to table \"starbucks_brooklyn_filtered\" correctly\n" + ] + }, + { + "data": { + "text/plain": [ + "'starbucks_brooklyn_filtered'" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes import to_carto\n", + "\n", + "to_carto(gdf, 'starbucks_brooklyn_filtered', if_exists='replace')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/examples/data_observatory/access_dataset.ipynb b/docs/examples/data_observatory/access_dataset.ipynb new file mode 100644 index 000000000..7e3ff1100 --- /dev/null +++ b/docs/examples/data_observatory/access_dataset.ipynb @@ -0,0 +1,8263 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Access a Dataset\n", + "\n", + "This example illustrates how to download a dataset from CARTO's Data Observatory. As datasets can be really big, we will show you how to apply [standard SQL filters](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax) and [spatial SQL filters](https://cloud.google.com/bigquery/docs/reference/standard-sql/geography_functions) to download them. \n", + "\n", + "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('creds.json')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As datasets may have a lot of columns, let's force pandas to display all the columns" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas\n", + "\n", + "pandas.set_option('display.max_columns', None)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Choose a dataset\n", + "Learn how to discover a dataset through the catalog by checking the Data Discovery example.\n", + "\n", + "You can also choose a dataset from your subscriptions. Call `Catalog().subscriptions()` to list your active subscriptions." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'slug': 'acs_sociodemogr_8c2655e0',\n", + " 'name': 'Sociodemographics - United States of America (County, 2017, 5yrs)',\n", + " 'description': 'The American Community Survey (ACS) is an ongoing survey that provides vital information on a yearly basis about the USA and its people. This dataset contains only a subset of the variables that have been deemed most relevant. More info: https://www.census.gov/programs-surveys/acs/about.html',\n", + " 'category_id': 'demographics',\n", + " 'country_id': 'usa',\n", + " 'data_source_id': 'sociodemographics',\n", + " 'provider_id': 'usa_acs',\n", + " 'geography_name': 'County - United States of America (2015)',\n", + " 'geography_description': 'Shoreline clipped TIGER/Line boundaries. More info: https://carto.com/blog/tiger-shoreline-clip/',\n", + " 'temporal_aggregation': '5yrs',\n", + " 'time_coverage': '[2013-01-01, 2018-01-01)',\n", + " 'update_frequency': 'yearly',\n", + " 'is_public_data': True,\n", + " 'lang': 'eng',\n", + " 'version': '20132017',\n", + " 'category_name': 'Demographics',\n", + " 'provider_name': 'American Community Survey',\n", + " 'geography_id': 'carto-do-public-data.carto.geography_usa_county_2015',\n", + " 'id': 'carto-do-public-data.usa_acs.demographics_sociodemographics_usa_county_2015_5yrs_20132017'}" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.data.observatory import Dataset\n", + "\n", + "dataset = Dataset.get('acs_sociodemogr_8c2655e0')\n", + "dataset.to_dict()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Call `head()` to check a sample of the dataset and see the available columns." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
    geoidno_cardo_datemale_20male_21no_carsone_carpovertychildrenmale_poptwo_carsasian_popblack_popfemale_20female_21in_schoolpop_25_64total_popwhite_popfemale_popgini_indexhouseholdsmale_60_61male_62_64median_agethree_carsmale_5_to_9median_rentpop_16_overpop_widowedarmed_forcesemployed_pophispanic_popmale_under_5mobile_homespop_divorcedfemale_5_to_9housing_unitsmale_10_to_14male_15_to_17male_18_to_19male_22_to_24male_25_to_29male_30_to_34male_35_to_39male_40_to_44male_45_to_49male_45_to_64male_50_to_54male_55_to_59male_65_to_66male_67_to_69male_70_to_74male_75_to_79male_80_to_84median_incomepop_separatedamerindian_popfemale_under_5four_more_carsgroup_quartersmasters_degreeother_race_popunemployed_popwalked_to_workworked_at_homefemale_10_to_14female_15_to_17female_18_to_19female_22_to_24female_25_to_29female_30_to_34female_35_to_39female_40_to_44female_45_to_49female_50_to_54female_55_to_59female_60_to_61female_62_to_64female_65_to_66female_67_to_69female_70_to_74female_75_to_79female_80_to_84pop_15_and_overpop_now_marriedasian_male_45_54asian_male_55_64bachelors_degreeblack_male_45_54black_male_55_64commute_5_9_minscommuters_by_busin_grades_1_to_4in_grades_5_to_8male_85_and_overnot_hispanic_poppop_5_years_overwhite_male_45_54white_male_55_64associates_degreecommuters_16_overdwellings_2_unitsfamily_householdshispanic_any_racein_grades_9_to_12income_less_10000income_per_capitapop_25_years_overpop_never_marriedbachelors_degree_2commute_10_14_minscommute_15_19_minscommute_20_24_minscommute_25_29_minscommute_30_34_minscommute_35_39_minscommute_35_44_minscommute_40_44_minscommute_45_59_minscommute_60_89_minsfemale_85_and_overincome_10000_14999income_15000_19999income_20000_24999income_25000_29999income_30000_34999income_35000_39999income_40000_44999income_45000_49999income_50000_59999income_60000_74999income_75000_99999married_householdsnot_in_labor_forcenot_us_citizen_poppop_in_labor_forcehigh_school_diplomahispanic_male_45_54hispanic_male_55_64occupation_servicesworkers_16_and_overcivilian_labor_forcecommute_60_more_minscommute_90_more_minscommute_less_10_minscommuters_by_carpoolemployed_informationin_undergrad_collegeincome_100000_124999income_125000_149999income_150000_199999male_male_householdsnonfamily_householdsrent_over_50_percentvacant_housing_unitscommuters_drove_aloneemployed_constructionemployed_retail_tradeincome_200000_or_moreless_one_year_collegemale_45_64_grade_9_12one_year_more_collegerent_10_to_15_percentrent_15_to_20_percentrent_20_to_25_percentrent_25_to_30_percentrent_30_to_35_percentrent_35_to_40_percentrent_40_to_50_percentrent_under_10_percentsales_office_employedspeak_spanish_at_hometwo_or_more_races_popdwellings_3_to_4_unitsdwellings_5_to_9_unitsemployed_manufacturingmale_45_64_high_schooloccupied_housing_unitsmale_45_64_some_collegemortgaged_housing_unitsoccupation_sales_officepopulation_3_years_overasian_including_hispanicblack_including_hispanicdwellings_10_to_19_unitsdwellings_20_to_49_unitsemployed_wholesale_tradefemale_female_householdsrent_burden_not_computedwhite_including_hispanichigh_school_including_gedcommuters_by_car_truck_vandwellings_1_units_attacheddwellings_1_units_detacheddwellings_50_or_more_unitshousing_built_2000_to_2004male_45_64_graduate_degreeoccupation_management_artspopulation_1_year_and_overspeak_only_english_at_homehousing_built_2005_or_latermale_45_64_bachelors_degreemedian_year_structure_builtchildren_in_single_female_hhfamilies_with_young_childrengraduate_professional_degreehouseholds_retirement_incomemale_45_64_associates_degreemale_45_64_less_than_9_grademillion_dollar_housing_unitsowner_occupied_housing_unitspercent_income_spent_on_rentaggregate_travel_time_to_workamerindian_including_hispanichousing_built_1939_or_earlierhousing_units_renter_occupiedpop_determined_poverty_statusvacant_housing_units_for_rentvacant_housing_units_for_saleemployed_public_administrationless_than_high_school_graduatecommuters_by_subway_or_elevatedbachelors_degree_or_higher_25_64employed_education_health_socialspeak_spanish_at_home_low_englishcommuters_by_public_transportationdifferent_house_year_ago_same_citysome_college_and_associates_degreehouseholds_public_asst_or_food_stampsmanagement_business_sci_arts_employedemployed_finance_insurance_real_estatedifferent_house_year_ago_different_cityemployed_science_management_admin_wasteone_parent_families_with_young_childrentwo_parent_families_with_young_childrenemployed_other_services_not_public_adminowner_occupied_housing_units_median_valueemployed_transportation_warehousing_utilitiesoccupation_production_transportation_materialfather_one_parent_families_with_young_childrenowner_occupied_housing_units_lower_value_quartileowner_occupied_housing_units_upper_value_quartileemployed_agriculture_forestry_fishing_hunting_miningoccupation_natural_resources_construction_maintenancetwo_parents_in_labor_force_families_with_young_childrenemployed_arts_entertainment_recreation_accommodation_foodrenter_occupied_housing_units_paying_cash_median_gross_renttwo_parents_not_in_labor_force_families_with_young_childrenfather_in_labor_force_one_parent_families_with_young_childrentwo_parents_father_in_labor_force_families_with_young_childrentwo_parents_mother_in_labor_force_families_with_young_children
    03000743.02013201732.020.065.0463.0448.01151.02896.0887.00.04.00.00.01017.02936.05755.05432.02859.00.44522405.0105.0196.046.3622.0132.0550.04762.0None0.02621.0152.0112.0377.0None207.02743.0196.0117.075.054.0135.0131.0160.0163.0184.0908.0210.0213.063.0171.0191.0129.066.055295.0None84.0146.0368.044.0293.00.0112.0135.0205.0124.0117.0123.090.091.0113.0165.0153.0218.0250.0196.0116.0137.074.0114.0173.0158.052.0NoneNone0.00.0866.00.00.0359.00.0253.0252.041.05603.0None369.0463.0268.02287.015.01552.0152.0336.096.032268.04210.0None866.0337.0132.0225.0159.0162.0214.0247.033.0271.0150.042.0135.096.0101.088.084.0210.0166.076.0305.0241.0267.01348.02029.020.02733.01366.00.05.0461.02492.02733.0203.053.0551.0267.031.079.0170.082.0186.00.0853.047.0338.01852.0370.0180.0102.0261.024.0683.094.022.052.015.045.05.032.06.0404.0None83.041.049.0215.0287.02405.0247.01122.0404.05553.00.04.041.00.042.00.067.05533.01564.02119.00.02208.00.061.087.0955.05634.0None16.0158.01987.0147.0335.0337.0625.092.013.026.02020.023.660655.084.097.0385.05711.011.034.0291.0231.00.0873.0380.0None0.032.01212.0179.0955.0141.0471.0141.064.0271.094.0195000.090.0310.00.0119800.0301300.0460.0491.090.0186.0640.018.00.0163.00.0
    119137106.02013201717.042.0291.01298.01653.02349.04931.01826.00.00.042.0103.02094.05037.010239.09640.05308.00.42704614.0149.0256.044.5774.0385.0482.08243.0None11.04838.0371.0259.0178.0None310.05231.0313.0238.0115.0182.0217.0239.0252.0323.0301.01449.0366.0377.0148.0162.0193.0146.0137.043674.0None40.0335.0425.0210.0227.00.0349.0194.0233.0302.0207.0127.0119.0220.0233.0262.0345.0320.0373.0452.0152.0200.0126.0168.0273.0233.0177.0NoneNone0.00.0867.00.00.01023.021.0569.0512.0114.09868.0None628.0782.0926.04560.0177.03080.0371.0530.0282.025005.07143.0None867.0568.0487.0485.0205.0236.039.082.043.0292.0205.0229.0419.0298.0345.0218.0343.0211.0226.0222.0433.0515.0485.02221.03045.0136.05198.02447.039.00.0824.04793.05187.0319.0114.01886.0453.0153.0176.0317.0121.093.00.01534.0246.0617.03813.0309.0641.086.0716.0111.0935.0180.0193.0164.0144.051.077.0168.075.01081.0None188.0291.0101.0870.0680.04614.0264.01552.01081.09869.00.00.049.040.0120.03.0185.09756.02785.04266.077.04318.00.027.032.01470.010138.0None5.0178.01952.0756.0662.0281.0807.0151.033.00.03131.026.386680.064.0181.01483.010014.0142.067.0122.0633.00.0856.01172.0None21.0550.02577.0831.01470.0170.0839.0173.0327.0335.0301.081800.0245.0949.029.049500.0126300.0349.0514.0248.0213.0664.012.025.064.011.0
    22010110.0201320178.00.036.0181.0181.0407.0864.0350.00.01.01.08.0332.0822.01702.01539.0838.00.4473828.010.027.041.5133.026.0345.01379.0None0.0885.0113.074.046.0None74.0991.046.054.022.045.059.026.076.049.056.0226.072.061.019.022.025.040.039.051765.0None39.048.0128.08.069.00.032.032.027.047.038.035.013.040.029.048.053.044.045.063.019.045.022.014.040.042.038.0NoneNone0.00.0206.00.00.0178.00.064.079.08.01589.0None121.096.0135.0817.00.0484.0113.067.062.029768.01163.0None206.098.093.064.038.047.015.015.00.09.035.032.042.050.067.067.035.032.035.012.079.0109.0139.0401.0462.012.0917.0302.06.02.0165.0844.0917.043.08.0410.042.010.048.045.011.018.00.0344.016.0163.0732.0112.073.025.0106.07.0207.027.016.018.013.019.08.00.010.0185.0None3.033.00.06.082.0828.061.0306.0185.01623.00.01.00.00.013.00.052.01649.0361.0774.022.0890.00.015.03.0264.01659.0None0.048.01957.043.0137.072.0107.022.03.00.0649.022.9NaN39.095.0179.01690.028.00.028.076.00.0211.0196.0None0.061.0448.061.0264.030.084.034.020.0117.051.076400.055.073.013.044300.0124400.0253.0198.065.024.0551.00.013.048.04.0
    348307133.0201320171.093.0220.0883.01296.01935.04171.01232.00.0161.039.014.01623.04096.08145.05067.03974.00.44953143.0240.0134.043.5510.0370.0471.06496.0None0.03658.02571.0327.0393.0None263.04302.0212.0220.033.0111.0284.0236.0272.0152.0206.01054.0310.0164.0106.0111.0296.094.0139.042367.0None1.0154.0298.0154.0213.0202.0122.0104.061.0258.0131.066.021.0340.082.0271.0321.0285.0188.0273.0121.0217.0147.0117.0228.0156.0134.0NoneNone0.00.0671.018.00.0867.02.0483.0334.060.05574.0None327.0391.0217.03389.0229.02164.02571.0453.0228.023398.05832.0None671.0535.0412.0410.023.0202.071.0117.046.075.052.0148.0265.0288.0127.0156.0203.0207.0137.0124.0259.0329.0385.01592.02716.0207.03780.01597.0164.0147.0770.03450.03780.0133.081.01482.0424.017.070.0176.0114.069.00.0979.0227.01159.02857.0171.0383.076.0500.0201.01092.064.0100.059.044.046.025.024.019.0809.0None143.0110.016.0214.0458.03143.0203.0889.0809.07863.00.0161.06.018.039.00.0137.06969.01862.03281.023.03498.00.078.017.0850.08140.0None39.093.01969.0396.0589.0261.0679.07.075.035.02398.032.053750.01.0551.0745.07955.031.057.0192.01229.00.0556.0647.0None2.0634.01809.0600.0850.0133.0829.0231.0206.0383.0363.082000.0401.0510.0165.041600.0165300.0602.0719.0214.0265.0721.00.0165.0169.00.0
    44612366.0201320178.021.0118.0544.01045.01237.02781.0649.00.00.09.059.01121.02688.05480.04500.02699.00.46332424.0133.0141.046.5639.0135.0341.04362.0None0.02859.018.0140.0496.0None125.03085.0222.0141.050.0127.0129.0143.0155.0116.0164.0881.0238.0205.034.0116.0112.0143.042.048409.0None729.0172.0474.0159.0112.00.052.0132.0223.0203.099.046.065.0122.0123.0133.097.0173.0242.0190.0108.076.087.084.0114.0174.055.0NoneNone0.00.0643.00.00.0878.037.0272.0269.066.05462.0None310.0392.0319.02592.024.01473.018.0273.0239.027613.03858.0None643.0347.0158.0167.0120.092.017.056.039.055.0143.0143.0174.0110.0132.0111.0119.0168.091.0124.0227.0270.0279.01217.01451.027.02911.01367.00.00.0393.02815.02911.0175.032.01422.0247.030.0102.0226.037.032.00.0951.0128.0661.02163.0271.0363.085.0196.031.0571.087.063.058.079.02.037.0104.064.0484.0None233.0108.070.041.0387.02424.0140.0663.0484.05334.00.00.038.052.075.00.0125.04500.01511.02410.016.02281.00.043.032.01217.05425.0None19.0152.01966.0220.0338.0210.0261.083.056.016.01677.027.540040.0747.0255.0747.05294.095.039.0118.0408.00.0580.0674.0None37.0182.01086.0340.01217.0184.0444.092.085.0253.0139.085800.052.0306.026.051600.0156600.0706.0459.0215.0114.0562.00.014.032.06.0
    529155308.02013201785.0189.0934.02639.04859.04597.08210.02043.00.04639.0197.0153.04301.08474.017344.011948.09134.00.48626875.0225.0238.037.7871.0566.0344.013251.0None0.06326.0421.0614.0742.0None496.08178.0747.0421.0226.0282.0479.0431.0449.0422.0526.02156.0567.0600.0227.0234.0239.0164.0153.032468.0None18.0671.0388.0202.0483.00.0756.0153.0109.0689.0393.0194.0209.0573.0521.0629.0452.0564.0593.0715.0199.0291.0159.0271.0397.0291.0254.0NoneNone0.00.0815.0239.0230.01273.023.0877.01260.0126.016923.0None824.0828.0660.06067.0517.04342.0421.01082.0956.018883.011212.0None815.0792.0998.0913.0366.0587.078.0167.089.0181.087.0223.0689.0583.0512.0504.0377.0385.0382.0336.0544.0392.0555.02758.06169.097.07082.03602.019.019.01441.06176.07082.0159.072.01904.0594.026.0492.0347.096.0143.06.02533.0641.01303.05259.0194.0741.074.0705.0408.01354.0263.0285.0371.0367.0188.0167.0267.0155.01164.0None316.0513.049.01328.0866.06875.0337.01652.01164.016514.00.04717.090.016.0110.05.0540.012113.04279.05853.054.06098.091.0206.025.01560.017033.0None20.0211.01968.02120.01330.0532.01138.058.0251.00.03631.028.8105750.018.0853.03244.017042.0313.089.0313.02867.00.01066.01780.0None23.01577.02719.02237.01560.0282.01594.0164.0813.0517.0304.073300.0299.01565.089.037000.0120900.0405.0596.0216.0380.0568.02.069.0299.00.0
    62115928.02013201769.089.0286.01464.03190.02498.06744.01695.00.0575.083.064.02290.06830.012175.011250.05431.00.44224316.0213.0261.039.0645.0326.0307.09909.0None0.03032.0226.0323.01911.0None342.05240.0432.0217.0125.0481.0485.0720.0476.0592.0430.01631.0433.0294.0123.0142.0247.0166.061.029239.0None9.0295.0226.01441.0225.00.0552.034.08.0334.0229.0101.0118.0303.0308.0384.0316.0401.0419.0466.074.0255.0158.0176.0203.0158.0150.0NoneNone0.00.0373.0159.017.0195.00.0554.0575.039.011949.0None657.0726.0728.02791.036.02940.0226.0481.0782.014914.08547.0None373.0117.0575.0297.0111.0235.0220.0384.0164.0358.0325.094.0288.0476.0430.0203.0138.0224.0365.0182.0271.0373.0356.02311.06325.034.03584.02353.033.017.0428.02799.03584.0447.0122.0267.0460.030.0292.0120.050.058.00.01376.0267.0924.02292.0197.0520.00.0360.0347.01107.0109.022.083.098.0107.049.035.071.0894.0None107.053.0105.045.0736.04316.0218.0958.0894.011860.00.0606.028.018.088.00.0361.011397.03313.02752.037.02976.054.0143.041.0875.012072.0None55.019.01985.0473.0787.0327.0987.0117.0153.00.03114.031.898955.09.0141.01202.010690.063.038.0164.02339.00.0553.0775.0None0.074.02195.01218.0875.0162.01449.085.0184.0603.0183.065500.0165.0319.024.030000.0117600.0392.0516.0275.0226.0483.078.024.0211.039.0
    7310050.0201320170.08.00.035.046.0132.0204.046.00.00.01.01.0149.0172.0421.0411.0217.00.4498177.09.03.043.354.027.0388.0298.0None0.0177.00.03.022.0None21.0261.020.04.02.013.08.01.06.018.017.050.08.013.02.05.08.010.017.041250.0None0.08.042.00.015.01.01.013.023.035.014.00.00.06.07.05.013.014.011.025.03.05.09.03.010.015.010.0NoneNone0.00.060.00.00.016.00.032.048.02.0421.0None24.025.033.0146.00.096.00.018.06.021799.0264.0None60.09.03.016.04.012.03.017.014.015.03.01.021.025.013.04.09.08.012.010.014.022.020.087.0120.02.0178.073.00.00.017.0169.0178.06.03.064.024.01.017.07.01.02.00.081.08.084.0109.015.013.03.026.00.034.013.03.01.03.02.05.00.00.020.0None9.00.00.013.021.0177.07.025.020.0415.00.00.00.00.03.00.030.0411.079.0133.010.0229.00.03.01.083.0421.0None0.06.01959.03.027.019.023.015.00.00.0112.025.83040.00.031.065.0421.02.00.03.013.00.059.037.0None0.01.093.06.083.01.054.03.02.025.06.0101500.09.021.02.057000.0162500.067.036.013.06.0658.00.02.012.00.0
    801067205.020132017124.074.0427.01953.02310.03581.08208.02346.00.04762.033.0120.03517.08535.017110.011757.08902.00.45296727.0176.0317.043.51373.0459.0398.013972.0None10.06949.0435.0468.02311.0None438.09055.0594.0307.0171.0396.0369.0350.0658.0418.0528.02232.0536.0675.0252.0324.0452.0293.0121.045569.0None5.0452.0628.0289.0835.00.0496.048.0176.0511.0352.0162.0326.0415.0465.0527.0598.0547.0617.0586.0222.0531.0166.0404.0567.0353.0222.0NoneNone0.00.01087.0291.0314.0605.00.0750.0892.0146.016675.0None757.0839.0925.06689.0291.04545.0435.0844.0552.023983.012123.0None1087.0694.0858.01025.0749.01067.0154.0395.0241.0445.0301.0288.0504.0566.0332.0278.0457.0308.0323.0412.0616.0694.0614.03625.06517.0169.07455.03398.013.00.01319.06865.07445.0431.0130.01025.0513.074.0595.0379.0287.0257.010.02182.0185.02328.05900.0386.0769.0148.0828.0237.01843.0149.096.0162.091.035.0109.075.051.01347.0None151.0163.00.0787.0918.06727.0540.02932.01347.016615.00.04762.052.012.0221.00.0243.012144.04105.06413.041.06183.02.0218.0113.02279.016964.0None102.0153.01983.0761.01033.0987.01480.0175.096.00.05531.026.0171195.05.0343.01196.016806.0222.0164.0196.02348.00.01485.01673.0None0.0378.03596.01129.02279.0279.0983.0495.0394.0639.0231.0112600.0788.01238.089.062700.0189100.0353.0766.0386.0697.0603.08.080.0245.00.0
    9410214.02013201719.016.025.0176.0188.0426.0962.0330.00.00.00.014.0396.0893.01910.01643.0948.00.4153805.028.061.047.0191.079.0537.01529.0None0.0751.0154.051.0146.0None51.01070.051.044.022.013.018.049.041.032.051.0283.086.057.047.029.077.048.029.039831.0None99.054.083.015.064.00.061.064.055.064.032.01.026.044.058.049.049.069.031.065.061.044.022.032.062.044.022.0NoneNone0.00.0200.00.00.0191.00.0102.0101.014.01756.0None114.0130.077.0684.015.0512.0154.096.052.024178.01373.0None200.0101.081.024.018.034.00.020.020.041.05.054.050.020.073.056.077.077.020.052.050.077.090.0420.0717.030.0812.0426.011.00.0113.0739.0812.024.019.0341.037.014.026.080.020.02.00.0293.026.0265.0575.074.057.09.090.014.0297.032.046.08.034.026.015.013.022.0156.0None0.06.06.022.0111.0805.085.0257.0156.01870.00.00.00.021.020.00.068.01783.0493.0612.07.0863.06.012.015.0233.01903.0None15.040.01957.0109.0128.064.0169.05.013.00.0515.025.411965.099.073.0290.01906.022.038.062.0152.00.0194.0121.0None0.0108.0464.099.0233.011.0114.089.049.079.017.0110900.096.0126.021.083300.0162900.096.0123.010.072.0814.00.021.067.02.0
    \n", + "
    " + ], + "text/plain": [ + " geoid no_car do_date male_20 male_21 no_cars one_car poverty \\\n", + "0 30007 43.0 20132017 32.0 20.0 65.0 463.0 448.0 \n", + "1 19137 106.0 20132017 17.0 42.0 291.0 1298.0 1653.0 \n", + "2 20101 10.0 20132017 8.0 0.0 36.0 181.0 181.0 \n", + "3 48307 133.0 20132017 1.0 93.0 220.0 883.0 1296.0 \n", + "4 46123 66.0 20132017 8.0 21.0 118.0 544.0 1045.0 \n", + "5 29155 308.0 20132017 85.0 189.0 934.0 2639.0 4859.0 \n", + "6 21159 28.0 20132017 69.0 89.0 286.0 1464.0 3190.0 \n", + "7 31005 0.0 20132017 0.0 8.0 0.0 35.0 46.0 \n", + "8 01067 205.0 20132017 124.0 74.0 427.0 1953.0 2310.0 \n", + "9 41021 4.0 20132017 19.0 16.0 25.0 176.0 188.0 \n", + "\n", + " children male_pop two_cars asian_pop black_pop female_20 female_21 \\\n", + "0 1151.0 2896.0 887.0 0.0 4.0 0.0 0.0 \n", + "1 2349.0 4931.0 1826.0 0.0 0.0 42.0 103.0 \n", + "2 407.0 864.0 350.0 0.0 1.0 1.0 8.0 \n", + "3 1935.0 4171.0 1232.0 0.0 161.0 39.0 14.0 \n", + "4 1237.0 2781.0 649.0 0.0 0.0 9.0 59.0 \n", + "5 4597.0 8210.0 2043.0 0.0 4639.0 197.0 153.0 \n", + "6 2498.0 6744.0 1695.0 0.0 575.0 83.0 64.0 \n", + "7 132.0 204.0 46.0 0.0 0.0 1.0 1.0 \n", + "8 3581.0 8208.0 2346.0 0.0 4762.0 33.0 120.0 \n", + "9 426.0 962.0 330.0 0.0 0.0 0.0 14.0 \n", + "\n", + " in_school pop_25_64 total_pop white_pop female_pop gini_index \\\n", + "0 1017.0 2936.0 5755.0 5432.0 2859.0 0.4452 \n", + "1 2094.0 5037.0 10239.0 9640.0 5308.0 0.4270 \n", + "2 332.0 822.0 1702.0 1539.0 838.0 0.4473 \n", + "3 1623.0 4096.0 8145.0 5067.0 3974.0 0.4495 \n", + "4 1121.0 2688.0 5480.0 4500.0 2699.0 0.4633 \n", + "5 4301.0 8474.0 17344.0 11948.0 9134.0 0.4862 \n", + "6 2290.0 6830.0 12175.0 11250.0 5431.0 0.4422 \n", + "7 149.0 172.0 421.0 411.0 217.0 0.4498 \n", + "8 3517.0 8535.0 17110.0 11757.0 8902.0 0.4529 \n", + "9 396.0 893.0 1910.0 1643.0 948.0 0.4153 \n", + "\n", + " households male_60_61 male_62_64 median_age three_cars male_5_to_9 \\\n", + "0 2405.0 105.0 196.0 46.3 622.0 132.0 \n", + "1 4614.0 149.0 256.0 44.5 774.0 385.0 \n", + "2 828.0 10.0 27.0 41.5 133.0 26.0 \n", + "3 3143.0 240.0 134.0 43.5 510.0 370.0 \n", + "4 2424.0 133.0 141.0 46.5 639.0 135.0 \n", + "5 6875.0 225.0 238.0 37.7 871.0 566.0 \n", + "6 4316.0 213.0 261.0 39.0 645.0 326.0 \n", + "7 177.0 9.0 3.0 43.3 54.0 27.0 \n", + "8 6727.0 176.0 317.0 43.5 1373.0 459.0 \n", + "9 805.0 28.0 61.0 47.0 191.0 79.0 \n", + "\n", + " median_rent pop_16_over pop_widowed armed_forces employed_pop \\\n", + "0 550.0 4762.0 None 0.0 2621.0 \n", + "1 482.0 8243.0 None 11.0 4838.0 \n", + "2 345.0 1379.0 None 0.0 885.0 \n", + "3 471.0 6496.0 None 0.0 3658.0 \n", + "4 341.0 4362.0 None 0.0 2859.0 \n", + "5 344.0 13251.0 None 0.0 6326.0 \n", + "6 307.0 9909.0 None 0.0 3032.0 \n", + "7 388.0 298.0 None 0.0 177.0 \n", + "8 398.0 13972.0 None 10.0 6949.0 \n", + "9 537.0 1529.0 None 0.0 751.0 \n", + "\n", + " hispanic_pop male_under_5 mobile_homes pop_divorced female_5_to_9 \\\n", + "0 152.0 112.0 377.0 None 207.0 \n", + "1 371.0 259.0 178.0 None 310.0 \n", + "2 113.0 74.0 46.0 None 74.0 \n", + "3 2571.0 327.0 393.0 None 263.0 \n", + "4 18.0 140.0 496.0 None 125.0 \n", + "5 421.0 614.0 742.0 None 496.0 \n", + "6 226.0 323.0 1911.0 None 342.0 \n", + "7 0.0 3.0 22.0 None 21.0 \n", + "8 435.0 468.0 2311.0 None 438.0 \n", + "9 154.0 51.0 146.0 None 51.0 \n", + "\n", + " housing_units male_10_to_14 male_15_to_17 male_18_to_19 male_22_to_24 \\\n", + "0 2743.0 196.0 117.0 75.0 54.0 \n", + "1 5231.0 313.0 238.0 115.0 182.0 \n", + "2 991.0 46.0 54.0 22.0 45.0 \n", + "3 4302.0 212.0 220.0 33.0 111.0 \n", + "4 3085.0 222.0 141.0 50.0 127.0 \n", + "5 8178.0 747.0 421.0 226.0 282.0 \n", + "6 5240.0 432.0 217.0 125.0 481.0 \n", + "7 261.0 20.0 4.0 2.0 13.0 \n", + "8 9055.0 594.0 307.0 171.0 396.0 \n", + "9 1070.0 51.0 44.0 22.0 13.0 \n", + "\n", + " male_25_to_29 male_30_to_34 male_35_to_39 male_40_to_44 male_45_to_49 \\\n", + "0 135.0 131.0 160.0 163.0 184.0 \n", + "1 217.0 239.0 252.0 323.0 301.0 \n", + "2 59.0 26.0 76.0 49.0 56.0 \n", + "3 284.0 236.0 272.0 152.0 206.0 \n", + "4 129.0 143.0 155.0 116.0 164.0 \n", + "5 479.0 431.0 449.0 422.0 526.0 \n", + "6 485.0 720.0 476.0 592.0 430.0 \n", + "7 8.0 1.0 6.0 18.0 17.0 \n", + "8 369.0 350.0 658.0 418.0 528.0 \n", + "9 18.0 49.0 41.0 32.0 51.0 \n", + "\n", + " male_45_to_64 male_50_to_54 male_55_to_59 male_65_to_66 male_67_to_69 \\\n", + "0 908.0 210.0 213.0 63.0 171.0 \n", + "1 1449.0 366.0 377.0 148.0 162.0 \n", + "2 226.0 72.0 61.0 19.0 22.0 \n", + "3 1054.0 310.0 164.0 106.0 111.0 \n", + "4 881.0 238.0 205.0 34.0 116.0 \n", + "5 2156.0 567.0 600.0 227.0 234.0 \n", + "6 1631.0 433.0 294.0 123.0 142.0 \n", + "7 50.0 8.0 13.0 2.0 5.0 \n", + "8 2232.0 536.0 675.0 252.0 324.0 \n", + "9 283.0 86.0 57.0 47.0 29.0 \n", + "\n", + " male_70_to_74 male_75_to_79 male_80_to_84 median_income pop_separated \\\n", + "0 191.0 129.0 66.0 55295.0 None \n", + "1 193.0 146.0 137.0 43674.0 None \n", + "2 25.0 40.0 39.0 51765.0 None \n", + "3 296.0 94.0 139.0 42367.0 None \n", + "4 112.0 143.0 42.0 48409.0 None \n", + "5 239.0 164.0 153.0 32468.0 None \n", + "6 247.0 166.0 61.0 29239.0 None \n", + "7 8.0 10.0 17.0 41250.0 None \n", + "8 452.0 293.0 121.0 45569.0 None \n", + "9 77.0 48.0 29.0 39831.0 None \n", + "\n", + " amerindian_pop female_under_5 four_more_cars group_quarters \\\n", + "0 84.0 146.0 368.0 44.0 \n", + "1 40.0 335.0 425.0 210.0 \n", + "2 39.0 48.0 128.0 8.0 \n", + "3 1.0 154.0 298.0 154.0 \n", + "4 729.0 172.0 474.0 159.0 \n", + "5 18.0 671.0 388.0 202.0 \n", + "6 9.0 295.0 226.0 1441.0 \n", + "7 0.0 8.0 42.0 0.0 \n", + "8 5.0 452.0 628.0 289.0 \n", + "9 99.0 54.0 83.0 15.0 \n", + "\n", + " masters_degree other_race_pop unemployed_pop walked_to_work \\\n", + "0 293.0 0.0 112.0 135.0 \n", + "1 227.0 0.0 349.0 194.0 \n", + "2 69.0 0.0 32.0 32.0 \n", + "3 213.0 202.0 122.0 104.0 \n", + "4 112.0 0.0 52.0 132.0 \n", + "5 483.0 0.0 756.0 153.0 \n", + "6 225.0 0.0 552.0 34.0 \n", + "7 15.0 1.0 1.0 13.0 \n", + "8 835.0 0.0 496.0 48.0 \n", + "9 64.0 0.0 61.0 64.0 \n", + "\n", + " worked_at_home female_10_to_14 female_15_to_17 female_18_to_19 \\\n", + "0 205.0 124.0 117.0 123.0 \n", + "1 233.0 302.0 207.0 127.0 \n", + "2 27.0 47.0 38.0 35.0 \n", + "3 61.0 258.0 131.0 66.0 \n", + "4 223.0 203.0 99.0 46.0 \n", + "5 109.0 689.0 393.0 194.0 \n", + "6 8.0 334.0 229.0 101.0 \n", + "7 23.0 35.0 14.0 0.0 \n", + "8 176.0 511.0 352.0 162.0 \n", + "9 55.0 64.0 32.0 1.0 \n", + "\n", + " female_22_to_24 female_25_to_29 female_30_to_34 female_35_to_39 \\\n", + "0 90.0 91.0 113.0 165.0 \n", + "1 119.0 220.0 233.0 262.0 \n", + "2 13.0 40.0 29.0 48.0 \n", + "3 21.0 340.0 82.0 271.0 \n", + "4 65.0 122.0 123.0 133.0 \n", + "5 209.0 573.0 521.0 629.0 \n", + "6 118.0 303.0 308.0 384.0 \n", + "7 0.0 6.0 7.0 5.0 \n", + "8 326.0 415.0 465.0 527.0 \n", + "9 26.0 44.0 58.0 49.0 \n", + "\n", + " female_40_to_44 female_45_to_49 female_50_to_54 female_55_to_59 \\\n", + "0 153.0 218.0 250.0 196.0 \n", + "1 345.0 320.0 373.0 452.0 \n", + "2 53.0 44.0 45.0 63.0 \n", + "3 321.0 285.0 188.0 273.0 \n", + "4 97.0 173.0 242.0 190.0 \n", + "5 452.0 564.0 593.0 715.0 \n", + "6 316.0 401.0 419.0 466.0 \n", + "7 13.0 14.0 11.0 25.0 \n", + "8 598.0 547.0 617.0 586.0 \n", + "9 49.0 69.0 31.0 65.0 \n", + "\n", + " female_60_to_61 female_62_to_64 female_65_to_66 female_67_to_69 \\\n", + "0 116.0 137.0 74.0 114.0 \n", + "1 152.0 200.0 126.0 168.0 \n", + "2 19.0 45.0 22.0 14.0 \n", + "3 121.0 217.0 147.0 117.0 \n", + "4 108.0 76.0 87.0 84.0 \n", + "5 199.0 291.0 159.0 271.0 \n", + "6 74.0 255.0 158.0 176.0 \n", + "7 3.0 5.0 9.0 3.0 \n", + "8 222.0 531.0 166.0 404.0 \n", + "9 61.0 44.0 22.0 32.0 \n", + "\n", + " female_70_to_74 female_75_to_79 female_80_to_84 pop_15_and_over \\\n", + "0 173.0 158.0 52.0 None \n", + "1 273.0 233.0 177.0 None \n", + "2 40.0 42.0 38.0 None \n", + "3 228.0 156.0 134.0 None \n", + "4 114.0 174.0 55.0 None \n", + "5 397.0 291.0 254.0 None \n", + "6 203.0 158.0 150.0 None \n", + "7 10.0 15.0 10.0 None \n", + "8 567.0 353.0 222.0 None \n", + "9 62.0 44.0 22.0 None \n", + "\n", + " pop_now_married asian_male_45_54 asian_male_55_64 bachelors_degree \\\n", + "0 None 0.0 0.0 866.0 \n", + "1 None 0.0 0.0 867.0 \n", + "2 None 0.0 0.0 206.0 \n", + "3 None 0.0 0.0 671.0 \n", + "4 None 0.0 0.0 643.0 \n", + "5 None 0.0 0.0 815.0 \n", + "6 None 0.0 0.0 373.0 \n", + "7 None 0.0 0.0 60.0 \n", + "8 None 0.0 0.0 1087.0 \n", + "9 None 0.0 0.0 200.0 \n", + "\n", + " black_male_45_54 black_male_55_64 commute_5_9_mins commuters_by_bus \\\n", + "0 0.0 0.0 359.0 0.0 \n", + "1 0.0 0.0 1023.0 21.0 \n", + "2 0.0 0.0 178.0 0.0 \n", + "3 18.0 0.0 867.0 2.0 \n", + "4 0.0 0.0 878.0 37.0 \n", + "5 239.0 230.0 1273.0 23.0 \n", + "6 159.0 17.0 195.0 0.0 \n", + "7 0.0 0.0 16.0 0.0 \n", + "8 291.0 314.0 605.0 0.0 \n", + "9 0.0 0.0 191.0 0.0 \n", + "\n", + " in_grades_1_to_4 in_grades_5_to_8 male_85_and_over not_hispanic_pop \\\n", + "0 253.0 252.0 41.0 5603.0 \n", + "1 569.0 512.0 114.0 9868.0 \n", + "2 64.0 79.0 8.0 1589.0 \n", + "3 483.0 334.0 60.0 5574.0 \n", + "4 272.0 269.0 66.0 5462.0 \n", + "5 877.0 1260.0 126.0 16923.0 \n", + "6 554.0 575.0 39.0 11949.0 \n", + "7 32.0 48.0 2.0 421.0 \n", + "8 750.0 892.0 146.0 16675.0 \n", + "9 102.0 101.0 14.0 1756.0 \n", + "\n", + " pop_5_years_over white_male_45_54 white_male_55_64 associates_degree \\\n", + "0 None 369.0 463.0 268.0 \n", + "1 None 628.0 782.0 926.0 \n", + "2 None 121.0 96.0 135.0 \n", + "3 None 327.0 391.0 217.0 \n", + "4 None 310.0 392.0 319.0 \n", + "5 None 824.0 828.0 660.0 \n", + "6 None 657.0 726.0 728.0 \n", + "7 None 24.0 25.0 33.0 \n", + "8 None 757.0 839.0 925.0 \n", + "9 None 114.0 130.0 77.0 \n", + "\n", + " commuters_16_over dwellings_2_units family_households hispanic_any_race \\\n", + "0 2287.0 15.0 1552.0 152.0 \n", + "1 4560.0 177.0 3080.0 371.0 \n", + "2 817.0 0.0 484.0 113.0 \n", + "3 3389.0 229.0 2164.0 2571.0 \n", + "4 2592.0 24.0 1473.0 18.0 \n", + "5 6067.0 517.0 4342.0 421.0 \n", + "6 2791.0 36.0 2940.0 226.0 \n", + "7 146.0 0.0 96.0 0.0 \n", + "8 6689.0 291.0 4545.0 435.0 \n", + "9 684.0 15.0 512.0 154.0 \n", + "\n", + " in_grades_9_to_12 income_less_10000 income_per_capita pop_25_years_over \\\n", + "0 336.0 96.0 32268.0 4210.0 \n", + "1 530.0 282.0 25005.0 7143.0 \n", + "2 67.0 62.0 29768.0 1163.0 \n", + "3 453.0 228.0 23398.0 5832.0 \n", + "4 273.0 239.0 27613.0 3858.0 \n", + "5 1082.0 956.0 18883.0 11212.0 \n", + "6 481.0 782.0 14914.0 8547.0 \n", + "7 18.0 6.0 21799.0 264.0 \n", + "8 844.0 552.0 23983.0 12123.0 \n", + "9 96.0 52.0 24178.0 1373.0 \n", + "\n", + " pop_never_married bachelors_degree_2 commute_10_14_mins \\\n", + "0 None 866.0 337.0 \n", + "1 None 867.0 568.0 \n", + "2 None 206.0 98.0 \n", + "3 None 671.0 535.0 \n", + "4 None 643.0 347.0 \n", + "5 None 815.0 792.0 \n", + "6 None 373.0 117.0 \n", + "7 None 60.0 9.0 \n", + "8 None 1087.0 694.0 \n", + "9 None 200.0 101.0 \n", + "\n", + " commute_15_19_mins commute_20_24_mins commute_25_29_mins \\\n", + "0 132.0 225.0 159.0 \n", + "1 487.0 485.0 205.0 \n", + "2 93.0 64.0 38.0 \n", + "3 412.0 410.0 23.0 \n", + "4 158.0 167.0 120.0 \n", + "5 998.0 913.0 366.0 \n", + "6 575.0 297.0 111.0 \n", + "7 3.0 16.0 4.0 \n", + "8 858.0 1025.0 749.0 \n", + "9 81.0 24.0 18.0 \n", + "\n", + " commute_30_34_mins commute_35_39_mins commute_35_44_mins \\\n", + "0 162.0 214.0 247.0 \n", + "1 236.0 39.0 82.0 \n", + "2 47.0 15.0 15.0 \n", + "3 202.0 71.0 117.0 \n", + "4 92.0 17.0 56.0 \n", + "5 587.0 78.0 167.0 \n", + "6 235.0 220.0 384.0 \n", + "7 12.0 3.0 17.0 \n", + "8 1067.0 154.0 395.0 \n", + "9 34.0 0.0 20.0 \n", + "\n", + " commute_40_44_mins commute_45_59_mins commute_60_89_mins \\\n", + "0 33.0 271.0 150.0 \n", + "1 43.0 292.0 205.0 \n", + "2 0.0 9.0 35.0 \n", + "3 46.0 75.0 52.0 \n", + "4 39.0 55.0 143.0 \n", + "5 89.0 181.0 87.0 \n", + "6 164.0 358.0 325.0 \n", + "7 14.0 15.0 3.0 \n", + "8 241.0 445.0 301.0 \n", + "9 20.0 41.0 5.0 \n", + "\n", + " female_85_and_over income_10000_14999 income_15000_19999 \\\n", + "0 42.0 135.0 96.0 \n", + "1 229.0 419.0 298.0 \n", + "2 32.0 42.0 50.0 \n", + "3 148.0 265.0 288.0 \n", + "4 143.0 174.0 110.0 \n", + "5 223.0 689.0 583.0 \n", + "6 94.0 288.0 476.0 \n", + "7 1.0 21.0 25.0 \n", + "8 288.0 504.0 566.0 \n", + "9 54.0 50.0 20.0 \n", + "\n", + " income_20000_24999 income_25000_29999 income_30000_34999 \\\n", + "0 101.0 88.0 84.0 \n", + "1 345.0 218.0 343.0 \n", + "2 67.0 67.0 35.0 \n", + "3 127.0 156.0 203.0 \n", + "4 132.0 111.0 119.0 \n", + "5 512.0 504.0 377.0 \n", + "6 430.0 203.0 138.0 \n", + "7 13.0 4.0 9.0 \n", + "8 332.0 278.0 457.0 \n", + "9 73.0 56.0 77.0 \n", + "\n", + " income_35000_39999 income_40000_44999 income_45000_49999 \\\n", + "0 210.0 166.0 76.0 \n", + "1 211.0 226.0 222.0 \n", + "2 32.0 35.0 12.0 \n", + "3 207.0 137.0 124.0 \n", + "4 168.0 91.0 124.0 \n", + "5 385.0 382.0 336.0 \n", + "6 224.0 365.0 182.0 \n", + "7 8.0 12.0 10.0 \n", + "8 308.0 323.0 412.0 \n", + "9 77.0 20.0 52.0 \n", + "\n", + " income_50000_59999 income_60000_74999 income_75000_99999 \\\n", + "0 305.0 241.0 267.0 \n", + "1 433.0 515.0 485.0 \n", + "2 79.0 109.0 139.0 \n", + "3 259.0 329.0 385.0 \n", + "4 227.0 270.0 279.0 \n", + "5 544.0 392.0 555.0 \n", + "6 271.0 373.0 356.0 \n", + "7 14.0 22.0 20.0 \n", + "8 616.0 694.0 614.0 \n", + "9 50.0 77.0 90.0 \n", + "\n", + " married_households not_in_labor_force not_us_citizen_pop \\\n", + "0 1348.0 2029.0 20.0 \n", + "1 2221.0 3045.0 136.0 \n", + "2 401.0 462.0 12.0 \n", + "3 1592.0 2716.0 207.0 \n", + "4 1217.0 1451.0 27.0 \n", + "5 2758.0 6169.0 97.0 \n", + "6 2311.0 6325.0 34.0 \n", + "7 87.0 120.0 2.0 \n", + "8 3625.0 6517.0 169.0 \n", + "9 420.0 717.0 30.0 \n", + "\n", + " pop_in_labor_force high_school_diploma hispanic_male_45_54 \\\n", + "0 2733.0 1366.0 0.0 \n", + "1 5198.0 2447.0 39.0 \n", + "2 917.0 302.0 6.0 \n", + "3 3780.0 1597.0 164.0 \n", + "4 2911.0 1367.0 0.0 \n", + "5 7082.0 3602.0 19.0 \n", + "6 3584.0 2353.0 33.0 \n", + "7 178.0 73.0 0.0 \n", + "8 7455.0 3398.0 13.0 \n", + "9 812.0 426.0 11.0 \n", + "\n", + " hispanic_male_55_64 occupation_services workers_16_and_over \\\n", + "0 5.0 461.0 2492.0 \n", + "1 0.0 824.0 4793.0 \n", + "2 2.0 165.0 844.0 \n", + "3 147.0 770.0 3450.0 \n", + "4 0.0 393.0 2815.0 \n", + "5 19.0 1441.0 6176.0 \n", + "6 17.0 428.0 2799.0 \n", + "7 0.0 17.0 169.0 \n", + "8 0.0 1319.0 6865.0 \n", + "9 0.0 113.0 739.0 \n", + "\n", + " civilian_labor_force commute_60_more_mins commute_90_more_mins \\\n", + "0 2733.0 203.0 53.0 \n", + "1 5187.0 319.0 114.0 \n", + "2 917.0 43.0 8.0 \n", + "3 3780.0 133.0 81.0 \n", + "4 2911.0 175.0 32.0 \n", + "5 7082.0 159.0 72.0 \n", + "6 3584.0 447.0 122.0 \n", + "7 178.0 6.0 3.0 \n", + "8 7445.0 431.0 130.0 \n", + "9 812.0 24.0 19.0 \n", + "\n", + " commute_less_10_mins commuters_by_carpool employed_information \\\n", + "0 551.0 267.0 31.0 \n", + "1 1886.0 453.0 153.0 \n", + "2 410.0 42.0 10.0 \n", + "3 1482.0 424.0 17.0 \n", + "4 1422.0 247.0 30.0 \n", + "5 1904.0 594.0 26.0 \n", + "6 267.0 460.0 30.0 \n", + "7 64.0 24.0 1.0 \n", + "8 1025.0 513.0 74.0 \n", + "9 341.0 37.0 14.0 \n", + "\n", + " in_undergrad_college income_100000_124999 income_125000_149999 \\\n", + "0 79.0 170.0 82.0 \n", + "1 176.0 317.0 121.0 \n", + "2 48.0 45.0 11.0 \n", + "3 70.0 176.0 114.0 \n", + "4 102.0 226.0 37.0 \n", + "5 492.0 347.0 96.0 \n", + "6 292.0 120.0 50.0 \n", + "7 17.0 7.0 1.0 \n", + "8 595.0 379.0 287.0 \n", + "9 26.0 80.0 20.0 \n", + "\n", + " income_150000_199999 male_male_households nonfamily_households \\\n", + "0 186.0 0.0 853.0 \n", + "1 93.0 0.0 1534.0 \n", + "2 18.0 0.0 344.0 \n", + "3 69.0 0.0 979.0 \n", + "4 32.0 0.0 951.0 \n", + "5 143.0 6.0 2533.0 \n", + "6 58.0 0.0 1376.0 \n", + "7 2.0 0.0 81.0 \n", + "8 257.0 10.0 2182.0 \n", + "9 2.0 0.0 293.0 \n", + "\n", + " rent_over_50_percent vacant_housing_units commuters_drove_alone \\\n", + "0 47.0 338.0 1852.0 \n", + "1 246.0 617.0 3813.0 \n", + "2 16.0 163.0 732.0 \n", + "3 227.0 1159.0 2857.0 \n", + "4 128.0 661.0 2163.0 \n", + "5 641.0 1303.0 5259.0 \n", + "6 267.0 924.0 2292.0 \n", + "7 8.0 84.0 109.0 \n", + "8 185.0 2328.0 5900.0 \n", + "9 26.0 265.0 575.0 \n", + "\n", + " employed_construction employed_retail_trade income_200000_or_more \\\n", + "0 370.0 180.0 102.0 \n", + "1 309.0 641.0 86.0 \n", + "2 112.0 73.0 25.0 \n", + "3 171.0 383.0 76.0 \n", + "4 271.0 363.0 85.0 \n", + "5 194.0 741.0 74.0 \n", + "6 197.0 520.0 0.0 \n", + "7 15.0 13.0 3.0 \n", + "8 386.0 769.0 148.0 \n", + "9 74.0 57.0 9.0 \n", + "\n", + " less_one_year_college male_45_64_grade_9_12 one_year_more_college \\\n", + "0 261.0 24.0 683.0 \n", + "1 716.0 111.0 935.0 \n", + "2 106.0 7.0 207.0 \n", + "3 500.0 201.0 1092.0 \n", + "4 196.0 31.0 571.0 \n", + "5 705.0 408.0 1354.0 \n", + "6 360.0 347.0 1107.0 \n", + "7 26.0 0.0 34.0 \n", + "8 828.0 237.0 1843.0 \n", + "9 90.0 14.0 297.0 \n", + "\n", + " rent_10_to_15_percent rent_15_to_20_percent rent_20_to_25_percent \\\n", + "0 94.0 22.0 52.0 \n", + "1 180.0 193.0 164.0 \n", + "2 27.0 16.0 18.0 \n", + "3 64.0 100.0 59.0 \n", + "4 87.0 63.0 58.0 \n", + "5 263.0 285.0 371.0 \n", + "6 109.0 22.0 83.0 \n", + "7 13.0 3.0 1.0 \n", + "8 149.0 96.0 162.0 \n", + "9 32.0 46.0 8.0 \n", + "\n", + " rent_25_to_30_percent rent_30_to_35_percent rent_35_to_40_percent \\\n", + "0 15.0 45.0 5.0 \n", + "1 144.0 51.0 77.0 \n", + "2 13.0 19.0 8.0 \n", + "3 44.0 46.0 25.0 \n", + "4 79.0 2.0 37.0 \n", + "5 367.0 188.0 167.0 \n", + "6 98.0 107.0 49.0 \n", + "7 3.0 2.0 5.0 \n", + "8 91.0 35.0 109.0 \n", + "9 34.0 26.0 15.0 \n", + "\n", + " rent_40_to_50_percent rent_under_10_percent sales_office_employed \\\n", + "0 32.0 6.0 404.0 \n", + "1 168.0 75.0 1081.0 \n", + "2 0.0 10.0 185.0 \n", + "3 24.0 19.0 809.0 \n", + "4 104.0 64.0 484.0 \n", + "5 267.0 155.0 1164.0 \n", + "6 35.0 71.0 894.0 \n", + "7 0.0 0.0 20.0 \n", + "8 75.0 51.0 1347.0 \n", + "9 13.0 22.0 156.0 \n", + "\n", + " speak_spanish_at_home two_or_more_races_pop dwellings_3_to_4_units \\\n", + "0 None 83.0 41.0 \n", + "1 None 188.0 291.0 \n", + "2 None 3.0 33.0 \n", + "3 None 143.0 110.0 \n", + "4 None 233.0 108.0 \n", + "5 None 316.0 513.0 \n", + "6 None 107.0 53.0 \n", + "7 None 9.0 0.0 \n", + "8 None 151.0 163.0 \n", + "9 None 0.0 6.0 \n", + "\n", + " dwellings_5_to_9_units employed_manufacturing male_45_64_high_school \\\n", + "0 49.0 215.0 287.0 \n", + "1 101.0 870.0 680.0 \n", + "2 0.0 6.0 82.0 \n", + "3 16.0 214.0 458.0 \n", + "4 70.0 41.0 387.0 \n", + "5 49.0 1328.0 866.0 \n", + "6 105.0 45.0 736.0 \n", + "7 0.0 13.0 21.0 \n", + "8 0.0 787.0 918.0 \n", + "9 6.0 22.0 111.0 \n", + "\n", + " occupied_housing_units male_45_64_some_college mortgaged_housing_units \\\n", + "0 2405.0 247.0 1122.0 \n", + "1 4614.0 264.0 1552.0 \n", + "2 828.0 61.0 306.0 \n", + "3 3143.0 203.0 889.0 \n", + "4 2424.0 140.0 663.0 \n", + "5 6875.0 337.0 1652.0 \n", + "6 4316.0 218.0 958.0 \n", + "7 177.0 7.0 25.0 \n", + "8 6727.0 540.0 2932.0 \n", + "9 805.0 85.0 257.0 \n", + "\n", + " occupation_sales_office population_3_years_over asian_including_hispanic \\\n", + "0 404.0 5553.0 0.0 \n", + "1 1081.0 9869.0 0.0 \n", + "2 185.0 1623.0 0.0 \n", + "3 809.0 7863.0 0.0 \n", + "4 484.0 5334.0 0.0 \n", + "5 1164.0 16514.0 0.0 \n", + "6 894.0 11860.0 0.0 \n", + "7 20.0 415.0 0.0 \n", + "8 1347.0 16615.0 0.0 \n", + "9 156.0 1870.0 0.0 \n", + "\n", + " black_including_hispanic dwellings_10_to_19_units \\\n", + "0 4.0 41.0 \n", + "1 0.0 49.0 \n", + "2 1.0 0.0 \n", + "3 161.0 6.0 \n", + "4 0.0 38.0 \n", + "5 4717.0 90.0 \n", + "6 606.0 28.0 \n", + "7 0.0 0.0 \n", + "8 4762.0 52.0 \n", + "9 0.0 0.0 \n", + "\n", + " dwellings_20_to_49_units employed_wholesale_trade \\\n", + "0 0.0 42.0 \n", + "1 40.0 120.0 \n", + "2 0.0 13.0 \n", + "3 18.0 39.0 \n", + "4 52.0 75.0 \n", + "5 16.0 110.0 \n", + "6 18.0 88.0 \n", + "7 0.0 3.0 \n", + "8 12.0 221.0 \n", + "9 21.0 20.0 \n", + "\n", + " female_female_households rent_burden_not_computed \\\n", + "0 0.0 67.0 \n", + "1 3.0 185.0 \n", + "2 0.0 52.0 \n", + "3 0.0 137.0 \n", + "4 0.0 125.0 \n", + "5 5.0 540.0 \n", + "6 0.0 361.0 \n", + "7 0.0 30.0 \n", + "8 0.0 243.0 \n", + "9 0.0 68.0 \n", + "\n", + " white_including_hispanic high_school_including_ged \\\n", + "0 5533.0 1564.0 \n", + "1 9756.0 2785.0 \n", + "2 1649.0 361.0 \n", + "3 6969.0 1862.0 \n", + "4 4500.0 1511.0 \n", + "5 12113.0 4279.0 \n", + "6 11397.0 3313.0 \n", + "7 411.0 79.0 \n", + "8 12144.0 4105.0 \n", + "9 1783.0 493.0 \n", + "\n", + " commuters_by_car_truck_van dwellings_1_units_attached \\\n", + "0 2119.0 0.0 \n", + "1 4266.0 77.0 \n", + "2 774.0 22.0 \n", + "3 3281.0 23.0 \n", + "4 2410.0 16.0 \n", + "5 5853.0 54.0 \n", + "6 2752.0 37.0 \n", + "7 133.0 10.0 \n", + "8 6413.0 41.0 \n", + "9 612.0 7.0 \n", + "\n", + " dwellings_1_units_detached dwellings_50_or_more_units \\\n", + "0 2208.0 0.0 \n", + "1 4318.0 0.0 \n", + "2 890.0 0.0 \n", + "3 3498.0 0.0 \n", + "4 2281.0 0.0 \n", + "5 6098.0 91.0 \n", + "6 2976.0 54.0 \n", + "7 229.0 0.0 \n", + "8 6183.0 2.0 \n", + "9 863.0 6.0 \n", + "\n", + " housing_built_2000_to_2004 male_45_64_graduate_degree \\\n", + "0 61.0 87.0 \n", + "1 27.0 32.0 \n", + "2 15.0 3.0 \n", + "3 78.0 17.0 \n", + "4 43.0 32.0 \n", + "5 206.0 25.0 \n", + "6 143.0 41.0 \n", + "7 3.0 1.0 \n", + "8 218.0 113.0 \n", + "9 12.0 15.0 \n", + "\n", + " occupation_management_arts population_1_year_and_over \\\n", + "0 955.0 5634.0 \n", + "1 1470.0 10138.0 \n", + "2 264.0 1659.0 \n", + "3 850.0 8140.0 \n", + "4 1217.0 5425.0 \n", + "5 1560.0 17033.0 \n", + "6 875.0 12072.0 \n", + "7 83.0 421.0 \n", + "8 2279.0 16964.0 \n", + "9 233.0 1903.0 \n", + "\n", + " speak_only_english_at_home housing_built_2005_or_later \\\n", + "0 None 16.0 \n", + "1 None 5.0 \n", + "2 None 0.0 \n", + "3 None 39.0 \n", + "4 None 19.0 \n", + "5 None 20.0 \n", + "6 None 55.0 \n", + "7 None 0.0 \n", + "8 None 102.0 \n", + "9 None 15.0 \n", + "\n", + " male_45_64_bachelors_degree median_year_structure_built \\\n", + "0 158.0 1987.0 \n", + "1 178.0 1952.0 \n", + "2 48.0 1957.0 \n", + "3 93.0 1969.0 \n", + "4 152.0 1966.0 \n", + "5 211.0 1968.0 \n", + "6 19.0 1985.0 \n", + "7 6.0 1959.0 \n", + "8 153.0 1983.0 \n", + "9 40.0 1957.0 \n", + "\n", + " children_in_single_female_hh families_with_young_children \\\n", + "0 147.0 335.0 \n", + "1 756.0 662.0 \n", + "2 43.0 137.0 \n", + "3 396.0 589.0 \n", + "4 220.0 338.0 \n", + "5 2120.0 1330.0 \n", + "6 473.0 787.0 \n", + "7 3.0 27.0 \n", + "8 761.0 1033.0 \n", + "9 109.0 128.0 \n", + "\n", + " graduate_professional_degree households_retirement_income \\\n", + "0 337.0 625.0 \n", + "1 281.0 807.0 \n", + "2 72.0 107.0 \n", + "3 261.0 679.0 \n", + "4 210.0 261.0 \n", + "5 532.0 1138.0 \n", + "6 327.0 987.0 \n", + "7 19.0 23.0 \n", + "8 987.0 1480.0 \n", + "9 64.0 169.0 \n", + "\n", + " male_45_64_associates_degree male_45_64_less_than_9_grade \\\n", + "0 92.0 13.0 \n", + "1 151.0 33.0 \n", + "2 22.0 3.0 \n", + "3 7.0 75.0 \n", + "4 83.0 56.0 \n", + "5 58.0 251.0 \n", + "6 117.0 153.0 \n", + "7 15.0 0.0 \n", + "8 175.0 96.0 \n", + "9 5.0 13.0 \n", + "\n", + " million_dollar_housing_units owner_occupied_housing_units \\\n", + "0 26.0 2020.0 \n", + "1 0.0 3131.0 \n", + "2 0.0 649.0 \n", + "3 35.0 2398.0 \n", + "4 16.0 1677.0 \n", + "5 0.0 3631.0 \n", + "6 0.0 3114.0 \n", + "7 0.0 112.0 \n", + "8 0.0 5531.0 \n", + "9 0.0 515.0 \n", + "\n", + " percent_income_spent_on_rent aggregate_travel_time_to_work \\\n", + "0 23.6 60655.0 \n", + "1 26.3 86680.0 \n", + "2 22.9 NaN \n", + "3 32.0 53750.0 \n", + "4 27.5 40040.0 \n", + "5 28.8 105750.0 \n", + "6 31.8 98955.0 \n", + "7 25.8 3040.0 \n", + "8 26.0 171195.0 \n", + "9 25.4 11965.0 \n", + "\n", + " amerindian_including_hispanic housing_built_1939_or_earlier \\\n", + "0 84.0 97.0 \n", + "1 64.0 181.0 \n", + "2 39.0 95.0 \n", + "3 1.0 551.0 \n", + "4 747.0 255.0 \n", + "5 18.0 853.0 \n", + "6 9.0 141.0 \n", + "7 0.0 31.0 \n", + "8 5.0 343.0 \n", + "9 99.0 73.0 \n", + "\n", + " housing_units_renter_occupied pop_determined_poverty_status \\\n", + "0 385.0 5711.0 \n", + "1 1483.0 10014.0 \n", + "2 179.0 1690.0 \n", + "3 745.0 7955.0 \n", + "4 747.0 5294.0 \n", + "5 3244.0 17042.0 \n", + "6 1202.0 10690.0 \n", + "7 65.0 421.0 \n", + "8 1196.0 16806.0 \n", + "9 290.0 1906.0 \n", + "\n", + " vacant_housing_units_for_rent vacant_housing_units_for_sale \\\n", + "0 11.0 34.0 \n", + "1 142.0 67.0 \n", + "2 28.0 0.0 \n", + "3 31.0 57.0 \n", + "4 95.0 39.0 \n", + "5 313.0 89.0 \n", + "6 63.0 38.0 \n", + "7 2.0 0.0 \n", + "8 222.0 164.0 \n", + "9 22.0 38.0 \n", + "\n", + " employed_public_administration less_than_high_school_graduate \\\n", + "0 291.0 231.0 \n", + "1 122.0 633.0 \n", + "2 28.0 76.0 \n", + "3 192.0 1229.0 \n", + "4 118.0 408.0 \n", + "5 313.0 2867.0 \n", + "6 164.0 2339.0 \n", + "7 3.0 13.0 \n", + "8 196.0 2348.0 \n", + "9 62.0 152.0 \n", + "\n", + " commuters_by_subway_or_elevated bachelors_degree_or_higher_25_64 \\\n", + "0 0.0 873.0 \n", + "1 0.0 856.0 \n", + "2 0.0 211.0 \n", + "3 0.0 556.0 \n", + "4 0.0 580.0 \n", + "5 0.0 1066.0 \n", + "6 0.0 553.0 \n", + "7 0.0 59.0 \n", + "8 0.0 1485.0 \n", + "9 0.0 194.0 \n", + "\n", + " employed_education_health_social speak_spanish_at_home_low_english \\\n", + "0 380.0 None \n", + "1 1172.0 None \n", + "2 196.0 None \n", + "3 647.0 None \n", + "4 674.0 None \n", + "5 1780.0 None \n", + "6 775.0 None \n", + "7 37.0 None \n", + "8 1673.0 None \n", + "9 121.0 None \n", + "\n", + " commuters_by_public_transportation different_house_year_ago_same_city \\\n", + "0 0.0 32.0 \n", + "1 21.0 550.0 \n", + "2 0.0 61.0 \n", + "3 2.0 634.0 \n", + "4 37.0 182.0 \n", + "5 23.0 1577.0 \n", + "6 0.0 74.0 \n", + "7 0.0 1.0 \n", + "8 0.0 378.0 \n", + "9 0.0 108.0 \n", + "\n", + " some_college_and_associates_degree households_public_asst_or_food_stamps \\\n", + "0 1212.0 179.0 \n", + "1 2577.0 831.0 \n", + "2 448.0 61.0 \n", + "3 1809.0 600.0 \n", + "4 1086.0 340.0 \n", + "5 2719.0 2237.0 \n", + "6 2195.0 1218.0 \n", + "7 93.0 6.0 \n", + "8 3596.0 1129.0 \n", + "9 464.0 99.0 \n", + "\n", + " management_business_sci_arts_employed \\\n", + "0 955.0 \n", + "1 1470.0 \n", + "2 264.0 \n", + "3 850.0 \n", + "4 1217.0 \n", + "5 1560.0 \n", + "6 875.0 \n", + "7 83.0 \n", + "8 2279.0 \n", + "9 233.0 \n", + "\n", + " employed_finance_insurance_real_estate \\\n", + "0 141.0 \n", + "1 170.0 \n", + "2 30.0 \n", + "3 133.0 \n", + "4 184.0 \n", + "5 282.0 \n", + "6 162.0 \n", + "7 1.0 \n", + "8 279.0 \n", + "9 11.0 \n", + "\n", + " different_house_year_ago_different_city \\\n", + "0 471.0 \n", + "1 839.0 \n", + "2 84.0 \n", + "3 829.0 \n", + "4 444.0 \n", + "5 1594.0 \n", + "6 1449.0 \n", + "7 54.0 \n", + "8 983.0 \n", + "9 114.0 \n", + "\n", + " employed_science_management_admin_waste \\\n", + "0 141.0 \n", + "1 173.0 \n", + "2 34.0 \n", + "3 231.0 \n", + "4 92.0 \n", + "5 164.0 \n", + "6 85.0 \n", + "7 3.0 \n", + "8 495.0 \n", + "9 89.0 \n", + "\n", + " one_parent_families_with_young_children \\\n", + "0 64.0 \n", + "1 327.0 \n", + "2 20.0 \n", + "3 206.0 \n", + "4 85.0 \n", + "5 813.0 \n", + "6 184.0 \n", + "7 2.0 \n", + "8 394.0 \n", + "9 49.0 \n", + "\n", + " two_parent_families_with_young_children \\\n", + "0 271.0 \n", + "1 335.0 \n", + "2 117.0 \n", + "3 383.0 \n", + "4 253.0 \n", + "5 517.0 \n", + "6 603.0 \n", + "7 25.0 \n", + "8 639.0 \n", + "9 79.0 \n", + "\n", + " employed_other_services_not_public_admin \\\n", + "0 94.0 \n", + "1 301.0 \n", + "2 51.0 \n", + "3 363.0 \n", + "4 139.0 \n", + "5 304.0 \n", + "6 183.0 \n", + "7 6.0 \n", + "8 231.0 \n", + "9 17.0 \n", + "\n", + " owner_occupied_housing_units_median_value \\\n", + "0 195000.0 \n", + "1 81800.0 \n", + "2 76400.0 \n", + "3 82000.0 \n", + "4 85800.0 \n", + "5 73300.0 \n", + "6 65500.0 \n", + "7 101500.0 \n", + "8 112600.0 \n", + "9 110900.0 \n", + "\n", + " employed_transportation_warehousing_utilities \\\n", + "0 90.0 \n", + "1 245.0 \n", + "2 55.0 \n", + "3 401.0 \n", + "4 52.0 \n", + "5 299.0 \n", + "6 165.0 \n", + "7 9.0 \n", + "8 788.0 \n", + "9 96.0 \n", + "\n", + " occupation_production_transportation_material \\\n", + "0 310.0 \n", + "1 949.0 \n", + "2 73.0 \n", + "3 510.0 \n", + "4 306.0 \n", + "5 1565.0 \n", + "6 319.0 \n", + "7 21.0 \n", + "8 1238.0 \n", + "9 126.0 \n", + "\n", + " father_one_parent_families_with_young_children \\\n", + "0 0.0 \n", + "1 29.0 \n", + "2 13.0 \n", + "3 165.0 \n", + "4 26.0 \n", + "5 89.0 \n", + "6 24.0 \n", + "7 2.0 \n", + "8 89.0 \n", + "9 21.0 \n", + "\n", + " owner_occupied_housing_units_lower_value_quartile \\\n", + "0 119800.0 \n", + "1 49500.0 \n", + "2 44300.0 \n", + "3 41600.0 \n", + "4 51600.0 \n", + "5 37000.0 \n", + "6 30000.0 \n", + "7 57000.0 \n", + "8 62700.0 \n", + "9 83300.0 \n", + "\n", + " owner_occupied_housing_units_upper_value_quartile \\\n", + "0 301300.0 \n", + "1 126300.0 \n", + "2 124400.0 \n", + "3 165300.0 \n", + "4 156600.0 \n", + "5 120900.0 \n", + "6 117600.0 \n", + "7 162500.0 \n", + "8 189100.0 \n", + "9 162900.0 \n", + "\n", + " employed_agriculture_forestry_fishing_hunting_mining \\\n", + "0 460.0 \n", + "1 349.0 \n", + "2 253.0 \n", + "3 602.0 \n", + "4 706.0 \n", + "5 405.0 \n", + "6 392.0 \n", + "7 67.0 \n", + "8 353.0 \n", + "9 96.0 \n", + "\n", + " occupation_natural_resources_construction_maintenance \\\n", + "0 491.0 \n", + "1 514.0 \n", + "2 198.0 \n", + "3 719.0 \n", + "4 459.0 \n", + "5 596.0 \n", + "6 516.0 \n", + "7 36.0 \n", + "8 766.0 \n", + "9 123.0 \n", + "\n", + " two_parents_in_labor_force_families_with_young_children \\\n", + "0 90.0 \n", + "1 248.0 \n", + "2 65.0 \n", + "3 214.0 \n", + "4 215.0 \n", + "5 216.0 \n", + "6 275.0 \n", + "7 13.0 \n", + "8 386.0 \n", + "9 10.0 \n", + "\n", + " employed_arts_entertainment_recreation_accommodation_food \\\n", + "0 186.0 \n", + "1 213.0 \n", + "2 24.0 \n", + "3 265.0 \n", + "4 114.0 \n", + "5 380.0 \n", + "6 226.0 \n", + "7 6.0 \n", + "8 697.0 \n", + "9 72.0 \n", + "\n", + " renter_occupied_housing_units_paying_cash_median_gross_rent \\\n", + "0 640.0 \n", + "1 664.0 \n", + "2 551.0 \n", + "3 721.0 \n", + "4 562.0 \n", + "5 568.0 \n", + "6 483.0 \n", + "7 658.0 \n", + "8 603.0 \n", + "9 814.0 \n", + "\n", + " two_parents_not_in_labor_force_families_with_young_children \\\n", + "0 18.0 \n", + "1 12.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 2.0 \n", + "6 78.0 \n", + "7 0.0 \n", + "8 8.0 \n", + "9 0.0 \n", + "\n", + " father_in_labor_force_one_parent_families_with_young_children \\\n", + "0 0.0 \n", + "1 25.0 \n", + "2 13.0 \n", + "3 165.0 \n", + "4 14.0 \n", + "5 69.0 \n", + "6 24.0 \n", + "7 2.0 \n", + "8 80.0 \n", + "9 21.0 \n", + "\n", + " two_parents_father_in_labor_force_families_with_young_children \\\n", + "0 163.0 \n", + "1 64.0 \n", + "2 48.0 \n", + "3 169.0 \n", + "4 32.0 \n", + "5 299.0 \n", + "6 211.0 \n", + "7 12.0 \n", + "8 245.0 \n", + "9 67.0 \n", + "\n", + " two_parents_mother_in_labor_force_families_with_young_children \n", + "0 0.0 \n", + "1 11.0 \n", + "2 4.0 \n", + "3 0.0 \n", + "4 6.0 \n", + "5 0.0 \n", + "6 39.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 2.0 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Apply a standard filter when downloading the dataset" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's say we are interested in the `children` variable to know the number of children per county, we can download just that variable and the geometry and visualise the result in a map." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "dataset_df = dataset.to_dataframe(sql_query=\"select children, geom from $dataset$\")" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
    \n", + "
    \n", + "
    \n", + " \n", + "
    \n", + " \n", + " \n", + "
    \n", + "
    \n", + " \n", + "\n", + "
    \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
    \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
    \n", + " \n", + " \n", + "
    \n", + "
    \n", + "
    \n", + "
    \n", + " \n", + "
    \n", + "
    \n", + "
    \n", + "\n", + " \n", + "\n", + "
    \n", + "
    \n", + " :\n", + "
    \n", + " \n", + " \n", + "
    \n", + "
    \n", + "\n", + "
    \n", + " StackTrace\n", + "
      \n", + "
      \n", + "
      \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Map, Layer, color_bins_style\n", + "\n", + "Map(\n", + " Layer(dataset_df, color_bins_style('children'), geom_col='geom'),\n", + " show_info=True,\n", + " viewport={'zoom': 3.17, 'lat': 38.170209, 'lng': -102.736148}\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Apply a spatial filter when downloading the dataset" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now, instead of downloading just one field, let's download all of them but for a smaller region using a spatial filter. We will use a bounding box for this and you can calculate yours from here: http://bboxfinder.com." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
      \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
      geoiddo_datetotal_pophouseholdsmale_popfemale_popmedian_agemale_under_5male_5_to_9male_10_to_14male_15_to_17male_18_to_19male_20male_21male_22_to_24male_25_to_29male_30_to_34male_35_to_39male_40_to_44male_45_to_49male_50_to_54male_55_to_59male_60_to_61male_62_to_64male_65_to_66male_67_to_69male_70_to_74male_75_to_79male_80_to_84male_85_and_overfemale_under_5female_5_to_9female_10_to_14female_15_to_17female_18_to_19female_20female_21female_22_to_24female_25_to_29female_30_to_34female_35_to_39female_40_to_44female_45_to_49female_50_to_54female_55_to_59female_60_to_61female_62_to_64female_65_to_66female_67_to_69female_70_to_74female_75_to_79female_80_to_84female_85_and_overwhite_poppopulation_1_year_and_overpopulation_3_years_overpop_5_years_overpop_15_and_overpop_16_overpop_25_years_overpop_25_64pop_never_marriedpop_now_marriedpop_separatedpop_widowedpop_divorcednot_us_citizen_popblack_popasian_pophispanic_popamerindian_popother_race_poptwo_or_more_races_popwhite_including_hispanicblack_including_hispanicasian_including_hispanicamerindian_including_hispanichispanic_any_racenot_hispanic_popasian_male_45_54asian_male_55_64black_male_45_54black_male_55_64hispanic_male_45_54hispanic_male_55_64white_male_45_54white_male_55_64median_incomeincome_per_capitaincome_less_10000income_10000_14999income_15000_19999income_20000_24999income_25000_29999income_30000_34999income_35000_39999income_40000_44999income_45000_49999income_50000_59999income_60000_74999income_75000_99999income_100000_124999income_125000_149999income_150000_199999income_200000_or_morehouseholds_retirement_incomepop_determined_poverty_statuspovertygini_indexhousing_unitsrenter_occupied_housing_units_paying_cash_median_gross_rentowner_occupied_housing_units_lower_value_quartileowner_occupied_housing_units_median_valueowner_occupied_housing_units_upper_value_quartileoccupied_housing_unitshousing_units_renter_occupiedvacant_housing_unitsvacant_housing_units_for_rentvacant_housing_units_for_saledwellings_1_units_detacheddwellings_1_units_attacheddwellings_2_unitsdwellings_3_to_4_unitsdwellings_5_to_9_unitsdwellings_10_to_19_unitsdwellings_20_to_49_unitsdwellings_50_or_more_unitsmobile_homeshousing_built_2005_or_laterhousing_built_2000_to_2004housing_built_1939_or_earliermedian_year_structure_builtmarried_householdsnonfamily_householdsfamily_householdshouseholds_public_asst_or_food_stampsmale_male_householdsfemale_female_householdschildrenchildren_in_single_female_hhmedian_rentpercent_income_spent_on_rentrent_burden_not_computedrent_over_50_percentrent_40_to_50_percentrent_35_to_40_percentrent_30_to_35_percentrent_25_to_30_percentrent_20_to_25_percentrent_15_to_20_percentrent_10_to_15_percentrent_under_10_percentowner_occupied_housing_unitsmillion_dollar_housing_unitsmortgaged_housing_unitsdifferent_house_year_ago_different_citydifferent_house_year_ago_same_cityfamilies_with_young_childrentwo_parent_families_with_young_childrentwo_parents_in_labor_force_families_with_young_childrentwo_parents_father_in_labor_force_families_with_young_childrentwo_parents_mother_in_labor_force_families_with_young_childrentwo_parents_not_in_labor_force_families_with_young_childrenone_parent_families_with_young_childrenfather_one_parent_families_with_young_childrenfather_in_labor_force_one_parent_families_with_young_childrencommute_5_9_minscommute_less_10_minscommute_10_14_minscommute_15_19_minscommute_20_24_minscommute_25_29_minscommute_30_34_minscommute_35_39_minscommute_40_44_minscommute_35_44_minscommute_45_59_minscommute_60_more_minscommute_60_89_minscommute_90_more_minscommuters_16_overwalked_to_workworked_at_homeno_carno_carsone_cartwo_carsthree_carsfour_more_carsaggregate_travel_time_to_workcommuters_by_public_transportationcommuters_by_buscommuters_by_car_truck_vancommuters_by_carpoolcommuters_by_subway_or_elevatedcommuters_drove_alonegroup_quartersassociates_degreebachelors_degreehigh_school_diplomaless_one_year_collegemasters_degreeone_year_more_collegeless_than_high_school_graduatehigh_school_including_gedbachelors_degree_2bachelors_degree_or_higher_25_64graduate_professional_degreesome_college_and_associates_degreemale_45_64_associates_degreemale_45_64_bachelors_degreemale_45_64_graduate_degreemale_45_64_less_than_9_grademale_45_64_grade_9_12male_45_64_high_schoolmale_45_64_some_collegemale_45_to_64employed_popunemployed_poppop_in_labor_forcenot_in_labor_forceworkers_16_and_overarmed_forcescivilian_labor_forceemployed_agriculture_forestry_fishing_hunting_miningemployed_arts_entertainment_recreation_accommodation_foodemployed_constructionemployed_education_health_socialemployed_finance_insurance_real_estateemployed_informationemployed_manufacturingemployed_other_services_not_public_adminemployed_public_administrationemployed_retail_tradeemployed_science_management_admin_wasteemployed_transportation_warehousing_utilitiesemployed_wholesale_tradeoccupation_management_artsoccupation_natural_resources_construction_maintenanceoccupation_production_transportation_materialoccupation_sales_officeoccupation_servicesmanagement_business_sci_arts_employedsales_office_employedin_grades_1_to_4in_grades_5_to_8in_grades_9_to_12in_schoolin_undergrad_collegespeak_only_english_at_homespeak_spanish_at_homespeak_spanish_at_home_low_englishdo_labeldo_perimeterdo_areado_num_verticesgeom
      0180252013-01-0110598.04007.05355.05243.043.7283.0369.0309.0235.0142.011.041.0205.0282.0301.0284.0341.0355.0417.0438.0163.0259.0243.0171.0194.0145.0100.067.0278.0353.0326.0192.094.054.042.0191.0256.0276.0307.0328.0318.0415.0462.0160.0176.0131.0192.0264.0134.0182.0112.010214.010469.010216.0NaNNaN8559.07473.05538.0NaNNaNNaNNaNNaN6.021.00.0154.063.00.0146.010309.021.014.087.0154.010444.00.07.02.00.09.07.0757.0834.040067.019424.0360.0286.0314.0362.0179.0316.0183.0189.0189.0404.0524.0395.0160.076.060.010.0819.010412.01851.00.39755543.0562.051400.086700.0146100.04007.0673.01536.067.00.04190.019.030.030.060.014.066.00.01094.02.068.0210.01985.02069.01297.02710.0625.00.02.02345.0484.0348.030.1164.0116.072.026.041.075.077.050.038.014.03334.07.01764.0704.098.0615.0492.0287.0196.00.09.0123.054.048.0309.0475.0362.0374.0401.0216.0660.0143.0140.0283.0670.0647.0530.0117.04088.044.0107.047.0179.01004.01405.0957.0462.0133665.013.013.03987.0310.00.03677.0102.0502.0486.02782.0434.0226.0861.01354.03543.0486.0532.0293.01797.0114.0102.057.0110.0241.0832.0176.01632.04241.0191.04439.04120.04195.07.04432.0127.0391.0275.0873.0139.079.01071.0116.0204.0448.0226.0264.028.0912.0493.01246.0712.0878.0912.0712.0626.0492.0617.02321.0306.0NaNNaNNaNCrawford150379.2057.998498e+0838POLYGON ((-86.67951 38.26309, -86.57014 38.266...
      110912013-01-0119743.07975.09235.010508.042.1514.0601.0660.0421.0236.0133.0117.0307.0635.0487.0529.0506.0569.0628.0728.0212.0358.0242.0234.0475.0372.0215.056.0681.0503.0755.0399.0366.0177.082.0234.0600.0561.0566.0661.0667.0717.0579.0396.0470.0266.0361.0459.0439.0347.0222.08909.019541.019169.0NaNNaN15822.013557.09869.0NaNNaNNaNNaNNaN78.010689.00.088.011.09.037.08954.010689.00.011.088.019655.00.00.0583.0650.00.00.0605.0648.032255.022996.01429.0656.0701.0580.0451.0468.0258.0335.0310.0412.0713.0663.0321.0272.0301.0105.01763.019502.05000.00.530310307.0552.040700.088100.0172700.07975.02286.02332.098.086.06806.064.0109.0183.0494.0105.043.09.02472.083.0128.0715.01979.03102.03358.04617.01971.00.01.04534.01909.0349.029.9706.0349.0195.067.0176.0189.099.0212.0133.0160.05689.05.02383.0985.0734.01398.0572.0268.0168.056.080.0826.0122.0122.01043.01643.0698.0695.0822.0397.0749.0143.0144.0287.0377.0690.0433.0257.06358.081.0184.0297.0922.03037.02720.0783.0513.0161900.00.00.06126.0371.00.05755.0233.01084.01315.04881.0800.0611.01930.02279.05375.01315.01665.0774.03814.0277.0366.0126.086.0351.0993.0296.02495.06645.0975.07620.08202.06542.00.07620.0249.0371.0266.01606.0278.0107.01144.0376.0295.0916.0340.0607.090.01970.0760.01386.01361.01168.01970.01361.0918.01229.01185.04829.0811.0NaNNaNNaNMarengo252631.6062.550527e+0968POLYGON ((-87.96789 32.29825, -87.97567 32.307...
      250032013-01-0120771.08182.010126.010645.041.8536.0865.0713.0478.0269.080.079.0577.0429.0560.0599.0513.0622.0692.0807.0306.0260.0438.0289.0350.0346.0164.0154.0578.0834.0482.0333.0209.082.051.0439.0611.0511.0767.0634.0759.0813.0755.0235.0415.0284.0303.0626.0447.0223.0254.014126.020622.020198.0NaNNaN16422.014166.010288.0NaNNaNNaNNaNNaN416.05309.00.01083.049.031.0173.014939.05309.00.049.01083.019688.00.00.0341.0352.023.028.0950.0993.036407.020703.0857.0784.0637.0498.0503.0637.0560.0369.0283.0527.0646.0872.0542.0178.0164.0125.01722.020552.04368.00.465810152.0608.038900.068200.0115200.08182.02128.01970.0376.0136.07052.056.0229.012.0190.034.082.041.02446.066.0208.0480.01976.04163.02622.05560.01651.00.00.04819.01436.0393.034.2357.0534.0216.0118.0109.0247.0169.0235.057.086.06054.06.02373.01188.0494.01186.0823.0351.0450.022.00.0363.022.022.01807.02364.01463.01102.0722.0341.0524.018.0144.0162.0400.0578.0348.0230.07656.0178.0126.0248.0542.02795.02854.01490.0501.0156480.019.019.07226.0607.00.06619.0193.0704.01333.05003.0786.0462.02485.02409.05883.01333.01483.0566.03975.0135.0219.052.077.0391.01158.0655.02687.07905.0870.08775.07647.07782.00.08775.0640.0287.0722.02045.0176.047.01407.0244.0418.0951.0329.0539.0100.02176.01086.01820.01494.01329.02176.01494.01344.01124.01022.05037.0801.0NaNNaNNaNAshley212505.7482.432888e+0937POLYGON ((-91.56167 33.39156, -91.60694 33.391...
      \n", + "
      " + ], + "text/plain": [ + " geoid do_date total_pop households male_pop female_pop median_age \\\n", + "0 18025 2013-01-01 10598.0 4007.0 5355.0 5243.0 43.7 \n", + "1 1091 2013-01-01 19743.0 7975.0 9235.0 10508.0 42.1 \n", + "2 5003 2013-01-01 20771.0 8182.0 10126.0 10645.0 41.8 \n", + "\n", + " male_under_5 male_5_to_9 male_10_to_14 male_15_to_17 male_18_to_19 \\\n", + "0 283.0 369.0 309.0 235.0 142.0 \n", + "1 514.0 601.0 660.0 421.0 236.0 \n", + "2 536.0 865.0 713.0 478.0 269.0 \n", + "\n", + " male_20 male_21 male_22_to_24 male_25_to_29 male_30_to_34 \\\n", + "0 11.0 41.0 205.0 282.0 301.0 \n", + "1 133.0 117.0 307.0 635.0 487.0 \n", + "2 80.0 79.0 577.0 429.0 560.0 \n", + "\n", + " male_35_to_39 male_40_to_44 male_45_to_49 male_50_to_54 male_55_to_59 \\\n", + "0 284.0 341.0 355.0 417.0 438.0 \n", + "1 529.0 506.0 569.0 628.0 728.0 \n", + "2 599.0 513.0 622.0 692.0 807.0 \n", + "\n", + " male_60_to_61 male_62_to_64 male_65_to_66 male_67_to_69 male_70_to_74 \\\n", + "0 163.0 259.0 243.0 171.0 194.0 \n", + "1 212.0 358.0 242.0 234.0 475.0 \n", + "2 306.0 260.0 438.0 289.0 350.0 \n", + "\n", + " male_75_to_79 male_80_to_84 male_85_and_over female_under_5 \\\n", + "0 145.0 100.0 67.0 278.0 \n", + "1 372.0 215.0 56.0 681.0 \n", + "2 346.0 164.0 154.0 578.0 \n", + "\n", + " female_5_to_9 female_10_to_14 female_15_to_17 female_18_to_19 \\\n", + "0 353.0 326.0 192.0 94.0 \n", + "1 503.0 755.0 399.0 366.0 \n", + "2 834.0 482.0 333.0 209.0 \n", + "\n", + " female_20 female_21 female_22_to_24 female_25_to_29 female_30_to_34 \\\n", + "0 54.0 42.0 191.0 256.0 276.0 \n", + "1 177.0 82.0 234.0 600.0 561.0 \n", + "2 82.0 51.0 439.0 611.0 511.0 \n", + "\n", + " female_35_to_39 female_40_to_44 female_45_to_49 female_50_to_54 \\\n", + "0 307.0 328.0 318.0 415.0 \n", + "1 566.0 661.0 667.0 717.0 \n", + "2 767.0 634.0 759.0 813.0 \n", + "\n", + " female_55_to_59 female_60_to_61 female_62_to_64 female_65_to_66 \\\n", + "0 462.0 160.0 176.0 131.0 \n", + "1 579.0 396.0 470.0 266.0 \n", + "2 755.0 235.0 415.0 284.0 \n", + "\n", + " female_67_to_69 female_70_to_74 female_75_to_79 female_80_to_84 \\\n", + "0 192.0 264.0 134.0 182.0 \n", + "1 361.0 459.0 439.0 347.0 \n", + "2 303.0 626.0 447.0 223.0 \n", + "\n", + " female_85_and_over white_pop population_1_year_and_over \\\n", + "0 112.0 10214.0 10469.0 \n", + "1 222.0 8909.0 19541.0 \n", + "2 254.0 14126.0 20622.0 \n", + "\n", + " population_3_years_over pop_5_years_over pop_15_and_over pop_16_over \\\n", + "0 10216.0 NaN NaN 8559.0 \n", + "1 19169.0 NaN NaN 15822.0 \n", + "2 20198.0 NaN NaN 16422.0 \n", + "\n", + " pop_25_years_over pop_25_64 pop_never_married pop_now_married \\\n", + "0 7473.0 5538.0 NaN NaN \n", + "1 13557.0 9869.0 NaN NaN \n", + "2 14166.0 10288.0 NaN NaN \n", + "\n", + " pop_separated pop_widowed pop_divorced not_us_citizen_pop black_pop \\\n", + "0 NaN NaN NaN 6.0 21.0 \n", + "1 NaN NaN NaN 78.0 10689.0 \n", + "2 NaN NaN NaN 416.0 5309.0 \n", + "\n", + " asian_pop hispanic_pop amerindian_pop other_race_pop \\\n", + "0 0.0 154.0 63.0 0.0 \n", + "1 0.0 88.0 11.0 9.0 \n", + "2 0.0 1083.0 49.0 31.0 \n", + "\n", + " two_or_more_races_pop white_including_hispanic black_including_hispanic \\\n", + "0 146.0 10309.0 21.0 \n", + "1 37.0 8954.0 10689.0 \n", + "2 173.0 14939.0 5309.0 \n", + "\n", + " asian_including_hispanic amerindian_including_hispanic hispanic_any_race \\\n", + "0 14.0 87.0 154.0 \n", + "1 0.0 11.0 88.0 \n", + "2 0.0 49.0 1083.0 \n", + "\n", + " not_hispanic_pop asian_male_45_54 asian_male_55_64 black_male_45_54 \\\n", + "0 10444.0 0.0 7.0 2.0 \n", + "1 19655.0 0.0 0.0 583.0 \n", + "2 19688.0 0.0 0.0 341.0 \n", + "\n", + " black_male_55_64 hispanic_male_45_54 hispanic_male_55_64 \\\n", + "0 0.0 9.0 7.0 \n", + "1 650.0 0.0 0.0 \n", + "2 352.0 23.0 28.0 \n", + "\n", + " white_male_45_54 white_male_55_64 median_income income_per_capita \\\n", + "0 757.0 834.0 40067.0 19424.0 \n", + "1 605.0 648.0 32255.0 22996.0 \n", + "2 950.0 993.0 36407.0 20703.0 \n", + "\n", + " income_less_10000 income_10000_14999 income_15000_19999 \\\n", + "0 360.0 286.0 314.0 \n", + "1 1429.0 656.0 701.0 \n", + "2 857.0 784.0 637.0 \n", + "\n", + " income_20000_24999 income_25000_29999 income_30000_34999 \\\n", + "0 362.0 179.0 316.0 \n", + "1 580.0 451.0 468.0 \n", + "2 498.0 503.0 637.0 \n", + "\n", + " income_35000_39999 income_40000_44999 income_45000_49999 \\\n", + "0 183.0 189.0 189.0 \n", + "1 258.0 335.0 310.0 \n", + "2 560.0 369.0 283.0 \n", + "\n", + " income_50000_59999 income_60000_74999 income_75000_99999 \\\n", + "0 404.0 524.0 395.0 \n", + "1 412.0 713.0 663.0 \n", + "2 527.0 646.0 872.0 \n", + "\n", + " income_100000_124999 income_125000_149999 income_150000_199999 \\\n", + "0 160.0 76.0 60.0 \n", + "1 321.0 272.0 301.0 \n", + "2 542.0 178.0 164.0 \n", + "\n", + " income_200000_or_more households_retirement_income \\\n", + "0 10.0 819.0 \n", + "1 105.0 1763.0 \n", + "2 125.0 1722.0 \n", + "\n", + " pop_determined_poverty_status poverty gini_index housing_units \\\n", + "0 10412.0 1851.0 0.3975 5543.0 \n", + "1 19502.0 5000.0 0.5303 10307.0 \n", + "2 20552.0 4368.0 0.4658 10152.0 \n", + "\n", + " renter_occupied_housing_units_paying_cash_median_gross_rent \\\n", + "0 562.0 \n", + "1 552.0 \n", + "2 608.0 \n", + "\n", + " owner_occupied_housing_units_lower_value_quartile \\\n", + "0 51400.0 \n", + "1 40700.0 \n", + "2 38900.0 \n", + "\n", + " owner_occupied_housing_units_median_value \\\n", + "0 86700.0 \n", + "1 88100.0 \n", + "2 68200.0 \n", + "\n", + " owner_occupied_housing_units_upper_value_quartile occupied_housing_units \\\n", + "0 146100.0 4007.0 \n", + "1 172700.0 7975.0 \n", + "2 115200.0 8182.0 \n", + "\n", + " housing_units_renter_occupied vacant_housing_units \\\n", + "0 673.0 1536.0 \n", + "1 2286.0 2332.0 \n", + "2 2128.0 1970.0 \n", + "\n", + " vacant_housing_units_for_rent vacant_housing_units_for_sale \\\n", + "0 67.0 0.0 \n", + "1 98.0 86.0 \n", + "2 376.0 136.0 \n", + "\n", + " dwellings_1_units_detached dwellings_1_units_attached dwellings_2_units \\\n", + "0 4190.0 19.0 30.0 \n", + "1 6806.0 64.0 109.0 \n", + "2 7052.0 56.0 229.0 \n", + "\n", + " dwellings_3_to_4_units dwellings_5_to_9_units dwellings_10_to_19_units \\\n", + "0 30.0 60.0 14.0 \n", + "1 183.0 494.0 105.0 \n", + "2 12.0 190.0 34.0 \n", + "\n", + " dwellings_20_to_49_units dwellings_50_or_more_units mobile_homes \\\n", + "0 66.0 0.0 1094.0 \n", + "1 43.0 9.0 2472.0 \n", + "2 82.0 41.0 2446.0 \n", + "\n", + " housing_built_2005_or_later housing_built_2000_to_2004 \\\n", + "0 2.0 68.0 \n", + "1 83.0 128.0 \n", + "2 66.0 208.0 \n", + "\n", + " housing_built_1939_or_earlier median_year_structure_built \\\n", + "0 210.0 1985.0 \n", + "1 715.0 1979.0 \n", + "2 480.0 1976.0 \n", + "\n", + " married_households nonfamily_households family_households \\\n", + "0 2069.0 1297.0 2710.0 \n", + "1 3102.0 3358.0 4617.0 \n", + "2 4163.0 2622.0 5560.0 \n", + "\n", + " households_public_asst_or_food_stamps male_male_households \\\n", + "0 625.0 0.0 \n", + "1 1971.0 0.0 \n", + "2 1651.0 0.0 \n", + "\n", + " female_female_households children children_in_single_female_hh \\\n", + "0 2.0 2345.0 484.0 \n", + "1 1.0 4534.0 1909.0 \n", + "2 0.0 4819.0 1436.0 \n", + "\n", + " median_rent percent_income_spent_on_rent rent_burden_not_computed \\\n", + "0 348.0 30.1 164.0 \n", + "1 349.0 29.9 706.0 \n", + "2 393.0 34.2 357.0 \n", + "\n", + " rent_over_50_percent rent_40_to_50_percent rent_35_to_40_percent \\\n", + "0 116.0 72.0 26.0 \n", + "1 349.0 195.0 67.0 \n", + "2 534.0 216.0 118.0 \n", + "\n", + " rent_30_to_35_percent rent_25_to_30_percent rent_20_to_25_percent \\\n", + "0 41.0 75.0 77.0 \n", + "1 176.0 189.0 99.0 \n", + "2 109.0 247.0 169.0 \n", + "\n", + " rent_15_to_20_percent rent_10_to_15_percent rent_under_10_percent \\\n", + "0 50.0 38.0 14.0 \n", + "1 212.0 133.0 160.0 \n", + "2 235.0 57.0 86.0 \n", + "\n", + " owner_occupied_housing_units million_dollar_housing_units \\\n", + "0 3334.0 7.0 \n", + "1 5689.0 5.0 \n", + "2 6054.0 6.0 \n", + "\n", + " mortgaged_housing_units different_house_year_ago_different_city \\\n", + "0 1764.0 704.0 \n", + "1 2383.0 985.0 \n", + "2 2373.0 1188.0 \n", + "\n", + " different_house_year_ago_same_city families_with_young_children \\\n", + "0 98.0 615.0 \n", + "1 734.0 1398.0 \n", + "2 494.0 1186.0 \n", + "\n", + " two_parent_families_with_young_children \\\n", + "0 492.0 \n", + "1 572.0 \n", + "2 823.0 \n", + "\n", + " two_parents_in_labor_force_families_with_young_children \\\n", + "0 287.0 \n", + "1 268.0 \n", + "2 351.0 \n", + "\n", + " two_parents_father_in_labor_force_families_with_young_children \\\n", + "0 196.0 \n", + "1 168.0 \n", + "2 450.0 \n", + "\n", + " two_parents_mother_in_labor_force_families_with_young_children \\\n", + "0 0.0 \n", + "1 56.0 \n", + "2 22.0 \n", + "\n", + " two_parents_not_in_labor_force_families_with_young_children \\\n", + "0 9.0 \n", + "1 80.0 \n", + "2 0.0 \n", + "\n", + " one_parent_families_with_young_children \\\n", + "0 123.0 \n", + "1 826.0 \n", + "2 363.0 \n", + "\n", + " father_one_parent_families_with_young_children \\\n", + "0 54.0 \n", + "1 122.0 \n", + "2 22.0 \n", + "\n", + " father_in_labor_force_one_parent_families_with_young_children \\\n", + "0 48.0 \n", + "1 122.0 \n", + "2 22.0 \n", + "\n", + " commute_5_9_mins commute_less_10_mins commute_10_14_mins \\\n", + "0 309.0 475.0 362.0 \n", + "1 1043.0 1643.0 698.0 \n", + "2 1807.0 2364.0 1463.0 \n", + "\n", + " commute_15_19_mins commute_20_24_mins commute_25_29_mins \\\n", + "0 374.0 401.0 216.0 \n", + "1 695.0 822.0 397.0 \n", + "2 1102.0 722.0 341.0 \n", + "\n", + " commute_30_34_mins commute_35_39_mins commute_40_44_mins \\\n", + "0 660.0 143.0 140.0 \n", + "1 749.0 143.0 144.0 \n", + "2 524.0 18.0 144.0 \n", + "\n", + " commute_35_44_mins commute_45_59_mins commute_60_more_mins \\\n", + "0 283.0 670.0 647.0 \n", + "1 287.0 377.0 690.0 \n", + "2 162.0 400.0 578.0 \n", + "\n", + " commute_60_89_mins commute_90_more_mins commuters_16_over \\\n", + "0 530.0 117.0 4088.0 \n", + "1 433.0 257.0 6358.0 \n", + "2 348.0 230.0 7656.0 \n", + "\n", + " walked_to_work worked_at_home no_car no_cars one_car two_cars \\\n", + "0 44.0 107.0 47.0 179.0 1004.0 1405.0 \n", + "1 81.0 184.0 297.0 922.0 3037.0 2720.0 \n", + "2 178.0 126.0 248.0 542.0 2795.0 2854.0 \n", + "\n", + " three_cars four_more_cars aggregate_travel_time_to_work \\\n", + "0 957.0 462.0 133665.0 \n", + "1 783.0 513.0 161900.0 \n", + "2 1490.0 501.0 156480.0 \n", + "\n", + " commuters_by_public_transportation commuters_by_bus \\\n", + "0 13.0 13.0 \n", + "1 0.0 0.0 \n", + "2 19.0 19.0 \n", + "\n", + " commuters_by_car_truck_van commuters_by_carpool \\\n", + "0 3987.0 310.0 \n", + "1 6126.0 371.0 \n", + "2 7226.0 607.0 \n", + "\n", + " commuters_by_subway_or_elevated commuters_drove_alone group_quarters \\\n", + "0 0.0 3677.0 102.0 \n", + "1 0.0 5755.0 233.0 \n", + "2 0.0 6619.0 193.0 \n", + "\n", + " associates_degree bachelors_degree high_school_diploma \\\n", + "0 502.0 486.0 2782.0 \n", + "1 1084.0 1315.0 4881.0 \n", + "2 704.0 1333.0 5003.0 \n", + "\n", + " less_one_year_college masters_degree one_year_more_college \\\n", + "0 434.0 226.0 861.0 \n", + "1 800.0 611.0 1930.0 \n", + "2 786.0 462.0 2485.0 \n", + "\n", + " less_than_high_school_graduate high_school_including_ged \\\n", + "0 1354.0 3543.0 \n", + "1 2279.0 5375.0 \n", + "2 2409.0 5883.0 \n", + "\n", + " bachelors_degree_2 bachelors_degree_or_higher_25_64 \\\n", + "0 486.0 532.0 \n", + "1 1315.0 1665.0 \n", + "2 1333.0 1483.0 \n", + "\n", + " graduate_professional_degree some_college_and_associates_degree \\\n", + "0 293.0 1797.0 \n", + "1 774.0 3814.0 \n", + "2 566.0 3975.0 \n", + "\n", + " male_45_64_associates_degree male_45_64_bachelors_degree \\\n", + "0 114.0 102.0 \n", + "1 277.0 366.0 \n", + "2 135.0 219.0 \n", + "\n", + " male_45_64_graduate_degree male_45_64_less_than_9_grade \\\n", + "0 57.0 110.0 \n", + "1 126.0 86.0 \n", + "2 52.0 77.0 \n", + "\n", + " male_45_64_grade_9_12 male_45_64_high_school male_45_64_some_college \\\n", + "0 241.0 832.0 176.0 \n", + "1 351.0 993.0 296.0 \n", + "2 391.0 1158.0 655.0 \n", + "\n", + " male_45_to_64 employed_pop unemployed_pop pop_in_labor_force \\\n", + "0 1632.0 4241.0 191.0 4439.0 \n", + "1 2495.0 6645.0 975.0 7620.0 \n", + "2 2687.0 7905.0 870.0 8775.0 \n", + "\n", + " not_in_labor_force workers_16_and_over armed_forces \\\n", + "0 4120.0 4195.0 7.0 \n", + "1 8202.0 6542.0 0.0 \n", + "2 7647.0 7782.0 0.0 \n", + "\n", + " civilian_labor_force employed_agriculture_forestry_fishing_hunting_mining \\\n", + "0 4432.0 127.0 \n", + "1 7620.0 249.0 \n", + "2 8775.0 640.0 \n", + "\n", + " employed_arts_entertainment_recreation_accommodation_food \\\n", + "0 391.0 \n", + "1 371.0 \n", + "2 287.0 \n", + "\n", + " employed_construction employed_education_health_social \\\n", + "0 275.0 873.0 \n", + "1 266.0 1606.0 \n", + "2 722.0 2045.0 \n", + "\n", + " employed_finance_insurance_real_estate employed_information \\\n", + "0 139.0 79.0 \n", + "1 278.0 107.0 \n", + "2 176.0 47.0 \n", + "\n", + " employed_manufacturing employed_other_services_not_public_admin \\\n", + "0 1071.0 116.0 \n", + "1 1144.0 376.0 \n", + "2 1407.0 244.0 \n", + "\n", + " employed_public_administration employed_retail_trade \\\n", + "0 204.0 448.0 \n", + "1 295.0 916.0 \n", + "2 418.0 951.0 \n", + "\n", + " employed_science_management_admin_waste \\\n", + "0 226.0 \n", + "1 340.0 \n", + "2 329.0 \n", + "\n", + " employed_transportation_warehousing_utilities employed_wholesale_trade \\\n", + "0 264.0 28.0 \n", + "1 607.0 90.0 \n", + "2 539.0 100.0 \n", + "\n", + " occupation_management_arts \\\n", + "0 912.0 \n", + "1 1970.0 \n", + "2 2176.0 \n", + "\n", + " occupation_natural_resources_construction_maintenance \\\n", + "0 493.0 \n", + "1 760.0 \n", + "2 1086.0 \n", + "\n", + " occupation_production_transportation_material occupation_sales_office \\\n", + "0 1246.0 712.0 \n", + "1 1386.0 1361.0 \n", + "2 1820.0 1494.0 \n", + "\n", + " occupation_services management_business_sci_arts_employed \\\n", + "0 878.0 912.0 \n", + "1 1168.0 1970.0 \n", + "2 1329.0 2176.0 \n", + "\n", + " sales_office_employed in_grades_1_to_4 in_grades_5_to_8 \\\n", + "0 712.0 626.0 492.0 \n", + "1 1361.0 918.0 1229.0 \n", + "2 1494.0 1344.0 1124.0 \n", + "\n", + " in_grades_9_to_12 in_school in_undergrad_college \\\n", + "0 617.0 2321.0 306.0 \n", + "1 1185.0 4829.0 811.0 \n", + "2 1022.0 5037.0 801.0 \n", + "\n", + " speak_only_english_at_home speak_spanish_at_home \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "\n", + " speak_spanish_at_home_low_english do_label do_perimeter do_area \\\n", + "0 NaN Crawford 150379.205 7.998498e+08 \n", + "1 NaN Marengo 252631.606 2.550527e+09 \n", + "2 NaN Ashley 212505.748 2.432888e+09 \n", + "\n", + " do_num_vertices geom \n", + "0 38 POLYGON ((-86.67951 38.26309, -86.57014 38.266... \n", + "1 68 POLYGON ((-87.96789 32.29825, -87.97567 32.307... \n", + "2 37 POLYGON ((-91.56167 33.39156, -91.60694 33.391... " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sql_query = \"SELECT * FROM $dataset$ WHERE ST_IntersectsBox(geom, -95.031738, 32.082575, -84.616699, 39.537940)\"\n", + "dataset_df = dataset.to_dataframe(sql_query=sql_query)\n", + "dataset_df.head(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
      \n", + "
      \n", + "
      \n", + " \n", + " \n", + "
      \n", + "
      \n", + " \n", + "\n", + "
      \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
      \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
      \n", + " \n", + " \n", + "
      \n", + "
      \n", + "
      \n", + "
      \n", + " \n", + "
      \n", + "
      \n", + "
      \n", + "\n", + " \n", + "\n", + "
      \n", + "
      \n", + " :\n", + "
      \n", + " \n", + " \n", + "
      \n", + "
      \n", + "\n", + "
      \n", + " StackTrace\n", + "
        \n", + "
        \n", + "
        \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Layer(dataset_df, color_bins_style('children'), geom_col='geom')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/examples/data_observatory/discover_dataset.ipynb b/docs/examples/data_observatory/discover_dataset.ipynb similarity index 99% rename from examples/data_observatory/discover_dataset.ipynb rename to docs/examples/data_observatory/discover_dataset.ipynb index b98e5a485..aafde9213 100644 --- a/examples/data_observatory/discover_dataset.ipynb +++ b/docs/examples/data_observatory/discover_dataset.ipynb @@ -14,14 +14,23 @@ "execution_count": 1, "metadata": {}, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You can find more entities with the Global country filter. To apply that filter run:\n", + "\tCatalog().country('glo')\n" + ] + }, { "data": { "text/plain": [ - "[,\n", + "[,\n", + " ,\n", " ,\n", + " ,\n", " ,\n", " ,\n", - " ,\n", " ,\n", " ,\n", " ,\n", @@ -44,6 +53,14 @@ "execution_count": 2, "metadata": {}, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You can find more entities with the Global country filter. To apply that filter run:\n", + "\tCatalog().country('glo')\n" + ] + }, { "data": { "text/plain": [ @@ -51,6 +68,8 @@ " ,\n", " ,\n", " ,\n", + " ,\n", + " ,\n", " ]" ] }, @@ -67,7 +86,16 @@ "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You can find more entities with the Global country filter. To apply that filter run:\n", + "\tCatalog().country('glo')\n" + ] + } + ], "source": [ "datasets_acs_df = Catalog().country('usa').category('demographics').provider('usa_acs').datasets.to_dataframe()" ] @@ -122,21 +150,21 @@ " \n", " \n", " 0\n", - " acs_sociodemogr_ecbce31e\n", + " acs_sociodemogr_a0c48b07\n", " Sociodemographics - United States of America (...\n", " The American Community Survey (ACS) is an ongo...\n", " demographics\n", " usa\n", " sociodemographics\n", " usa_acs\n", - " County - United States of America\n", + " County - United States of America (2015)\n", " Shoreline clipped TIGER/Line boundaries. More ...\n", - " 3yrs\n", - " [2007-01-01, 2010-01-01)\n", + " yearly\n", + " [2007-01-01, 2008-01-01)\n", " yearly\n", " True\n", " eng\n", - " 20072009\n", + " 2007\n", " Demographics\n", " American Community Survey\n", " carto-do-public-data.carto.geography_usa_count...\n", @@ -144,51 +172,51 @@ " \n", " \n", " 1\n", - " acs_sociodemogr_516e1d44\n", + " acs_sociodemogr_a03fb95f\n", " Sociodemographics - United States of America (...\n", " The American Community Survey (ACS) is an ongo...\n", " demographics\n", " usa\n", " sociodemographics\n", " usa_acs\n", - " County - United States of America\n", + " Congressional District - United States of Amer...\n", " Shoreline clipped TIGER/Line boundaries. More ...\n", - " 3yrs\n", - " [2011-01-01, 2014-01-01)\n", + " yearly\n", + " [2017-01-01, 2018-01-01)\n", " yearly\n", " True\n", " eng\n", - " 20112013\n", + " 2017\n", " Demographics\n", " American Community Survey\n", - " carto-do-public-data.carto.geography_usa_count...\n", + " carto-do-public-data.carto.geography_usa_congr...\n", " carto-do-public-data.usa_acs.demographics_soci...\n", " \n", " \n", " 2\n", - " acs_sociodemogr_477ca600\n", + " acs_sociodemogr_e7b702b0\n", " Sociodemographics - United States of America (...\n", " The American Community Survey (ACS) is an ongo...\n", " demographics\n", " usa\n", " sociodemographics\n", " usa_acs\n", - " County - United States of America\n", + " Core-based Statistical Area - United States of...\n", " Shoreline clipped TIGER/Line boundaries. More ...\n", - " yearly\n", - " [2009-01-01, 2010-01-01)\n", + " 3yrs\n", + " [2006-01-01, 2009-01-01)\n", " yearly\n", " True\n", " eng\n", - " 2009\n", + " 20062008\n", " Demographics\n", " American Community Survey\n", - " carto-do-public-data.carto.geography_usa_count...\n", + " carto-do-public-data.carto.geography_usa_cbsa_...\n", " carto-do-public-data.usa_acs.demographics_soci...\n", " \n", " \n", " 3\n", - " acs_sociodemogr_5f00d4dc\n", + " acs_sociodemogr_e1e92d8d\n", " Sociodemographics - United States of America (...\n", " The American Community Survey (ACS) is an ongo...\n", " demographics\n", @@ -197,12 +225,12 @@ " usa_acs\n", " Core-based Statistical Area - United States of...\n", " Shoreline clipped TIGER/Line boundaries. More ...\n", - " 5yrs\n", - " [2007-01-01, 2012-01-01)\n", + " yearly\n", + " [2013-01-01, 2014-01-01)\n", " yearly\n", " True\n", " eng\n", - " 20072011\n", + " 2013\n", " Demographics\n", " American Community Survey\n", " carto-do-public-data.carto.geography_usa_cbsa_...\n", @@ -210,24 +238,24 @@ " \n", " \n", " 4\n", - " acs_sociodemogr_18e867ac\n", + " acs_sociodemogr_30a865f1\n", " Sociodemographics - United States of America (...\n", " The American Community Survey (ACS) is an ongo...\n", " demographics\n", " usa\n", " sociodemographics\n", " usa_acs\n", - " County - United States of America\n", + " Core-based Statistical Area - United States of...\n", " Shoreline clipped TIGER/Line boundaries. More ...\n", - " 5yrs\n", - " [2011-01-01, 2016-01-01)\n", + " 3yrs\n", + " [2005-01-01, 2008-01-01)\n", " yearly\n", " True\n", " eng\n", - " 20112015\n", + " 20052007\n", " Demographics\n", " American Community Survey\n", - " carto-do-public-data.carto.geography_usa_count...\n", + " carto-do-public-data.carto.geography_usa_cbsa_...\n", " carto-do-public-data.usa_acs.demographics_soci...\n", " \n", " \n", @@ -236,11 +264,11 @@ ], "text/plain": [ " slug \\\n", - "0 acs_sociodemogr_ecbce31e \n", - "1 acs_sociodemogr_516e1d44 \n", - "2 acs_sociodemogr_477ca600 \n", - "3 acs_sociodemogr_5f00d4dc \n", - "4 acs_sociodemogr_18e867ac \n", + "0 acs_sociodemogr_a0c48b07 \n", + "1 acs_sociodemogr_a03fb95f \n", + "2 acs_sociodemogr_e7b702b0 \n", + "3 acs_sociodemogr_e1e92d8d \n", + "4 acs_sociodemogr_30a865f1 \n", "\n", " name \\\n", "0 Sociodemographics - United States of America (... \n", @@ -264,25 +292,25 @@ "4 sociodemographics usa_acs \n", "\n", " geography_name \\\n", - "0 County - United States of America \n", - "1 County - United States of America \n", - "2 County - United States of America \n", + "0 County - United States of America (2015) \n", + "1 Congressional District - United States of Amer... \n", + "2 Core-based Statistical Area - United States of... \n", "3 Core-based Statistical Area - United States of... \n", - "4 County - United States of America \n", + "4 Core-based Statistical Area - United States of... \n", "\n", " geography_description temporal_aggregation \\\n", - "0 Shoreline clipped TIGER/Line boundaries. More ... 3yrs \n", - "1 Shoreline clipped TIGER/Line boundaries. More ... 3yrs \n", - "2 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", - "3 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", - "4 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "0 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "1 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "2 Shoreline clipped TIGER/Line boundaries. More ... 3yrs \n", + "3 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "4 Shoreline clipped TIGER/Line boundaries. More ... 3yrs \n", "\n", " time_coverage update_frequency is_public_data lang version \\\n", - "0 [2007-01-01, 2010-01-01) yearly True eng 20072009 \n", - "1 [2011-01-01, 2014-01-01) yearly True eng 20112013 \n", - "2 [2009-01-01, 2010-01-01) yearly True eng 2009 \n", - "3 [2007-01-01, 2012-01-01) yearly True eng 20072011 \n", - "4 [2011-01-01, 2016-01-01) yearly True eng 20112015 \n", + "0 [2007-01-01, 2008-01-01) yearly True eng 2007 \n", + "1 [2017-01-01, 2018-01-01) yearly True eng 2017 \n", + "2 [2006-01-01, 2009-01-01) yearly True eng 20062008 \n", + "3 [2013-01-01, 2014-01-01) yearly True eng 2013 \n", + "4 [2005-01-01, 2008-01-01) yearly True eng 20052007 \n", "\n", " category_name provider_name \\\n", "0 Demographics American Community Survey \n", @@ -293,10 +321,10 @@ "\n", " geography_id \\\n", "0 carto-do-public-data.carto.geography_usa_count... \n", - "1 carto-do-public-data.carto.geography_usa_count... \n", - "2 carto-do-public-data.carto.geography_usa_count... \n", + "1 carto-do-public-data.carto.geography_usa_congr... \n", + "2 carto-do-public-data.carto.geography_usa_cbsa_... \n", "3 carto-do-public-data.carto.geography_usa_cbsa_... \n", - "4 carto-do-public-data.carto.geography_usa_count... \n", + "4 carto-do-public-data.carto.geography_usa_cbsa_... \n", "\n", " id \n", "0 carto-do-public-data.usa_acs.demographics_soci... \n", @@ -1106,14 +1134,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -1187,7 +1215,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -1202,12 +1230,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
        ${popupHTML}
        `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
        ${popupHTML}
        `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1566,7 +1598,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1612,7 +1644,7 @@ " const has_legends = 'False' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#826DBA\\")\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": []}];\n", + " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#826DBA\\")\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -1636,7 +1668,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 7, diff --git a/docs/examples/data_observatory/enrichment_subscription_workflow.ipynb b/docs/examples/data_observatory/enrichment_subscription_workflow.ipynb new file mode 100644 index 000000000..887559884 --- /dev/null +++ b/docs/examples/data_observatory/enrichment_subscription_workflow.ipynb @@ -0,0 +1,1861 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Enrichment Subscription Workflow\n", + "\n", + "This example illustrates how to subscribe and enrich with CARTO's Data Observatory.\n", + "\n", + "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('creds.json')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "dataset_name = 'carto-do.ags.demographics_retailpotential_usa_blockgroup_2015_yearly_2019'" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.data.observatory import Catalog, Dataset, Geography\n", + "\n", + "dataset = Dataset.get(dataset_name)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "01229efd49bb493db0108acc19d7dc92", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "HTML(value='\\n

        Subscription already purchased

        \\n The dataset carto-do.ags.demographic…" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "dataset.subscribe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "NOTE: After the subscription request of the premium dataset, we will contact you to **perform and complete the premium subscription**. When the process is completed, you will be able to access your premium dataset directly from CARTOframes or from the Dashboard in your CARTO account." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Datasets: [, ]\n", + "Geographies: []" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Catalog().subscriptions()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[ #'Geographic Identifier',\n", + " #'Households (2019A)',\n", + " #'New Car Dealers (Total Exp)',\n", + " #'User Car Dealers (Total Exp)',\n", + " #'Recreational Vehicle Dealers (Total Exp)',\n", + " #'Motorcycle and Boat Dealers (Total Exp)',\n", + " #'Auto Parts and Accessories (Total Exp)',\n", + " #'Tire Dealers (Total Exp)',\n", + " #'Furniture Stores (Total Exp)',\n", + " #'Floor Covering Stores (Total Exp)',\n", + " #'Other Home Furnishing Stores (Total Exp)',\n", + " #'Appliances and Electronics Stores (Total Exp)',\n", + " #'Home Centers (Total Exp)',\n", + " #'Paint and Wallpaper Stores (Total Exp)',\n", + " #'Hardware Stores (Total Exp)',\n", + " #'Other Building Materials Stores (Total Exp)',\n", + " #'Outdoor Power Equipment Stores (Total Exp)',\n", + " #'Nursery and Garden Stores (Total Exp)',\n", + " #'Grocery Stores (Total Exp)',\n", + " #'Convenience Stores (Total Exp)',\n", + " #'Meat Markets (Total Exp)',\n", + " #'Fish and Seafood Markets (Total Exp)',\n", + " #'Fruit and Vegetable Markets (Total Exp)',\n", + " #'Other Specialty Food Markets (Total Exp)',\n", + " #'Liquor Stores (Total Exp)',\n", + " #'Pharmacy and Drug Stores (Total Exp)',\n", + " #'Costmetics and Beauty Stores (Total Exp)',\n", + " #'Optical Goods Stores (Total Exp)',\n", + " #'Other Health and Personal Care Stores (Total Exp)',\n", + " #'Gasoline Stations (Total Exp)',\n", + " #'Mens Clothing Stores (Total Exp)',\n", + " #'Womens Clothing Stores (Total Exp)',\n", + " #'Childrens and Infants Clothing Stores (Total Exp)',\n", + " #'Family Clothing Stores (Total Exp)',\n", + " #'Clothing Accessory Stores (Total Exp)',\n", + " #'Other Apparel Stores (Total Exp)',\n", + " #'Shoe Stores (Total Exp)',\n", + " #'Jewelry Stores (Total Exp)',\n", + " #'Luggage Stores (Total Exp)',\n", + " #'Sporting Goods Stores (Total Exp)',\n", + " #'Hobby, Toy, and Game Stores (Total Exp)',\n", + " #'Sewing and Needlecraft Stores (Total Exp)',\n", + " #'Musical Instrument Stores (Total Exp)',\n", + " #'Book Stores (Total Exp)',\n", + " #'Department Stores (Total Exp)',\n", + " #'Warehouse Superstores (Total Exp)',\n", + " #'Other General Merchandise Stores (Total Exp)',\n", + " #'Florists (Total Exp)',\n", + " #'Office and Stationary Stores (Total Exp)',\n", + " #'Gift and Souvenir Stores (Total Exp)',\n", + " #'Used Merchandise Stores (Total Exp)',\n", + " #'Pet and Pet Supply Stores (Total Exp)',\n", + " #'Art Dealers (Total Exp)',\n", + " #'Mobile Home Dealers (Total Exp)',\n", + " #'Other Miscellaneous Retail Stores (Total Exp)',\n", + " #'Mail Order and Catalog Stores (Total Exp)',\n", + " #'Vending Machines (Total Exp)',\n", + " #'Fuel Dealers (Total Exp)',\n", + " #'Other Direct Selling Establishments (Total Exp)',\n", + " #'Retail at Hotels and Other Travel Accomodations (T...',\n", + " #'Retail at RV Parks (Total Exp)',\n", + " #'Retail at Rooming and Boarding Houses (Total Exp)',\n", + " #'Full Service Restaurants (Total Exp)',\n", + " #'Limited Service Restaurants (Total Exp)',\n", + " #'Special Food Services and Catering (Total Exp)',\n", + " #'Drinking Places (Total Exp)',\n", + " #'Retail Gap: New Car Dealers (44111)',\n", + " #'Retail Gap: User Car Dealers (44112)',\n", + " #'Retail Gap: Recreational Vehicle Dealers (44121)',\n", + " #'Retail Gap: Motorcycle and Boat Dealers (44122)',\n", + " #'Retail Gap: Auto Parts and Accessories (44131)',\n", + " #'Retail Gap: Tire Dealers (44132)',\n", + " #'Retail Gap: Furniture Stores (44211)',\n", + " #'Retail Gap: Floor Covering Stores (44221)',\n", + " #'Retail Gap: Other Home Furnishing Stores (44229)',\n", + " #'Retail Gap: Appliances and Electronics Stores (443...',\n", + " #'Retail Gap: Home Centers (44411)',\n", + " #'Retail Gap: Paint and Wallpaper Stores (44412)',\n", + " #'Retail Gap: Hardware Stores (44413)',\n", + " #'Retail Gap: Other Building Materials Stores (44419...',\n", + " #'Retail Gap: Outdoor Power Equipment Stores (44421)',\n", + " #'Retail Gap: Nursery and Garden Stores (44422)',\n", + " #'Retail Gap: Grocery Stores (44511)',\n", + " #'Retail Gap: Convenience Stores (44512)',\n", + " #'Retail Gap: Meat Markets (44521)',\n", + " #'Retail Gap: Fish and Seafood Markets (44522)',\n", + " #'Retail Gap: Fruit and Vegetable Markets (44523)',\n", + " #'Retail Gap: Other Specialty Food Markets (44529)',\n", + " #'Retail Gap: Liquor Stores (44531)',\n", + " #'Retail Gap: Pharmacy and Drug Stores (44611)',\n", + " #'Retail Gap: Costmetics and Beauty Stores (44612)',\n", + " #'Retail Gap: Optical Goods Stores (44613)',\n", + " #'Retail Gap: Other Health and Personal Care Stores ...',\n", + " #'Retail Gap: Gasoline Stations (44719)',\n", + " #'Retail Gap: Men's Clothing Stores (44811)',\n", + " #'Retail Gap: Women's Clothing Stores (44812)',\n", + " #'Retail Gap: Childrens' and Infant's Clothing Store...',\n", + " #'Retail Gap: Family Clothing Stores (44814)',\n", + " #'Retail Gap: Clothing Accessory Stores (44815)',\n", + " #'Retail Gap: Other Apparel Stores (44819)',\n", + " #'Retail Gap: Shoe Stores (44821)',\n", + " #'Retail Gap: Jewelry Stores (44831)',\n", + " #'Retail Gap: Luggage Stores (44832)',\n", + " #'Retail Gap: Sporting Goods Stores (45111)',\n", + " #'Retail Gap: Hobby, Toy, and Game Stores (45112)',\n", + " #'Retail Gap: Sewing and Needlecraft Stores (45113)',\n", + " #'Retail Gap: Musical Instrument Stores (45114)',\n", + " #'Retail Gap: Book Stores (45121)',\n", + " #'Retail Gap: Department Stores (45211)',\n", + " #'Retail Gap: Warehouse Superstores (45291)',\n", + " #'Retail Gap: Other General Merchandise Stores (4529...',\n", + " #'Retail Gap: Florists (45311)',\n", + " #'Retail Gap: Office and Stationary Stores (45321)',\n", + " #'Retail Gap: Gift and Souvenir Stores (45322)',\n", + " #'Retail Gap: Used Merchandise Stores (45331)',\n", + " #'Retail Gap: Pet and Pet Supply Stores (45391)',\n", + " #'Retail Gap: Art Dealers (45392)',\n", + " #'Retail Gap: Mobile Home Dealers (45393)',\n", + " #'Retail Gap: Other Miscellaneous Retail Stores (453...',\n", + " #'Retail Gap: Mail Order and Catalog Stores (45411)',\n", + " #'Retail Gap: Vending Machines (45421)',\n", + " #'Retail Gap: Fuel Dealers (45431)',\n", + " #'Retail Gap: Other Direct Selling Establishments (4...',\n", + " #'Retail Gap: Retail at Hotels and Other Travel Acco...',\n", + " #'Retail Gap: Retail at RV Parks (7212)',\n", + " #'Retail Gap: Retail at Rooming and Boarding Houses ...',\n", + " #'Retail Gap: Full Service Restaurants (7221)',\n", + " #'Retail Gap: Limited Service Restaurants (7222)',\n", + " #'Retail Gap: Special Food Services and Catering (72...',\n", + " #'Retail Gap: Drinking Places (7224)',\n", + " #'Geographical Identifier',\n", + " #'First day of time period']" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.variables" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + " #'Home Centers (Total Exp)'" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.data.observatory import Variable\n", + "\n", + "variable = Variable.get('MLTCY44411_acc8382c')\n", + "variable" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
        \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
        OBJECTIDFULLTRACTIDTRACTIDgeometry
        0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...
        1251013103000103000POLYGON ((-77.08558 38.82992, -77.08625 38.828...
        2351013102902102902POLYGON ((-77.09520 38.84499, -77.09442 38.844...
        \n", + "
        " + ], + "text/plain": [ + " OBJECTID FULLTRACTID TRACTID \\\n", + "0 1 51013102901 102901 \n", + "1 2 51013103000 103000 \n", + "2 3 51013102902 102902 \n", + "\n", + " geometry \n", + "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... \n", + "1 POLYGON ((-77.08558 38.82992, -77.08625 38.828... \n", + "2 POLYGON ((-77.09520 38.84499, -77.09442 38.844... " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from geopandas import read_file\n", + "\n", + "census_track = 'http://libs.cartocdn.com/cartoframes/files/census_track.geojson'\n", + "census_track_gdf = read_file(census_track)\n", + "census_track_gdf.head(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.data.observatory import Enrichment\n", + "\n", + "enrichment = Enrichment()\n", + "\n", + "enriched_dataset_gdf = enrichment.enrich_polygons(\n", + " census_track_gdf,\n", + " variables=['MLTCY44411_acc8382c']\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
        \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
        OBJECTIDFULLTRACTIDTRACTIDgeometryMLTCY44411
        0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...1.862995e+06
        1251013103000103000POLYGON ((-77.08558 38.82992, -77.08625 38.828...2.099457e+06
        2351013102902102902POLYGON ((-77.09520 38.84499, -77.09442 38.844...2.671894e+06
        \n", + "
        " + ], + "text/plain": [ + " OBJECTID FULLTRACTID TRACTID \\\n", + "0 1 51013102901 102901 \n", + "1 2 51013103000 103000 \n", + "2 3 51013102902 102902 \n", + "\n", + " geometry MLTCY44411 \n", + "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 1.862995e+06 \n", + "1 POLYGON ((-77.08558 38.82992, -77.08625 38.828... 2.099457e+06 \n", + "2 POLYGON ((-77.09520 38.84499, -77.09442 38.844... 2.671894e+06 " + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "enriched_dataset_gdf.head(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
        \n", + "
        \n", + "
        \n", + " \n", + " \n", + "
        \n", + "
        \n", + " \n", + "\n", + "
        \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
        \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
        \n", + " \n", + " \n", + "
        \n", + "
        \n", + "
        \n", + "
        \n", + " \n", + "
        \n", + "
        \n", + "
        \n", + "\n", + " \n", + "\n", + "
        \n", + "
        \n", + " :\n", + "
        \n", + " \n", + " \n", + "
        \n", + "
        \n", + "\n", + "
        \n", + " StackTrace\n", + "
          \n", + "
          \n", + "
          \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Layer, color_continuous_style\n", + "\n", + "Layer(enriched_dataset_gdf, color_continuous_style('MLTCY44411'))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": { + "01229efd49bb493db0108acc19d7dc92": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_11013d16054c40439066ef01958a7325", + "placeholder": "​", + "style": "IPY_MODEL_6023b440db1d4a4ca46ed696c182fe1f", + "value": "\n

          Subscription already purchased

          \n The dataset carto-do.ags.demographics_retailpotential_usa_blockgroup_2015_yearly_2019 has already been purchased.\n " + } + }, + "11013d16054c40439066ef01958a7325": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "6023b440db1d4a4ca46ed696c182fe1f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + } + }, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/examples/data_observatory/google_cloud_credentials.ipynb b/docs/examples/data_observatory/google_cloud_credentials.ipynb new file mode 100644 index 000000000..d153533c3 --- /dev/null +++ b/docs/examples/data_observatory/google_cloud_credentials.ipynb @@ -0,0 +1,158 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Google Cloud credentials\n", + "\n", + "This example illustrates how to create a Google cloud credentials object from your Data Observatory enabled CARTO account." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import Credentials\n", + "\n", + "creds = Credentials.from_file('creds.json')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from google.oauth2.credentials import Credentials as GoogleCredentials\n", + "\n", + "gcloud_project, gcloud_token = creds.get_gcloud_credentials()\n", + "gcloud_credentials = GoogleCredentials(gcloud_token)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from google.cloud import bigquery, storage, bigquery_storage_v1beta1 as bigquery_storage\n", + "\n", + "bq_client = bigquery.Client(project=gcloud_project, credentials=gcloud_credentials)\n", + "gcs_client = storage.Client(project=gcloud_project, credentials=gcloud_credentials)\n", + "bqs_client = bigquery_storage.BigQueryStorageClient(credentials=gcloud_credentials)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As an example, the following code shows how to use the Google BigQuery client to access to a public dataset from Data Observatory:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.data.observatory import Dataset\n", + "\n", + "dataset = Dataset.get('acs_sociodemogr_8c2655e0')" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'carto-do-public-data.usa_acs.demographics_sociodemographics_usa_county_2015_5yrs_20132017'" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.id" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "query_job = bq_client.query('SELECT * FROM `{}` LIMIT 1'.format(dataset.id))\n", + "results = query_job.result()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[SchemaField('geoid', 'STRING', 'NULLABLE', None, ()),\n", + " SchemaField('do_date', 'DATE', 'NULLABLE', None, ()),\n", + " SchemaField('total_pop', 'FLOAT', 'NULLABLE', None, ())]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results.schema[0:3]" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "18025 10598.0\n" + ] + } + ], + "source": [ + "for row in results:\n", + " print(row['geoid'], row['total_pop'])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/examples/data_observatory/points_enrichment_dataset.ipynb b/docs/examples/data_observatory/points_enrichment_dataset.ipynb similarity index 99% rename from examples/data_observatory/points_enrichment_dataset.ipynb rename to docs/examples/data_observatory/points_enrichment_dataset.ipynb index 43be6f0d2..45d96c1fd 100644 --- a/examples/data_observatory/points_enrichment_dataset.ipynb +++ b/docs/examples/data_observatory/points_enrichment_dataset.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Enrich Points from a Dataset\n", + "## Enrich Points from a Dataset\n", "\n", "This example illustrates how to enrich points that are in a dataset with variables from CARTO's Data Observatory.\n", "\n", @@ -1453,14 +1453,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -1534,7 +1534,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -1549,12 +1549,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
          ${popupHTML}
          `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
          ${popupHTML}
          `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1913,7 +1917,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1959,7 +1963,7 @@ " const has_legends = 'true' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "H4sIAMo+A18C/8VaTW9cNwz8L3t2A4nfzDVAz70XQWE428JA6jW220Ng+L9X68eHikcJ0MvNWHsxJkXODCm9nW4/Xs+nz6dfz4+3f6/nL5fv389Pt+fLy+nh9Of22T+nz7+/nZ6/tb8q7dP8hfbB6/Xyer7enu9/+HZ6ufzx9HhtP7Lop/L+cPrrfPn7fLv+uP8yvvvb5fnl1r75dLlcvz2/PN4+MH7R9gXGSvSA9snYFOTr+/tDYNcB7Gpz2Iq2YSvUHhsGsAV8ApscamALKnTYeAC21C3nUqpoh01D2DaTc2eGyLljj80HYDtuYUPRHlqWQwuib8ctCG4dti4/bq4VPFJOSh22HYDNdcs5GTF32L4eu2DlDRuE+rhrOaDH1DdwbgfeF1utB2SdNMiliCVShQNYlUowOlHpS72OUBsSToBrcdUPcFdK2CPU1nhxBhsw5MRJqPbgvB5ckLdGcyTAHnyE3YBnsm73eDfwqjVFrusjd+RIO1RKxT7CbyQzneawy5l5SVn35dh3yKj1Qsk6wQi/VZSZwLGV3Ba4FUzgdX3Wm5hsimZqpa83GOE3sol6q3dV2ZjdwEovaYDrwVu8AU6lpLTTAWdOIeat4bGvduD1zG47xQhKwj6A36RQdBoC9GIOur7NhSNuz6VuRzCMR9xsvZrCELvZFHbxKsFunCodR9gNaMbDNGLd2e3+j/TgB7CbqgU4W1JThJ8JjkMEM0NuxS2cY0FO2PQTsUe4TVlnwB1llxRJYooj5OY+pSgKG3azkGlQQR3a/kxgtzF8c25qmmgVbXnOa9XdQ9Q2s/TgvjruKi3pGzY2J9MvYMr6YlPRUPFS06RAy7mtlpZr2S1ETeBDkynbTNoxDhyF0tZryLcRzaiZGsSJc5qJaYTZoMCMc1IIFb/Phj21ER+whGHZeJWo9GtOGrJtClMWAiPp0tosBa7rweX/5XIWUrIhMZtaNzrEGoQkt7gvx1auENhW0pHzkHGDOpN19h2c0Htm5aH7BJ6aj9iUY6+uGXyE3HDKtzHVbT4ixZr26kPsNrOBaaNJhVi0Yj8QM60/cPJoM7K04+URbpuJWrQ5iJjM2NJpj02kUyLOJRqcAZJ7YV0ctynClvEmJjX1ty0fzFpnYeho0XRlxyPM5ji33y0hJ82t9oFLOUBOmCQur6jvMRnhNTacssr7epeFU9JlhNec5jZeLjEkVPW+0gXXl5tjsKqiJt8mB1yVEljUG6j0DkJ4KO1Tq742Bm9NrpYuUmSE3OqcWYYanK6IkALX5eDOrcG2rDtR6nJbzjBtJNpYXYS4lxTx1Sfe2iv2AM03pQWIlsWKonUnVnNLYWtd7JtqIYrbo3bcSc30gGVbDb/o5Gki1bGbhKnZqLFKXJSy9rSqtH4aJosXCd5YrndtesREulsIYU60qke8A4FYvrRBJYMPbdt4qtSb/O9XKJaO3FaXmxpGpbdaT13mB6y09+2qM/Ypt6FnIDM5L9K0LCS8ueYeu64Wk4+laohJtd4y2giztf97xjJqPHfydvDpyREuxwZVptgxWqJ0G7pGmLpHAN23HyqMvZbZ0B3pTIOzlLLfzzar3mMPXSNMzOEVGeIdp9VSei2zA56ANDGLURxNUpsNjaQ2tcwHF48TlzSgmK9fadcmKfEMAxK4D5HbTKkT1P0Wg5tl7LGX79pqwcbq8W6Y01sEh/XvAaCWeIwAnKYjxwMe90Fstcnwg96+vv8HLmh/JtctAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "v20b5e3", "title": "no_cars"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "width", "title": "no_cars", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAMo+A18C/8VaTW9cNwz8L3t2A4nfzDVAz70XQWE428JA6jW220Ng+L9X68eHikcJ0MvNWHsxJkXODCm9nW4/Xs+nz6dfz4+3f6/nL5fv389Pt+fLy+nh9Of22T+nz7+/nZ6/tb8q7dP8hfbB6/Xyer7enu9/+HZ6ufzx9HhtP7Lop/L+cPrrfPn7fLv+uP8yvvvb5fnl1r75dLlcvz2/PN4+MH7R9gXGSvSA9snYFOTr+/tDYNcB7Gpz2Iq2YSvUHhsGsAV8ApscamALKnTYeAC21C3nUqpoh01D2DaTc2eGyLljj80HYDtuYUPRHlqWQwuib8ctCG4dti4/bq4VPFJOSh22HYDNdcs5GTF32L4eu2DlDRuE+rhrOaDH1DdwbgfeF1utB2SdNMiliCVShQNYlUowOlHpS72OUBsSToBrcdUPcFdK2CPU1nhxBhsw5MRJqPbgvB5ckLdGcyTAHnyE3YBnsm73eDfwqjVFrusjd+RIO1RKxT7CbyQzneawy5l5SVn35dh3yKj1Qsk6wQi/VZSZwLGV3Ba4FUzgdX3Wm5hsimZqpa83GOE3sol6q3dV2ZjdwEovaYDrwVu8AU6lpLTTAWdOIeat4bGvduD1zG47xQhKwj6A36RQdBoC9GIOur7NhSNuz6VuRzCMR9xsvZrCELvZFHbxKsFunCodR9gNaMbDNGLd2e3+j/TgB7CbqgU4W1JThJ8JjkMEM0NuxS2cY0FO2PQTsUe4TVlnwB1llxRJYooj5OY+pSgKG3azkGlQQR3a/kxgtzF8c25qmmgVbXnOa9XdQ9Q2s/TgvjruKi3pGzY2J9MvYMr6YlPRUPFS06RAy7mtlpZr2S1ETeBDkynbTNoxDhyF0tZryLcRzaiZGsSJc5qJaYTZoMCMc1IIFb/Phj21ER+whGHZeJWo9GtOGrJtClMWAiPp0tosBa7rweX/5XIWUrIhMZtaNzrEGoQkt7gvx1auENhW0pHzkHGDOpN19h2c0Htm5aH7BJ6aj9iUY6+uGXyE3HDKtzHVbT4ixZr26kPsNrOBaaNJhVi0Yj8QM60/cPJoM7K04+URbpuJWrQ5iJjM2NJpj02kUyLOJRqcAZJ7YV0ctynClvEmJjX1ty0fzFpnYeho0XRlxyPM5ji33y0hJ82t9oFLOUBOmCQur6jvMRnhNTacssr7epeFU9JlhNec5jZeLjEkVPW+0gXXl5tjsKqiJt8mB1yVEljUG6j0DkJ4KO1Tq742Bm9NrpYuUmSE3OqcWYYanK6IkALX5eDOrcG2rDtR6nJbzjBtJNpYXYS4lxTx1Sfe2iv2AM03pQWIlsWKonUnVnNLYWtd7JtqIYrbo3bcSc30gGVbDb/o5Gki1bGbhKnZqLFKXJSy9rSqtH4aJosXCd5YrndtesREulsIYU60qke8A4FYvrRBJYMPbdt4qtSb/O9XKJaO3FaXmxpGpbdaT13mB6y09+2qM/Ypt6FnIDM5L9K0LCS8ueYeu64Wk4+laohJtd4y2giztf97xjJqPHfydvDpyREuxwZVptgxWqJ0G7pGmLpHAN23HyqMvZbZ0B3pTIOzlLLfzzar3mMPXSNMzOEVGeIdp9VSei2zA56ANDGLURxNUpsNjaQ2tcwHF48TlzSgmK9fadcmKfEMAxK4D5HbTKkT1P0Wg5tl7LGX79pqwcbq8W6Y01sEh/XvAaCWeIwAnKYjxwMe90Fstcnwg96+vv8HLmh/JtctAAA=", "title": null, "type": "GeoJSON", "viz": "@v20b5e3: prop(\\u0027no_cars\\u0027)\\n@size_value: ramp(linear(prop(\\u0027no_cars\\u0027), globalMIN(prop(\\u0027no_cars\\u0027)), globalMAX(prop(\\u0027no_cars\\u0027))), [2, 40])\\ncolor: opacity(#FFB927, 0.8)\\nfilter: 1\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(sqrt(prop(\\u0027no_cars\\u0027)), sqrt(globalMIN(prop(\\u0027no_cars\\u0027))), sqrt(globalMAX(prop(\\u0027no_cars\\u0027)))), [2, 40])\\n", "widgets": []}];\n", + " const layers = [{"credentials": null, "data": "H4sIAK8Tyl8C/8VaTW9cNwz8L3t2A4nfzDVAz70XQWE428JA6jW220Ng+L9X68eHikcJ0MvNWHsxJkXODCm9nW4/Xs+nz6dfz4+3f6/nL5fv389Pt+fLy+nh9Of22T+nz7+/nZ6/tb8q7dP8hfbB6/Xyer7enu9/+HZ6ufzx9HhtP7Lop/L+cPrrfPn7fLv+uP8yvvvb5fnl1r75dLlcvz2/PN4+MH7R9gXGSvSA9snYFOTr+/tDYNcB7Gpz2Iq2YSvUHhsGsAV8ApscamALKnTYeAC21C3nUqpoh01D2DaTc2eGyLljj80HYDtuYUPRHlqWQwuib8ctCG4dti4/bq4VPFJOSh22HYDNdcs5GTF32L4eu2DlDRuE+rhrOaDH1DdwbgfeF1utB2SdNMiliCVShQNYlUowOlHpS72OUBsSToBrcdUPcFdK2CPU1nhxBhsw5MRJqPbgvB5ckLdGcyTAHnyE3YBnsm73eDfwqjVFrusjd+RIO1RKxT7CbyQzneawy5l5SVn35dh3yKj1Qsk6wQi/VZSZwLGV3Ba4FUzgdX3Wm5hsimZqpa83GOE3sol6q3dV2ZjdwEovaYDrwVu8AU6lpLTTAWdOIeat4bGvduD1zG47xQhKwj6A36RQdBoC9GIOur7NhSNuz6VuRzCMR9xsvZrCELvZFHbxKsFunCodR9gNaMbDNGLd2e3+j/TgB7CbqgU4W1JThJ8JjkMEM0NuxS2cY0FO2PQTsUe4TVlnwB1llxRJYooj5OY+pSgKG3azkGlQQR3a/kxgtzF8c25qmmgVbXnOa9XdQ9Q2s/TgvjruKi3pGzY2J9MvYMr6YlPRUPFS06RAy7mtlpZr2S1ETeBDkynbTNoxDhyF0tZryLcRzaiZGsSJc5qJaYTZoMCMc1IIFb/Phj21ER+whGHZeJWo9GtOGrJtClMWAiPp0tosBa7rweX/5XIWUrIhMZtaNzrEGoQkt7gvx1auENhW0pHzkHGDOpN19h2c0Htm5aH7BJ6aj9iUY6+uGXyE3HDKtzHVbT4ixZr26kPsNrOBaaNJhVi0Yj8QM60/cPJoM7K04+URbpuJWrQ5iJjM2NJpj02kUyLOJRqcAZJ7YV0ctynClvEmJjX1ty0fzFpnYeho0XRlxyPM5ji33y0hJ82t9oFLOUBOmCQur6jvMRnhNTacssr7epeFU9JlhNec5jZeLjEkVPW+0gXXl5tjsKqiJt8mB1yVEljUG6j0DkJ4KO1Tq742Bm9NrpYuUmSE3OqcWYYanK6IkALX5eDOrcG2rDtR6nJbzjBtJNpYXYS4lxTx1Sfe2iv2AM03pQWIlsWKonUnVnNLYWtd7JtqIYrbo3bcSc30gGVbDb/o5Gki1bGbhKnZqLFKXJSy9rSqtH4aJosXCd5YrndtesREulsIYU60qke8A4FYvrRBJYMPbdt4qtSb/O9XKJaO3FaXmxpGpbdaT13mB6y09+2qM/Ypt6FnIDM5L9K0LCS8ueYeu64Wk4+laohJtd4y2giztf97xjJqPHfydvDpyREuxwZVptgxWqJ0G7pGmLpHAN23HyqMvZbZ0B3pTIOzlLLfzzar3mMPXSNMzOEVGeIdp9VSei2zA56ANDGLURxNUpsNjaQ2tcwHF48TlzSgmK9fadcmKfEMAxK4D5HbTKkT1P0Wg5tl7LGX79pqwcbq8W6Y01sEh/XvAaCWeIwAnKYjxwMe90Fstcnwg96+vv8HLmh/JtctAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "v20b5e3", "title": "no_cars"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "width", "title": "no_cars", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAK8Tyl8C/8VaTW9cNwz8L3t2A4nfzDVAz70XQWE428JA6jW220Ng+L9X68eHikcJ0MvNWHsxJkXODCm9nW4/Xs+nz6dfz4+3f6/nL5fv389Pt+fLy+nh9Of22T+nz7+/nZ6/tb8q7dP8hfbB6/Xyer7enu9/+HZ6ufzx9HhtP7Lop/L+cPrrfPn7fLv+uP8yvvvb5fnl1r75dLlcvz2/PN4+MH7R9gXGSvSA9snYFOTr+/tDYNcB7Gpz2Iq2YSvUHhsGsAV8ApscamALKnTYeAC21C3nUqpoh01D2DaTc2eGyLljj80HYDtuYUPRHlqWQwuib8ctCG4dti4/bq4VPFJOSh22HYDNdcs5GTF32L4eu2DlDRuE+rhrOaDH1DdwbgfeF1utB2SdNMiliCVShQNYlUowOlHpS72OUBsSToBrcdUPcFdK2CPU1nhxBhsw5MRJqPbgvB5ckLdGcyTAHnyE3YBnsm73eDfwqjVFrusjd+RIO1RKxT7CbyQzneawy5l5SVn35dh3yKj1Qsk6wQi/VZSZwLGV3Ba4FUzgdX3Wm5hsimZqpa83GOE3sol6q3dV2ZjdwEovaYDrwVu8AU6lpLTTAWdOIeat4bGvduD1zG47xQhKwj6A36RQdBoC9GIOur7NhSNuz6VuRzCMR9xsvZrCELvZFHbxKsFunCodR9gNaMbDNGLd2e3+j/TgB7CbqgU4W1JThJ8JjkMEM0NuxS2cY0FO2PQTsUe4TVlnwB1llxRJYooj5OY+pSgKG3azkGlQQR3a/kxgtzF8c25qmmgVbXnOa9XdQ9Q2s/TgvjruKi3pGzY2J9MvYMr6YlPRUPFS06RAy7mtlpZr2S1ETeBDkynbTNoxDhyF0tZryLcRzaiZGsSJc5qJaYTZoMCMc1IIFb/Phj21ER+whGHZeJWo9GtOGrJtClMWAiPp0tosBa7rweX/5XIWUrIhMZtaNzrEGoQkt7gvx1auENhW0pHzkHGDOpN19h2c0Htm5aH7BJ6aj9iUY6+uGXyE3HDKtzHVbT4ixZr26kPsNrOBaaNJhVi0Yj8QM60/cPJoM7K04+URbpuJWrQ5iJjM2NJpj02kUyLOJRqcAZJ7YV0ctynClvEmJjX1ty0fzFpnYeho0XRlxyPM5ji33y0hJ82t9oFLOUBOmCQur6jvMRnhNTacssr7epeFU9JlhNec5jZeLjEkVPW+0gXXl5tjsKqiJt8mB1yVEljUG6j0DkJ4KO1Tq742Bm9NrpYuUmSE3OqcWYYanK6IkALX5eDOrcG2rDtR6nJbzjBtJNpYXYS4lxTx1Sfe2iv2AM03pQWIlsWKonUnVnNLYWtd7JtqIYrbo3bcSc30gGVbDb/o5Gki1bGbhKnZqLFKXJSy9rSqtH4aJosXCd5YrndtesREulsIYU60qke8A4FYvrRBJYMPbdt4qtSb/O9XKJaO3FaXmxpGpbdaT13mB6y09+2qM/Ypt6FnIDM5L9K0LCS8ueYeu64Wk4+laohJtd4y2giztf97xjJqPHfydvDpyREuxwZVptgxWqJ0G7pGmLpHAN23HyqMvZbZ0B3pTIOzlLLfzzar3mMPXSNMzOEVGeIdp9VSei2zA56ANDGLURxNUpsNjaQ2tcwHF48TlzSgmK9fadcmKfEMAxK4D5HbTKkT1P0Wg5tl7LGX79pqwcbq8W6Y01sEh/XvAaCWeIwAnKYjxwMe90Fstcnwg96+vv8HLmh/JtctAAA=", "title": null, "type": "GeoJSON", "viz": "@v20b5e3: prop(\\u0027no_cars\\u0027)\\n@size_value: ramp(linear(prop(\\u0027no_cars\\u0027), globalMIN(prop(\\u0027no_cars\\u0027)), globalMAX(prop(\\u0027no_cars\\u0027))), [2, 40])\\ncolor: opacity(#FFB927, 0.8)\\nfilter: 1\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(sqrt(prop(\\u0027no_cars\\u0027)), sqrt(globalMIN(prop(\\u0027no_cars\\u0027))), sqrt(globalMAX(prop(\\u0027no_cars\\u0027)))), [2, 40])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -1983,7 +1987,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 7, diff --git a/docs/examples/data_observatory/polygons_enrichment_dataset.ipynb b/docs/examples/data_observatory/polygons_enrichment_dataset.ipynb new file mode 100644 index 000000000..35bf02923 --- /dev/null +++ b/docs/examples/data_observatory/polygons_enrichment_dataset.ipynb @@ -0,0 +1,2281 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Enrich Polygons from a Dataset\n", + "\n", + "This example illustrates how to enrich polygons that are in a dataset with variables from CARTO's Data Observatory.\n", + "\n", + "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('creds.json')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
          \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
          OBJECTIDFULLTRACTIDTRACTIDgeometry
          0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...
          1251013103000103000POLYGON ((-77.08558 38.82992, -77.08625 38.828...
          2351013102902102902POLYGON ((-77.09520 38.84499, -77.09442 38.844...
          \n", + "
          " + ], + "text/plain": [ + " OBJECTID FULLTRACTID TRACTID \\\n", + "0 1 51013102901 102901 \n", + "1 2 51013103000 103000 \n", + "2 3 51013102902 102902 \n", + "\n", + " geometry \n", + "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... \n", + "1 POLYGON ((-77.08558 38.82992, -77.08625 38.828... \n", + "2 POLYGON ((-77.09520 38.84499, -77.09442 38.844... " + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from geopandas import read_file\n", + "\n", + "census_track = 'http://libs.cartocdn.com/cartoframes/files/census_track.geojson'\n", + "census_track_gdf = read_file(census_track)\n", + "census_track_gdf.head(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You can find more entities with the Global country filter. To apply that filter run:\n", + "\tCatalog().country('glo')\n" + ] + }, + { + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.data.observatory import Catalog\n", + "\n", + "Catalog().country('usa').category('demographics').geographies" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You can find more entities with the Global country filter. To apply that filter run:\n", + "\tCatalog().country('glo')\n" + ] + }, + { + "data": { + "text/html": [ + "
          \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
          slugnamedescriptioncategory_idcountry_iddata_source_idprovider_idgeography_namegeography_descriptiontemporal_aggregationtime_coverageupdate_frequencyis_public_datalangversioncategory_nameprovider_namegeography_idid
          0acs_sociodemogr_858c104eSociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2008-01-01, 2013-01-01)yearlyTrueeng20082012DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
          1acs_sociodemogr_6bf5c7f4Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrsNoneyearlyTrueeng20142018DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
          2acs_sociodemogr_dda43439Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2011-01-01, 2016-01-01)yearlyTrueeng20112015DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
          3acs_sociodemogr_97c32d1fSociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2010-01-01, 2015-01-01)yearlyTrueeng20102014DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
          4acs_sociodemogr_d4b2cf03Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2006-01-01, 2011-01-01)yearlyTrueeng20062010DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
          5acs_sociodemogr_496a0675Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2013-01-01, 2018-01-01)yearlyTrueeng20132017DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
          6acs_sociodemogr_9ed5d625Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2007-01-01, 2012-01-01)yearlyTrueeng20072011DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
          7acs_sociodemogr_cfeb0968Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2009-01-01, 2014-01-01)yearlyTrueeng20092013DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
          8acs_sociodemogr_30d1f53Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2012-01-01, 2017-01-01)yearlyTrueeng20122016DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
          \n", + "
          " + ], + "text/plain": [ + " slug \\\n", + "0 acs_sociodemogr_858c104e \n", + "1 acs_sociodemogr_6bf5c7f4 \n", + "2 acs_sociodemogr_dda43439 \n", + "3 acs_sociodemogr_97c32d1f \n", + "4 acs_sociodemogr_d4b2cf03 \n", + "5 acs_sociodemogr_496a0675 \n", + "6 acs_sociodemogr_9ed5d625 \n", + "7 acs_sociodemogr_cfeb0968 \n", + "8 acs_sociodemogr_30d1f53 \n", + "\n", + " name \\\n", + "0 Sociodemographics - United States of America (... \n", + "1 Sociodemographics - United States of America (... \n", + "2 Sociodemographics - United States of America (... \n", + "3 Sociodemographics - United States of America (... \n", + "4 Sociodemographics - United States of America (... \n", + "5 Sociodemographics - United States of America (... \n", + "6 Sociodemographics - United States of America (... \n", + "7 Sociodemographics - United States of America (... \n", + "8 Sociodemographics - United States of America (... \n", + "\n", + " description category_id country_id \\\n", + "0 The American Community Survey (ACS) is an ongo... demographics usa \n", + "1 The American Community Survey (ACS) is an ongo... demographics usa \n", + "2 The American Community Survey (ACS) is an ongo... demographics usa \n", + "3 The American Community Survey (ACS) is an ongo... demographics usa \n", + "4 The American Community Survey (ACS) is an ongo... demographics usa \n", + "5 The American Community Survey (ACS) is an ongo... demographics usa \n", + "6 The American Community Survey (ACS) is an ongo... demographics usa \n", + "7 The American Community Survey (ACS) is an ongo... demographics usa \n", + "8 The American Community Survey (ACS) is an ongo... demographics usa \n", + "\n", + " data_source_id provider_id \\\n", + "0 sociodemographics usa_acs \n", + "1 sociodemographics usa_acs \n", + "2 sociodemographics usa_acs \n", + "3 sociodemographics usa_acs \n", + "4 sociodemographics usa_acs \n", + "5 sociodemographics usa_acs \n", + "6 sociodemographics usa_acs \n", + "7 sociodemographics usa_acs \n", + "8 sociodemographics usa_acs \n", + "\n", + " geography_name \\\n", + "0 Census Tract - United States of America (2015) \n", + "1 Census Tract - United States of America (2015) \n", + "2 Census Tract - United States of America (2015) \n", + "3 Census Tract - United States of America (2015) \n", + "4 Census Tract - United States of America (2015) \n", + "5 Census Tract - United States of America (2015) \n", + "6 Census Tract - United States of America (2015) \n", + "7 Census Tract - United States of America (2015) \n", + "8 Census Tract - United States of America (2015) \n", + "\n", + " geography_description temporal_aggregation \\\n", + "0 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "1 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "2 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "3 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "4 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "5 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "6 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "7 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "8 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "\n", + " time_coverage update_frequency is_public_data lang version \\\n", + "0 [2008-01-01, 2013-01-01) yearly True eng 20082012 \n", + "1 None yearly True eng 20142018 \n", + "2 [2011-01-01, 2016-01-01) yearly True eng 20112015 \n", + "3 [2010-01-01, 2015-01-01) yearly True eng 20102014 \n", + "4 [2006-01-01, 2011-01-01) yearly True eng 20062010 \n", + "5 [2013-01-01, 2018-01-01) yearly True eng 20132017 \n", + "6 [2007-01-01, 2012-01-01) yearly True eng 20072011 \n", + "7 [2009-01-01, 2014-01-01) yearly True eng 20092013 \n", + "8 [2012-01-01, 2017-01-01) yearly True eng 20122016 \n", + "\n", + " category_name provider_name \\\n", + "0 Demographics American Community Survey \n", + "1 Demographics American Community Survey \n", + "2 Demographics American Community Survey \n", + "3 Demographics American Community Survey \n", + "4 Demographics American Community Survey \n", + "5 Demographics American Community Survey \n", + "6 Demographics American Community Survey \n", + "7 Demographics American Community Survey \n", + "8 Demographics American Community Survey \n", + "\n", + " geography_id \\\n", + "0 carto-do-public-data.carto.geography_usa_censu... \n", + "1 carto-do-public-data.carto.geography_usa_censu... \n", + "2 carto-do-public-data.carto.geography_usa_censu... \n", + "3 carto-do-public-data.carto.geography_usa_censu... \n", + "4 carto-do-public-data.carto.geography_usa_censu... \n", + "5 carto-do-public-data.carto.geography_usa_censu... \n", + "6 carto-do-public-data.carto.geography_usa_censu... \n", + "7 carto-do-public-data.carto.geography_usa_censu... \n", + "8 carto-do-public-data.carto.geography_usa_censu... \n", + "\n", + " id \n", + "0 carto-do-public-data.usa_acs.demographics_soci... \n", + "1 carto-do-public-data.usa_acs.demographics_soci... \n", + "2 carto-do-public-data.usa_acs.demographics_soci... \n", + "3 carto-do-public-data.usa_acs.demographics_soci... \n", + "4 carto-do-public-data.usa_acs.demographics_soci... \n", + "5 carto-do-public-data.usa_acs.demographics_soci... \n", + "6 carto-do-public-data.usa_acs.demographics_soci... \n", + "7 carto-do-public-data.usa_acs.demographics_soci... \n", + "8 carto-do-public-data.usa_acs.demographics_soci... " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "datasets = Catalog().country('usa').category('demographics').geography('cdb_censustract_af861cba').datasets\n", + "datasets.to_dataframe()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
          \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
          slugnamedescriptiondb_typeagg_methodcolumn_namevariable_group_iddataset_idid
          79median_income_57be5af4Median IncomeMedian Household Income in the past 12 Months....FLOATAVGmedian_incomeNonecarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
          165no_car_2207f034no_carWorkers age 16 and over with no vehicle. All p...FLOATSUMno_carcarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
          166no_cars_3a983c4eno_carsCar-free households. The number of households ...FLOATSUMno_carscarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
          167one_car_13b3a60bone_carOne car households. The number of households w...FLOATSUMone_carcarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
          168two_cars_fec37223two_carsTwo car households. The number of households w...FLOATSUMtwo_carscarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
          169three_cars_32e541e7three_carsThree car households. The number of households...FLOATSUMthree_carscarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
          170four_more_cars_297e8a8afour_more_carsFour car households. The number of households ...FLOATSUMfour_more_carscarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
          174commuters_by_ca_120481e3commuters_by_car_truck_vanCommuters by Car, Truck, or Van. The number of...FLOATSUMcommuters_by_car_truck_vancarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
          175commuters_by_ca_59febe6fcommuters_by_carpoolCommuters by Carpool. The number of workers ag...FLOATSUMcommuters_by_carpoolcarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
          177commuters_drove_acf77a1commuters_drove_aloneCommuters who drove alone. The number of worke...FLOATSUMcommuters_drove_alonecarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
          197employed_educat_958fdcfeemployed_education_health_socialWorkers employed in firms in educational servi...FLOATSUMemployed_education_health_socialcarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
          201employed_other__a5acf594employed_other_services_not_public_adminWorkers employed in firms in other services ex...FLOATSUMemployed_other_services_not_public_admincarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
          205employed_transp_66aedbfdemployed_transportation_warehousing_utilitiesWorkers employed in firms in transportation, w...FLOATSUMemployed_transportation_warehousing_utilitiescarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
          \n", + "
          " + ], + "text/plain": [ + " slug name \\\n", + "79 median_income_57be5af4 Median Income \n", + "165 no_car_2207f034 no_car \n", + "166 no_cars_3a983c4e no_cars \n", + "167 one_car_13b3a60b one_car \n", + "168 two_cars_fec37223 two_cars \n", + "169 three_cars_32e541e7 three_cars \n", + "170 four_more_cars_297e8a8a four_more_cars \n", + "174 commuters_by_ca_120481e3 commuters_by_car_truck_van \n", + "175 commuters_by_ca_59febe6f commuters_by_carpool \n", + "177 commuters_drove_acf77a1 commuters_drove_alone \n", + "197 employed_educat_958fdcfe employed_education_health_social \n", + "201 employed_other__a5acf594 employed_other_services_not_public_admin \n", + "205 employed_transp_66aedbfd employed_transportation_warehousing_utilities \n", + "\n", + " description db_type agg_method \\\n", + "79 Median Household Income in the past 12 Months.... FLOAT AVG \n", + "165 Workers age 16 and over with no vehicle. All p... FLOAT SUM \n", + "166 Car-free households. The number of households ... FLOAT SUM \n", + "167 One car households. The number of households w... FLOAT SUM \n", + "168 Two car households. The number of households w... FLOAT SUM \n", + "169 Three car households. The number of households... FLOAT SUM \n", + "170 Four car households. The number of households ... FLOAT SUM \n", + "174 Commuters by Car, Truck, or Van. The number of... FLOAT SUM \n", + "175 Commuters by Carpool. The number of workers ag... FLOAT SUM \n", + "177 Commuters who drove alone. The number of worke... FLOAT SUM \n", + "197 Workers employed in firms in educational servi... FLOAT SUM \n", + "201 Workers employed in firms in other services ex... FLOAT SUM \n", + "205 Workers employed in firms in transportation, w... FLOAT SUM \n", + "\n", + " column_name \\\n", + "79 median_income \n", + "165 no_car \n", + "166 no_cars \n", + "167 one_car \n", + "168 two_cars \n", + "169 three_cars \n", + "170 four_more_cars \n", + "174 commuters_by_car_truck_van \n", + "175 commuters_by_carpool \n", + "177 commuters_drove_alone \n", + "197 employed_education_health_social \n", + "201 employed_other_services_not_public_admin \n", + "205 employed_transportation_warehousing_utilities \n", + "\n", + " variable_group_id \\\n", + "79 None \n", + "165 carto-do-public-data.usa_acs.demographics_soci... \n", + "166 carto-do-public-data.usa_acs.demographics_soci... \n", + "167 carto-do-public-data.usa_acs.demographics_soci... \n", + "168 carto-do-public-data.usa_acs.demographics_soci... \n", + "169 carto-do-public-data.usa_acs.demographics_soci... \n", + "170 carto-do-public-data.usa_acs.demographics_soci... \n", + "174 carto-do-public-data.usa_acs.demographics_soci... \n", + "175 carto-do-public-data.usa_acs.demographics_soci... \n", + "177 carto-do-public-data.usa_acs.demographics_soci... \n", + "197 carto-do-public-data.usa_acs.demographics_soci... \n", + "201 carto-do-public-data.usa_acs.demographics_soci... \n", + "205 carto-do-public-data.usa_acs.demographics_soci... \n", + "\n", + " dataset_id \\\n", + "79 carto-do-public-data.usa_acs.demographics_soci... \n", + "165 carto-do-public-data.usa_acs.demographics_soci... \n", + "166 carto-do-public-data.usa_acs.demographics_soci... \n", + "167 carto-do-public-data.usa_acs.demographics_soci... \n", + "168 carto-do-public-data.usa_acs.demographics_soci... \n", + "169 carto-do-public-data.usa_acs.demographics_soci... \n", + "170 carto-do-public-data.usa_acs.demographics_soci... \n", + "174 carto-do-public-data.usa_acs.demographics_soci... \n", + "175 carto-do-public-data.usa_acs.demographics_soci... \n", + "177 carto-do-public-data.usa_acs.demographics_soci... \n", + "197 carto-do-public-data.usa_acs.demographics_soci... \n", + "201 carto-do-public-data.usa_acs.demographics_soci... \n", + "205 carto-do-public-data.usa_acs.demographics_soci... \n", + "\n", + " id \n", + "79 carto-do-public-data.usa_acs.demographics_soci... \n", + "165 carto-do-public-data.usa_acs.demographics_soci... \n", + "166 carto-do-public-data.usa_acs.demographics_soci... \n", + "167 carto-do-public-data.usa_acs.demographics_soci... \n", + "168 carto-do-public-data.usa_acs.demographics_soci... \n", + "169 carto-do-public-data.usa_acs.demographics_soci... \n", + "170 carto-do-public-data.usa_acs.demographics_soci... \n", + "174 carto-do-public-data.usa_acs.demographics_soci... \n", + "175 carto-do-public-data.usa_acs.demographics_soci... \n", + "177 carto-do-public-data.usa_acs.demographics_soci... \n", + "197 carto-do-public-data.usa_acs.demographics_soci... \n", + "201 carto-do-public-data.usa_acs.demographics_soci... \n", + "205 carto-do-public-data.usa_acs.demographics_soci... " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.data.observatory import Dataset\n", + "\n", + "dataset = Dataset.get('acs_sociodemogr_d4b2cf03')\n", + "variables_df = dataset.variables.to_dataframe()\n", + "variables_df[variables_df['description'].str.contains('car', case=False, na=False)]" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'slug': 'no_car_2207f034',\n", + " 'name': 'no_car',\n", + " 'description': 'Workers age 16 and over with no vehicle. All people in a geographic area over the age of 16 who do not own a car.',\n", + " 'db_type': 'FLOAT',\n", + " 'agg_method': 'SUM',\n", + " 'column_name': 'no_car',\n", + " 'variable_group_id': 'carto-do-public-data.usa_acs.demographics_sociodemographics_usa_censustract_2015_5yrs_20062010.car_ownership',\n", + " 'dataset_id': 'carto-do-public-data.usa_acs.demographics_sociodemographics_usa_censustract_2015_5yrs_20062010',\n", + " 'id': 'carto-do-public-data.usa_acs.demographics_sociodemographics_usa_censustract_2015_5yrs_20062010.no_car'}" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.data.observatory import Variable\n", + "\n", + "variable = Variable.get('no_car_2207f034')\n", + "variable.to_dict()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.data.observatory import Enrichment\n", + "\n", + "enrichment = Enrichment()\n", + "\n", + "enriched_dataset_gdf = enrichment.enrich_polygons(\n", + " census_track_gdf,\n", + " variables=[variable],\n", + " aggregation='SUM'\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
          \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
          OBJECTIDFULLTRACTIDTRACTIDgeometryno_car
          0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...0.657821
          1251013103000103000POLYGON ((-77.08558 38.82992, -77.08625 38.828...87.516848
          2351013102902102902POLYGON ((-77.09520 38.84499, -77.09442 38.844...123.512837
          \n", + "
          " + ], + "text/plain": [ + " OBJECTID FULLTRACTID TRACTID \\\n", + "0 1 51013102901 102901 \n", + "1 2 51013103000 103000 \n", + "2 3 51013102902 102902 \n", + "\n", + " geometry no_car \n", + "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 0.657821 \n", + "1 POLYGON ((-77.08558 38.82992, -77.08625 38.828... 87.516848 \n", + "2 POLYGON ((-77.09520 38.84499, -77.09442 38.844... 123.512837 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "enriched_dataset_gdf.head(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
          \n", + "
          \n", + "
          \n", + " \n", + " \n", + "
          \n", + "
          \n", + " \n", + "\n", + "
          \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
          \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
          \n", + " \n", + " \n", + "
          \n", + "
          \n", + "
          \n", + "
          \n", + " \n", + "
          \n", + "
          \n", + "
          \n", + "\n", + " \n", + "\n", + "
          \n", + "
          \n", + " :\n", + "
          \n", + " \n", + " \n", + "
          \n", + "
          \n", + "\n", + "
          \n", + " StackTrace\n", + "
            \n", + "
            \n", + "
            \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Layer, color_continuous_style\n", + "\n", + "Layer(enriched_dataset_gdf, color_continuous_style('no_car'))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/examples/data_services/geocoding.ipynb b/docs/examples/data_services/geocoding.ipynb new file mode 100644 index 000000000..53c52c353 --- /dev/null +++ b/docs/examples/data_services/geocoding.ipynb @@ -0,0 +1,1492 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Geocode a DataFrame\n", + "\n", + "This example illustrates how simply use the Geocoding Data Service.\n", + "\n", + "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('creds.json')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
            \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
            addresscity
            0Gran Vía 46Madrid
            1Ebro 1Sevilla
            \n", + "
            " + ], + "text/plain": [ + " address city\n", + "0 Gran Vía 46 Madrid\n", + "1 Ebro 1 Sevilla" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from pandas import DataFrame\n", + "\n", + "df = DataFrame([['Gran Vía 46', 'Madrid'], ['Ebro 1', 'Sevilla']], columns=['address','city'])\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Success! Data geocoded correctly\n" + ] + } + ], + "source": [ + "from cartoframes.data.services import Geocoding\n", + "\n", + "gc = Geocoding()\n", + "gdf, metadata = gc.geocode(df, street='address', city='city', country={'value': 'Spain'})" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
            \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
            the_geomaddresscitygc_status_relcarto_geocode_hash
            0POINT (-3.70588 40.42049)Gran Vía 46Madrid0.8495e4f39284efeab8e759aaa547d84567
            1POINT (-5.98312 37.35547)Ebro 1Sevilla0.7066940c4beeb395e1b628587ac772763a
            \n", + "
            " + ], + "text/plain": [ + " the_geom address city gc_status_rel \\\n", + "0 POINT (-3.70588 40.42049) Gran Vía 46 Madrid 0.84 \n", + "1 POINT (-5.98312 37.35547) Ebro 1 Sevilla 0.70 \n", + "\n", + " carto_geocode_hash \n", + "0 95e4f39284efeab8e759aaa547d84567 \n", + "1 66940c4beeb395e1b628587ac772763a " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gdf" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'total_rows': 2,\n", + " 'required_quota': 2,\n", + " 'previously_geocoded': 0,\n", + " 'previously_failed': 0,\n", + " 'records_with_geometry': 0,\n", + " 'final_records_with_geometry': 2,\n", + " 'geocoded_increment': 2,\n", + " 'successfully_geocoded': 2,\n", + " 'failed_geocodings': 0}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "metadata" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
            \n", + "
            \n", + "
            \n", + " \n", + " \n", + "
            \n", + "
            \n", + "
            \n", + "\n", + " \n", + "\n", + "
            \n", + "
            \n", + " :\n", + "
            \n", + " \n", + " \n", + "
            \n", + "
            \n", + "\n", + "
            \n", + " StackTrace\n", + "
              \n", + "
              \n", + "
              \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Layer\n", + "\n", + "Layer(gdf)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/data_services/geocoding_and_isolines.ipynb b/docs/examples/data_services/geocoding_and_isolines.ipynb similarity index 63% rename from examples/data_services/geocoding_and_isolines.ipynb rename to docs/examples/data_services/geocoding_and_isolines.ipynb index b7df6f555..d2a48c758 100644 --- a/examples/data_services/geocoding_and_isolines.ipynb +++ b/docs/examples/data_services/geocoding_and_isolines.ipynb @@ -4,9 +4,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Geocoding and Isolines Services\n", + "## Geocoding and Isolines Services\n", "\n", - "This example illustrates how to combine both the Geocoding and Isolines Location Data Services.\n", + "This example illustrates how to combine both the Geocoding and Isolines Data Services.\n", "\n", "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" ] @@ -101,9 +101,9 @@ } ], "source": [ - "import pandas\n", + "from pandas import DataFrame\n", "\n", - "df = pandas.DataFrame([\n", + "df = DataFrame([\n", " ['Calle Serrano 15'],\n", " ['Calle de San Pedro 21'],\n", " ['Calle Gran Vía 46'],\n", @@ -343,6 +343,11 @@ " max-width: 100%;\n", " height: auto;\n", " }\n", + "\n", + " as-layer-selector-slot .as-layer-selector-slot--wrapper .as-caption { // FIXME\n", + " font-size: 14px;\n", + " line-height: 14px;\n", + " }\n", "\n", " \n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
              \n", + "
              \n", + "
              \n", + " \n", + " \n", + "
              \n", + "
              \n", + "
              \n", + "\n", + " \n", + "\n", + "
              \n", + "
              \n", + " :\n", + "
              \n", + " \n", + " \n", + "
              \n", + "
              \n", + "\n", + "
              \n", + " StackTrace\n", + "
                \n", + "
                \n", + "
                \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Layer\n", + "\n", + "Layer(gdf)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Success! Isolines created correctly\n" + ] + } + ], + "source": [ + "from cartoframes.data.services import Isolines\n", + "\n", + "iso_service = Isolines()\n", + "isodistances_gdf, isodistances_metadata = iso_service.isodistances(gdf, [600, 1200, 2400], exclusive=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
                \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                source_iddata_rangelower_data_rangethe_geomrange_label
                006000MULTIPOLYGON (((-3.69149 40.42368, -3.69123 40...10 min.
                101200600POLYGON ((-3.69750 40.42694, -3.69690 40.42694...20 min.
                2024001200POLYGON ((-3.70917 40.43037, -3.70651 40.43037...40 min.
                316000MULTIPOLYGON (((-3.69973 40.41338, -3.69947 40...10 min.
                411200600MULTIPOLYGON (((-3.70660 40.41578, -3.70634 40...20 min.
                \n", + "
                " + ], + "text/plain": [ + " source_id data_range lower_data_range \\\n", + "0 0 600 0 \n", + "1 0 1200 600 \n", + "2 0 2400 1200 \n", + "3 1 600 0 \n", + "4 1 1200 600 \n", + "\n", + " the_geom range_label \n", + "0 MULTIPOLYGON (((-3.69149 40.42368, -3.69123 40... 10 min. \n", + "1 POLYGON ((-3.69750 40.42694, -3.69690 40.42694... 20 min. \n", + "2 POLYGON ((-3.70917 40.43037, -3.70651 40.43037... 40 min. \n", + "3 MULTIPOLYGON (((-3.69973 40.41338, -3.69947 40... 10 min. \n", + "4 MULTIPOLYGON (((-3.70660 40.41578, -3.70634 40... 20 min. " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "isodistances_gdf.head(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'required_quota': 21}" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "isodistances_metadata" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                \n", + "
                \n", + "
                \n", + " \n", + " \n", + "
                \n", + "
                \n", + "
                \n", + "\n", + " \n", + "\n", + "
                \n", + "
                \n", + " :\n", + "
                \n", + " \n", + " \n", + "
                \n", + "
                \n", + "\n", + "
                \n", + " StackTrace\n", + "
                  \n", + "
                  \n", + "
                  \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Map, Layer, basic_style\n", + "\n", + "Map([\n", + " Layer(isodistances_gdf, basic_style(color='green', opacity='0.3', stroke_width=0)),\n", + " Layer(gdf)\n", + "])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/map_layout/custom_layout.ipynb b/docs/examples/data_visualization/grid_layout/custom_layout.ipynb similarity index 99% rename from examples/map_layout/custom_layout.ipynb rename to docs/examples/data_visualization/grid_layout/custom_layout.ipynb index be29ba53d..095e3e7b6 100644 --- a/examples/map_layout/custom_layout.ipynb +++ b/docs/examples/data_visualization/grid_layout/custom_layout.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Custom Layout" + "## Custom Layout" ] }, { @@ -25,7 +25,6 @@ "outputs": [], "source": [ "from cartoframes.auth import set_default_credentials\n", - "from cartoframes.viz import Map, Layer, Layout\n", "\n", "set_default_credentials('cartoframes')" ] @@ -877,14 +876,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -958,7 +957,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -973,12 +972,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                  ${popupHTML}
                  `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                  ${popupHTML}
                  `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1337,7 +1340,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1387,7 +1390,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -1396,6 +1399,8 @@ } ], "source": [ + "from cartoframes.viz import Map, Layer, Layout\n", + "\n", "Layout([\n", " Map(Layer('drought_wk_1')),\n", " Map(Layer('drought_wk_2')),\n", @@ -2259,14 +2264,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -2340,7 +2345,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -2355,12 +2360,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                  ${popupHTML}
                  `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                  ${popupHTML}
                  `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -2719,7 +2728,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -2769,7 +2778,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 3, diff --git a/examples/map_layout/default_layout.ipynb b/docs/examples/data_visualization/grid_layout/default_layout.ipynb similarity index 99% rename from examples/map_layout/default_layout.ipynb rename to docs/examples/data_visualization/grid_layout/default_layout.ipynb index 1f37b14ae..9d9dc4c16 100644 --- a/examples/map_layout/default_layout.ipynb +++ b/docs/examples/data_visualization/grid_layout/default_layout.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Default Layout" + "## Default Layout" ] }, { @@ -25,7 +25,6 @@ "outputs": [], "source": [ "from cartoframes.auth import set_default_credentials\n", - "from cartoframes.viz import Map, Layer, Layout\n", "\n", "set_default_credentials('cartoframes')" ] @@ -852,14 +851,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -933,7 +932,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -948,12 +947,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                  ${popupHTML}
                  `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                  ${popupHTML}
                  `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1312,7 +1315,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1362,7 +1365,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -1371,6 +1374,8 @@ } ], "source": [ + "from cartoframes.viz import Map, Layer, Layout\n", + "\n", "Layout([\n", " Map(Layer('drought_wk_1')),\n", " Map(Layer('drought_wk_2')),\n", diff --git a/examples/map_layout/layout_titles.ipynb b/docs/examples/data_visualization/grid_layout/layout_titles.ipynb similarity index 99% rename from examples/map_layout/layout_titles.ipynb rename to docs/examples/data_visualization/grid_layout/layout_titles.ipynb index b614968e0..3f37b472f 100644 --- a/examples/map_layout/layout_titles.ipynb +++ b/docs/examples/data_visualization/grid_layout/layout_titles.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Layout titles" + "## Layout titles" ] }, { @@ -25,7 +25,6 @@ "outputs": [], "source": [ "from cartoframes.auth import set_default_credentials\n", - "from cartoframes.viz import Map, Layer, Layout\n", "\n", "set_default_credentials('cartoframes')" ] @@ -839,14 +838,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -920,7 +919,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -935,12 +934,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                  ${popupHTML}
                  `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                  ${popupHTML}
                  `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1299,7 +1302,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1349,7 +1352,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -1358,6 +1361,8 @@ } ], "source": [ + "from cartoframes.viz import Map, Layer, Layout\n", + "\n", "Layout([\n", " Map(Layer('drought_wk_1'), title=\"US Drought: Week 1\"),\n", " Map(Layer('drought_wk_2'), title=\"US Drought: Week 2\"),\n", diff --git a/examples/map_layout/layout_viewport.ipynb b/docs/examples/data_visualization/grid_layout/layout_viewport.ipynb similarity index 99% rename from examples/map_layout/layout_viewport.ipynb rename to docs/examples/data_visualization/grid_layout/layout_viewport.ipynb index e9285a637..cd67cce22 100644 --- a/examples/map_layout/layout_viewport.ipynb +++ b/docs/examples/data_visualization/grid_layout/layout_viewport.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Layout viewport" + "## Layout viewport" ] }, { @@ -25,7 +25,6 @@ "outputs": [], "source": [ "from cartoframes.auth import set_default_credentials\n", - "from cartoframes.viz import Map, Layer, Layout, basic_style\n", "\n", "set_default_credentials('cartoframes')" ] @@ -880,14 +879,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -961,7 +960,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -976,12 +975,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                  ${popupHTML}
                  `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                  ${popupHTML}
                  `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1340,7 +1343,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1390,7 +1393,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -1399,6 +1402,8 @@ } ], "source": [ + "from cartoframes.viz import Map, Layer, Layout, basic_style\n", + "\n", "Layout([\n", " Map(Layer('select * from drought_wk_1 where dm = 3', basic_style(color='#e15383'))),\n", " Map(Layer('select * from drought_wk_2 where dm = 3', basic_style(color='#e15383'))),\n", @@ -2257,14 +2262,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -2338,7 +2343,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -2353,12 +2358,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                  ${popupHTML}
                  `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                  ${popupHTML}
                  `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -2717,7 +2726,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -2767,7 +2776,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 3, @@ -2776,6 +2785,8 @@ } ], "source": [ + "from cartoframes.viz import Map, Layer, Layout, basic_style\n", + "\n", "Layout([\n", " Map(Layer('drought_wk_1'), viewport={ 'zoom': 0.5 }),\n", " Map(Layer('select * from drought_wk_1 where dm = 1', basic_style(color='#ffc285'))),\n", diff --git a/examples/map_layout/static_layout.ipynb b/docs/examples/data_visualization/grid_layout/static_layout.ipynb similarity index 99% rename from examples/map_layout/static_layout.ipynb rename to docs/examples/data_visualization/grid_layout/static_layout.ipynb index bb0ac0602..c3d140e60 100644 --- a/examples/map_layout/static_layout.ipynb +++ b/docs/examples/data_visualization/grid_layout/static_layout.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Static Layout" + "## Static Layout" ] }, { @@ -25,7 +25,6 @@ "outputs": [], "source": [ "from cartoframes.auth import set_default_credentials\n", - "from cartoframes.viz import Map, Layer, Layout, color_bins_style\n", "\n", "set_default_credentials('cartoframes')" ] @@ -831,14 +830,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -912,7 +911,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -927,12 +926,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                  ${popupHTML}
                  `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                  ${popupHTML}
                  `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1291,7 +1294,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1341,7 +1344,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -1350,6 +1353,8 @@ } ], "source": [ + "from cartoframes.viz import Map, Layer, Layout, color_bins_style\n", + "\n", "Layout([\n", " Map(Layer('drought_wk_1', color_bins_style('dm', method='equal', palette='pinkyl'))),\n", " Map(Layer('drought_wk_4', color_bins_style('dm', method='equal', palette='pinkyl'))),\n", diff --git a/examples/layers/add_layer.ipynb b/docs/examples/data_visualization/layers/add_layer.ipynb similarity index 64% rename from examples/layers/add_layer.ipynb rename to docs/examples/data_visualization/layers/add_layer.ipynb index 45fe73750..e5d1dc33e 100644 --- a/examples/layers/add_layer.ipynb +++ b/docs/examples/data_visualization/layers/add_layer.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Add a Layer\n", + "## Add a Layer\n", "\n", "This example illustrates how to add one Layer to a Map.\n", "\n", @@ -86,6 +86,11 @@ " max-width: 100%;\n", " height: auto;\n", " }\n", + "\n", + " as-layer-selector-slot .as-layer-selector-slot--wrapper .as-caption { // FIXME\n", + " font-size: 14px;\n", + " line-height: 14px;\n", + " }\n", "\n", " \n", " \n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                  \n", + "
                  \n", + "
                  \n", + " \n", + " \n", + "
                  \n", + "
                  \n", + "
                  \n", + "\n", + " \n", + "\n", + "
                  \n", + "
                  \n", + " :\n", + "
                  \n", + " \n", + " \n", + "
                  \n", + "
                  \n", + "\n", + "
                  \n", + " StackTrace\n", + "
                    \n", + "
                    \n", + "
                    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Map(\n", + " Layer('pittsburgh_311'),\n", + " basemap=basemaps.voyager\n", + ")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/examples/data_visualization/map_configuration/custom_viewport.ipynb b/docs/examples/data_visualization/map_configuration/custom_viewport.ipynb new file mode 100644 index 000000000..295aeb36f --- /dev/null +++ b/docs/examples/data_visualization/map_configuration/custom_viewport.ipynb @@ -0,0 +1,1311 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Set a custom viewport\n", + "\n", + "By default, CARTOframes sets the center and zoom of your map to encompass all features in a dataset. In the cases where you want to set a custom extent, setting `show_info=True` places zoom and latitude/longitude coordinates at the bottom left corner of the map. Copying and pasting the values to the `viewport` parameter sets the opening zoom and center of the map." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "from cartoframes.viz import Map, Layer\n", + "\n", + "set_default_credentials('cartoframes')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                    \n", + "
                    \n", + "
                    \n", + " \n", + "
                    \n", + " \n", + " \n", + "
                    \n", + "
                    \n", + "
                    \n", + "\n", + " \n", + "\n", + "
                    \n", + "
                    \n", + " :\n", + "
                    \n", + " \n", + " \n", + "
                    \n", + "
                    \n", + "\n", + "
                    \n", + " StackTrace\n", + "
                      \n", + "
                      \n", + "
                      \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Map(\n", + " Layer('pittsburgh_311'),\n", + " show_info=True,\n", + " viewport={'zoom': 13.5, 'lat': 40.4353, 'lng': -79.9916}\n", + ")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/examples/data_visualization/map_configuration/dark_theme.ipynb b/docs/examples/data_visualization/map_configuration/dark_theme.ipynb new file mode 100644 index 000000000..7ec811c97 --- /dev/null +++ b/docs/examples/data_visualization/map_configuration/dark_theme.ipynb @@ -0,0 +1,1409 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Switch to a dark theme\n", + "\n", + "By default, CARTOframes uses Positron, a light basemap with light themed widget and legend panels. When the basemap is swithed to Dark Matter and legends and widgets are present, the theme updates accordingly.\n", + "\n", + "In the example below, by setting the `basemap` parameter to `darkmatter`, all map components switch to a dark theme that is better suited for the dark basemap." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "from cartoframes.viz import Map, Layer, basemaps, color_category_style\n", + "\n", + "set_default_credentials('cartoframes')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                      \n", + "
                      \n", + "
                      \n", + " \n", + " \n", + "
                      \n", + "
                      \n", + " \n", + "\n", + "
                      \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                      \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                      \n", + " \n", + " \n", + "
                      \n", + "
                      \n", + "
                      \n", + "
                      \n", + " \n", + "
                      \n", + "
                      \n", + "
                      \n", + "\n", + " \n", + "\n", + "
                      \n", + "
                      \n", + " :\n", + "
                      \n", + " \n", + " \n", + "
                      \n", + "
                      \n", + "\n", + "
                      \n", + " StackTrace\n", + "
                        \n", + "
                        \n", + "
                        \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Map(\n", + " Layer(\n", + " 'pittsburgh_311',\n", + " color_category_style('request_type', top=3, palette='[#4ABD9A,#4A5798,#F9CA34]'),\n", + " title=\"Requests\"\n", + " ),\n", + " basemap=basemaps.darkmatter\n", + ")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/examples/data_visualization/map_configuration/solid_color_background.ipynb b/docs/examples/data_visualization/map_configuration/solid_color_background.ipynb new file mode 100644 index 000000000..0ac26a880 --- /dev/null +++ b/docs/examples/data_visualization/map_configuration/solid_color_background.ipynb @@ -0,0 +1,1310 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Use a solid color background\n", + "\n", + "By default, CARTOframes uses CARTO's Positron basemap with labels under. The basemap can be customized to use another CARTO style (Voyager, Dark Matter), a Mapbox basemap, or a custom background color; all through the `basemap` parameter.\n", + "\n", + "In the example below, the default basemap is changed to a solid color background." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "from cartoframes.viz import Map, Layer\n", + "\n", + "set_default_credentials('cartovl')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                        \n", + "
                        \n", + "
                        \n", + " \n", + " \n", + "
                        \n", + "
                        \n", + "
                        \n", + "\n", + " \n", + "\n", + "
                        \n", + "
                        \n", + " :\n", + "
                        \n", + " \n", + " \n", + "
                        \n", + "
                        \n", + "\n", + "
                        \n", + " StackTrace\n", + "
                          \n", + "
                          \n", + "
                          \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Map(\n", + " Layer('pittsburgh_311'),\n", + " basemap='#dadcf4'\n", + ")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/popups/default_popup.ipynb b/docs/examples/data_visualization/popups/default_popup.ipynb similarity index 97% rename from examples/popups/default_popup.ipynb rename to docs/examples/data_visualization/popups/default_popup.ipynb index 1c630e20b..3f3691c6a 100644 --- a/examples/popups/default_popup.ipynb +++ b/docs/examples/data_visualization/popups/default_popup.ipynb @@ -14,7 +14,6 @@ "outputs": [], "source": [ "from cartoframes.auth import set_default_credentials\n", - "from cartoframes.viz import Layer, color_bins_style, default_popup_element\n", "\n", "set_default_credentials('cartoframes')" ] @@ -50,11 +49,11 @@ " \n", "\n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", "\n", " \n", "\n", @@ -721,9 +720,8 @@ " return locale;\n", " }\n", "\n", - " function format$1(value, formatString) {\n", - " // TODO: Check what to do with legend's format call with parameters (legends.html.j2 e.g.)\n", - " const formatFunc = formatString ? format(formatString) : formatValue;\n", + " function formatter(value, specifier) {\n", + " const formatFunc = specifier ? format(specifier) : formatValue;\n", "\n", " if (Array.isArray(value)) {\n", " const [first, second] = value;\n", @@ -755,21 +753,21 @@ " return value.toLocaleString();\n", " }\n", "\n", - " function updateViewport(map) {\n", + " function updateViewport(id, map) {\n", " function updateMapInfo() {\n", - " const mapInfo$ = document.getElementById('map-info');\n", + " const mapInfo$ = document.getElementById(id);\n", " const center = map.getCenter();\n", " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -843,12 +841,12 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", " let value = variable.value;\n", - " value = format$1(value, item.format);\n", + " value = formatter(value, item.format);\n", "\n", " popupHTML = `\n", " ${item.title}\n", @@ -858,12 +856,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                          ${popupHTML}
                          `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                          ${popupHTML}
                          `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -918,7 +920,7 @@ " widget.element = widget.element || document.querySelector(`#${widget.id}-value`);\n", "\n", " if (value && widget.element) {\n", - " widget.element.innerText = typeof value === 'number' ? format$1(value, widget.options.format) : value;\n", + " widget.element.innerText = typeof value === 'number' ? formatter(value, widget.options.format) : value;\n", " }\n", " }\n", "\n", @@ -930,7 +932,6 @@ " const type = _getWidgetType(mapLayer, widget.value, widget.prop);\n", " const histogram = type === 'category' ? 'categoricalHistogram' : 'numericalHistogram';\n", " bridge[histogram](widget.element, widget.value, widget.options);\n", - "\n", " break;\n", " case 'category':\n", " bridge.category(widget.element, widget.value, widget.options);\n", @@ -991,10 +992,7 @@ " const order = legend.ascending ? 'ASC' : 'DESC';\n", " const variable = legend.variable;\n", " const config = { othersLabel, variable, order };\n", - " const formatString = legend.format;\n", - " const formatFunc = formatString\n", - " ? (value) => format$1(value, formatString)\n", - " : format$1;\n", + " const formatFunc = (value) => formatter(value, legend.format);\n", " const options = { format: formatFunc, config, dynamic };\n", "\n", " if (legend.type.startsWith('size-continuous')) {\n", @@ -1151,7 +1149,8 @@ " const map = createMap(container, basemapStyle, settings.bounds, settings.mapboxtoken);\n", "\n", " if (settings.show_info) {\n", - " updateViewport(map);\n", + " const id = mapIndex !== undefined ? `map-info-${mapIndex}` : 'map-info';\n", + " updateViewport(id, map);\n", " }\n", "\n", " if (settings.camera) {\n", @@ -1225,7 +1224,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1271,7 +1270,7 @@ " const has_legends = 'true' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": {"api_key": "default_public", "base_url": "https://cartoframes.carto.com", "username": "cartoframes"}, "data": "SELECT * FROM \\"cartoframes\\".\\"eng_wales_pop\\"", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": ",.3r", "name": "v18f1e3", "title": "Population per square km"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "color", "title": "pop_sq_km", "type": "color-bins", "variable": null}], "map_index": 0, "options": {}, "source": "SELECT * FROM \\"cartoframes\\".\\"eng_wales_pop\\"", "title": null, "type": "Query", "viz": "@v18f1e3: prop(\\u0027pop_sq_km\\u0027)\\ncolor: opacity(ramp(globalQuantiles(prop(\\u0027pop_sq_km\\u0027), 5), purpor), 0.9)\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nfilter: 1\\n", "widgets": []}];\n", + " const layers = [{"credentials": {"api_key": "default_public", "base_url": "https://cartoframes.carto.com", "username": "cartoframes"}, "data": "SELECT * FROM \\"cartoframes\\".\\"eng_wales_pop\\"", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": ",.3r", "name": "v18f1e3", "title": "Population per square km"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "color", "title": "pop_sq_km", "type": "color-bins", "variable": null}], "map_index": 0, "options": {}, "source": "SELECT * FROM \\"cartoframes\\".\\"eng_wales_pop\\"", "title": null, "type": "Query", "viz": "@v18f1e3: prop(\\u0027pop_sq_km\\u0027)\\ncolor: opacity(ramp(globalQuantiles(prop(\\u0027pop_sq_km\\u0027), 5), purpor), 0.9)\\nfilter: 1\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -1295,7 +1294,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -1304,6 +1303,8 @@ } ], "source": [ + "from cartoframes.viz import Layer, color_bins_style, default_popup_element\n", + "\n", "Layer(\n", " 'eng_wales_pop',\n", " color_bins_style('pop_sq_km'),\n", @@ -1330,7 +1331,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.2" + "version": "3.6.7" } }, "nbformat": 4, diff --git a/docs/examples/data_visualization/popups/multiple_popup_events.ipynb b/docs/examples/data_visualization/popups/multiple_popup_events.ipynb new file mode 100644 index 000000000..7ec021527 --- /dev/null +++ b/docs/examples/data_visualization/popups/multiple_popup_events.ipynb @@ -0,0 +1,1321 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Multiple popup events\n", + "\n", + "Popups provide information about features through either `click` or `hover` interactivity events. Features can listen to both events or multiple properties from the same event.\n", + "\n", + "For more information on popups, run `help(Popup)`.\n", + "\n", + "In this example, there are two different definitions for popup information depending on whether it is a `hover` or `click` event." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('cartoframes')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                          \n", + "
                          \n", + "
                          \n", + " \n", + " \n", + "
                          \n", + "
                          \n", + "
                          \n", + "\n", + " \n", + "\n", + "
                          \n", + "
                          \n", + " :\n", + "
                          \n", + " \n", + " \n", + "
                          \n", + "
                          \n", + "\n", + "
                          \n", + " StackTrace\n", + "
                            \n", + "
                            \n", + "
                            \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Layer, popup_element\n", + "\n", + "Layer(\n", + " 'countries_africa',\n", + " popup_hover=[\n", + " popup_element('name', title='Country'),\n", + " ],\n", + " popup_click=[\n", + " popup_element('pop_est', title='Population'),\n", + " popup_element('gdp_md_est', title='GDP')\n", + " ]\n", + ")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/examples/data_visualization/popups/popup_on_click.ipynb b/docs/examples/data_visualization/popups/popup_on_click.ipynb new file mode 100644 index 000000000..3a2baed23 --- /dev/null +++ b/docs/examples/data_visualization/popups/popup_on_click.ipynb @@ -0,0 +1,1317 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Popup on click\n", + "\n", + "Popups provide information about features through either `click` or `hover` interactivity events. Features can listen to both events or multiple properties from the same event.\n", + "For more information on popups, run `help(Popup)`.\n", + "\n", + "In this example, the `click` event shows two attributes from the Layer with default column name titles." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('cartoframes')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                            \n", + "
                            \n", + "
                            \n", + " \n", + " \n", + "
                            \n", + "
                            \n", + "
                            \n", + "\n", + " \n", + "\n", + "
                            \n", + "
                            \n", + " :\n", + "
                            \n", + " \n", + " \n", + "
                            \n", + "
                            \n", + "\n", + "
                            \n", + " StackTrace\n", + "
                              \n", + "
                              \n", + "
                              \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Layer, popup_element\n", + "\n", + "Layer(\n", + " 'countries_africa',\n", + " popup_click=[\n", + " popup_element('pop_est'),\n", + " popup_element('name_long')\n", + " ]\n", + ")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/examples/data_visualization/popups/popup_on_hover.ipynb b/docs/examples/data_visualization/popups/popup_on_hover.ipynb new file mode 100644 index 000000000..4b1504c21 --- /dev/null +++ b/docs/examples/data_visualization/popups/popup_on_hover.ipynb @@ -0,0 +1,1318 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Popup on hover\n", + "\n", + "Popups provide information about features through either `click` or `hover` interactivity events. Features can listen to both events or multiple properties from the same event.\n", + "\n", + "For more information on popups, run `help(Popup)`.\n", + "\n", + "In this example, the `hover` event shows two attributes from the Layer with default column name titles." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('cartoframes')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                              \n", + "
                              \n", + "
                              \n", + " \n", + " \n", + "
                              \n", + "
                              \n", + "
                              \n", + "\n", + " \n", + "\n", + "
                              \n", + "
                              \n", + " :\n", + "
                              \n", + " \n", + " \n", + "
                              \n", + "
                              \n", + "\n", + "
                              \n", + " StackTrace\n", + "
                                \n", + "
                                \n", + "
                                \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Layer, popup_element\n", + "\n", + "Layer(\n", + " 'countries_africa',\n", + " popup_hover=[\n", + " popup_element('pop_est'),\n", + " popup_element('name_long')\n", + " ]\n", + ")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/popups/popup_titles_and_format.ipynb b/docs/examples/data_visualization/popups/popup_titles_and_format.ipynb similarity index 97% rename from examples/popups/popup_titles_and_format.ipynb rename to docs/examples/data_visualization/popups/popup_titles_and_format.ipynb index ff52ab033..fdac65b1c 100644 --- a/examples/popups/popup_titles_and_format.ipynb +++ b/docs/examples/data_visualization/popups/popup_titles_and_format.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Popup titles and format\n", + "## Popup titles and format\n", "\n", "Popups provide information about features through either `click` or `hover` interactivity events. Features can listen to both events or multiple properties from the same event.\n", "\n", @@ -20,7 +20,6 @@ "outputs": [], "source": [ "from cartoframes.auth import set_default_credentials\n", - "from cartoframes.viz import Layer, basic_style, popup_element\n", "\n", "set_default_credentials('cartoframes')" ] @@ -733,21 +732,21 @@ " return value.toLocaleString();\n", " }\n", "\n", - " function updateViewport(map) {\n", + " function updateViewport(id, map) {\n", " function updateMapInfo() {\n", - " const mapInfo$ = document.getElementById('map-info');\n", + " const mapInfo$ = document.getElementById(id);\n", " const center = map.getCenter();\n", " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -821,7 +820,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -836,12 +835,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                ${popupHTML}
                                `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                ${popupHTML}
                                `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1125,7 +1128,8 @@ " const map = createMap(container, basemapStyle, settings.bounds, settings.mapboxtoken);\n", "\n", " if (settings.show_info) {\n", - " updateViewport(map);\n", + " const id = mapIndex !== undefined ? `map-info-${mapIndex}` : 'map-info';\n", + " updateViewport(id, map);\n", " }\n", "\n", " if (settings.camera) {\n", @@ -1199,7 +1203,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1245,7 +1249,7 @@ " const has_legends = 'False' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": {"api_key": "default_public", "base_url": "https://cartoframes.carto.com", "username": "cartoframes"}, "data": "SELECT * FROM \\"cartoframes\\".\\"spain_populated_places\\"", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": ",.2r", "name": "vf721bc", "title": "Rounded population"}, "event": "hover"}, {"attrs": {"format": null, "name": "v6ae999", "title": "City"}, "event": "hover"}], "legends": [], "map_index": 0, "options": {}, "source": "SELECT * FROM \\"cartoframes\\".\\"spain_populated_places\\"", "title": null, "type": "Query", "viz": "@vf721bc: prop(\\u0027pop_max\\u0027)\\n@v6ae999: prop(\\u0027name\\u0027)\\ncolor: opacity(hex(\\"#EE4D5A\\"), 1)\\nwidth: 10\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\n", "widgets": []}];\n", + " const layers = [{"credentials": {"api_key": "default_public", "base_url": "https://cartoframes.carto.com", "username": "cartoframes"}, "data": "SELECT * FROM \\"cartoframes\\".\\"spain_populated_places\\"", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": ",.2r", "name": "vf721bc", "title": "Rounded population"}, "event": "hover"}, {"attrs": {"format": null, "name": "v6ae999", "title": "City"}, "event": "hover"}], "legends": [], "map_index": 0, "options": {}, "source": "SELECT * FROM \\"cartoframes\\".\\"spain_populated_places\\"", "title": null, "type": "Query", "viz": "@v6ae999: prop(\\u0027name\\u0027)\\n@vf721bc: prop(\\u0027pop_max\\u0027)\\ncolor: opacity(hex(\\"#EE4D5A\\"), 1)\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: 10\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -1269,7 +1273,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -1278,7 +1282,7 @@ } ], "source": [ - "from cartoframes.viz import Layer, popup_element\n", + "from cartoframes.viz import Layer, basic_style, popup_element\n", "\n", "Layer(\n", " 'spain_populated_places',\n", diff --git a/examples/publish_and_share/publish_visualization_gdf.ipynb b/docs/examples/data_visualization/publish_and_share/publish_visualization_gdf.ipynb similarity index 95% rename from examples/publish_and_share/publish_visualization_gdf.ipynb rename to docs/examples/data_visualization/publish_and_share/publish_visualization_gdf.ipynb index f6d66cea8..438597ad3 100644 --- a/examples/publish_and_share/publish_visualization_gdf.ipynb +++ b/docs/examples/data_visualization/publish_and_share/publish_visualization_gdf.ipynb @@ -4,13 +4,13 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Publish a visualization from a GeoDataFrame\n", + "## Publish a visualization from a GeoDataFrame\n", "\n", "This example illustrate how to publish a visualization using a GeoDataFrame.\n", "\n", "Read more about Maps API Keys: https://carto.com/developers/auth-api/guides/types-of-API-Keys/\n", "\n", - "> Note: CARTO Account credentials are needed to reproduce this example. https://carto.com/signup" + ">_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" ] }, { @@ -76,7 +76,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Recomendation\n", + "### Recomendation\n", "\n", "The performance of visualizations can be affected by using large GeoDataFrames. There is also a size limit of 10MB per visualization published. Our recomentation in these cases is to upload the data to a table in CARTO, and use the table as the source in the Layer." ] diff --git a/examples/publish_and_share/publish_visualization_layout.ipynb b/docs/examples/data_visualization/publish_and_share/publish_visualization_layout.ipynb similarity index 93% rename from examples/publish_and_share/publish_visualization_layout.ipynb rename to docs/examples/data_visualization/publish_and_share/publish_visualization_layout.ipynb index a4a96c8e3..1dd084904 100644 --- a/examples/publish_and_share/publish_visualization_layout.ipynb +++ b/docs/examples/data_visualization/publish_and_share/publish_visualization_layout.ipynb @@ -4,11 +4,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Publish a visualization of a layout\n", + "## Publish a visualization of a layout\n", "\n", "This example illustrate how to publish a layout of map visualizations.\n", "\n", - "> Note: CARTO Account credentials are needed to reproduce this example. https://carto.com/signup" + ">_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" ] }, { diff --git a/examples/publish_and_share/publish_visualization_private_table.ipynb b/docs/examples/data_visualization/publish_and_share/publish_visualization_private_table.ipynb similarity index 95% rename from examples/publish_and_share/publish_visualization_private_table.ipynb rename to docs/examples/data_visualization/publish_and_share/publish_visualization_private_table.ipynb index 73f28ebf4..97342fc2d 100644 --- a/examples/publish_and_share/publish_visualization_private_table.ipynb +++ b/docs/examples/data_visualization/publish_and_share/publish_visualization_private_table.ipynb @@ -4,13 +4,13 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Publish a visualization from a private table\n", + "## Publish a visualization from a private table\n", "\n", "This example illustrate how to publish a visualization using a private table. Using private tables requires to create Maps API keys for the visualization. By default it creates a custom Maps API key for all the private tables used in the visualization if not provided.\n", "\n", "Read more about Maps API Keys: https://carto.com/developers/auth-api/guides/types-of-API-Keys/\n", "\n", - "> Note: CARTO Account credentials are needed to reproduce this example. https://carto.com/signup" + ">_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" ] }, { diff --git a/examples/publish_and_share/publish_visualization_public_table.ipynb b/docs/examples/data_visualization/publish_and_share/publish_visualization_public_table.ipynb similarity index 92% rename from examples/publish_and_share/publish_visualization_public_table.ipynb rename to docs/examples/data_visualization/publish_and_share/publish_visualization_public_table.ipynb index aae06ca6b..f6de6bfc0 100644 --- a/examples/publish_and_share/publish_visualization_public_table.ipynb +++ b/docs/examples/data_visualization/publish_and_share/publish_visualization_public_table.ipynb @@ -4,13 +4,13 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Publish a visualization from a public table\n", + "## Publish a visualization from a public table\n", "\n", "This example illustrates how to publish a visualization using a public table. You do not need a Maps API key to visualize a public table within a notebook. However you do need an API Key to publish any visualization, whether its data is public or private.\n", "\n", "Read more about API Keys here: https://carto.com/developers/auth-api/guides/types-of-API-Keys/\n", "\n", - "> Note: CARTO Account credentials are needed to reproduce this example. https://carto.com/signup" + ">_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" ] }, { diff --git a/examples/styles/animation_style.ipynb b/docs/examples/data_visualization/styles/animation_style.ipynb similarity index 65% rename from examples/styles/animation_style.ipynb rename to docs/examples/data_visualization/styles/animation_style.ipynb index 14f1f3180..c44771241 100644 --- a/examples/styles/animation_style.ipynb +++ b/docs/examples/data_visualization/styles/animation_style.ipynb @@ -383,18 +383,330 @@ " stacktrace$.innerHTML = list.join('\\n');\n", " }\n", "\n", - " function format(value) {\n", + " // Computes the decimal coefficient and exponent of the specified number x with\n", + " // significant digits p, where x is positive and p is in [1, 21] or undefined.\n", + " // For example, formatDecimal(1.23) returns ["123", 0].\n", + " function formatDecimal(x, p) {\n", + " if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, ±Infinity\n", + " var i, coefficient = x.slice(0, i);\n", + "\n", + " // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n", + " // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n", + " return [\n", + " coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n", + " +x.slice(i + 1)\n", + " ];\n", + " }\n", + "\n", + " function exponent(x) {\n", + " return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN;\n", + " }\n", + "\n", + " function formatGroup(grouping, thousands) {\n", + " return function(value, width) {\n", + " var i = value.length,\n", + " t = [],\n", + " j = 0,\n", + " g = grouping[0],\n", + " length = 0;\n", + "\n", + " while (i > 0 && g > 0) {\n", + " if (length + g + 1 > width) g = Math.max(1, width - length);\n", + " t.push(value.substring(i -= g, i + g));\n", + " if ((length += g + 1) > width) break;\n", + " g = grouping[j = (j + 1) % grouping.length];\n", + " }\n", + "\n", + " return t.reverse().join(thousands);\n", + " };\n", + " }\n", + "\n", + " function formatNumerals(numerals) {\n", + " return function(value) {\n", + " return value.replace(/[0-9]/g, function(i) {\n", + " return numerals[+i];\n", + " });\n", + " };\n", + " }\n", + "\n", + " // [[fill]align][sign][symbol][0][width][,][.precision][~][type]\n", + " var re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n", + "\n", + " function formatSpecifier(specifier) {\n", + " if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier);\n", + " var match;\n", + " return new FormatSpecifier({\n", + " fill: match[1],\n", + " align: match[2],\n", + " sign: match[3],\n", + " symbol: match[4],\n", + " zero: match[5],\n", + " width: match[6],\n", + " comma: match[7],\n", + " precision: match[8] && match[8].slice(1),\n", + " trim: match[9],\n", + " type: match[10]\n", + " });\n", + " }\n", + "\n", + " formatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n", + "\n", + " function FormatSpecifier(specifier) {\n", + " this.fill = specifier.fill === undefined ? " " : specifier.fill + "";\n", + " this.align = specifier.align === undefined ? ">" : specifier.align + "";\n", + " this.sign = specifier.sign === undefined ? "-" : specifier.sign + "";\n", + " this.symbol = specifier.symbol === undefined ? "" : specifier.symbol + "";\n", + " this.zero = !!specifier.zero;\n", + " this.width = specifier.width === undefined ? undefined : +specifier.width;\n", + " this.comma = !!specifier.comma;\n", + " this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n", + " this.trim = !!specifier.trim;\n", + " this.type = specifier.type === undefined ? "" : specifier.type + "";\n", + " }\n", + "\n", + " FormatSpecifier.prototype.toString = function() {\n", + " return this.fill\n", + " + this.align\n", + " + this.sign\n", + " + this.symbol\n", + " + (this.zero ? "0" : "")\n", + " + (this.width === undefined ? "" : Math.max(1, this.width | 0))\n", + " + (this.comma ? "," : "")\n", + " + (this.precision === undefined ? "" : "." + Math.max(0, this.precision | 0))\n", + " + (this.trim ? "~" : "")\n", + " + this.type;\n", + " };\n", + "\n", + " // Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\n", + " function formatTrim(s) {\n", + " out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n", + " switch (s[i]) {\n", + " case ".": i0 = i1 = i; break;\n", + " case "0": if (i0 === 0) i0 = i; i1 = i; break;\n", + " default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n", + " }\n", + " }\n", + " return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n", + " }\n", + "\n", + " var prefixExponent;\n", + "\n", + " function formatPrefixAuto(x, p) {\n", + " var d = formatDecimal(x, p);\n", + " if (!d) return x + "";\n", + " var coefficient = d[0],\n", + " exponent = d[1],\n", + " i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n", + " n = coefficient.length;\n", + " return i === n ? coefficient\n", + " : i > n ? coefficient + new Array(i - n + 1).join("0")\n", + " : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i)\n", + " : "0." + new Array(1 - i).join("0") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n", + " }\n", + "\n", + " function formatRounded(x, p) {\n", + " var d = formatDecimal(x, p);\n", + " if (!d) return x + "";\n", + " var coefficient = d[0],\n", + " exponent = d[1];\n", + " return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient\n", + " : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1)\n", + " : coefficient + new Array(exponent - coefficient.length + 2).join("0");\n", + " }\n", + "\n", + " var formatTypes = {\n", + " "%": function(x, p) { return (x * 100).toFixed(p); },\n", + " "b": function(x) { return Math.round(x).toString(2); },\n", + " "c": function(x) { return x + ""; },\n", + " "d": function(x) { return Math.round(x).toString(10); },\n", + " "e": function(x, p) { return x.toExponential(p); },\n", + " "f": function(x, p) { return x.toFixed(p); },\n", + " "g": function(x, p) { return x.toPrecision(p); },\n", + " "o": function(x) { return Math.round(x).toString(8); },\n", + " "p": function(x, p) { return formatRounded(x * 100, p); },\n", + " "r": formatRounded,\n", + " "s": formatPrefixAuto,\n", + " "X": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n", + " "x": function(x) { return Math.round(x).toString(16); }\n", + " };\n", + "\n", + " function identity(x) {\n", + " return x;\n", + " }\n", + "\n", + " var map = Array.prototype.map,\n", + " prefixes = ["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];\n", + "\n", + " function formatLocale(locale) {\n", + " var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + ""),\n", + " currencyPrefix = locale.currency === undefined ? "" : locale.currency[0] + "",\n", + " currencySuffix = locale.currency === undefined ? "" : locale.currency[1] + "",\n", + " decimal = locale.decimal === undefined ? "." : locale.decimal + "",\n", + " numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n", + " percent = locale.percent === undefined ? "%" : locale.percent + "",\n", + " minus = locale.minus === undefined ? "-" : locale.minus + "",\n", + " nan = locale.nan === undefined ? "NaN" : locale.nan + "";\n", + "\n", + " function newFormat(specifier) {\n", + " specifier = formatSpecifier(specifier);\n", + "\n", + " var fill = specifier.fill,\n", + " align = specifier.align,\n", + " sign = specifier.sign,\n", + " symbol = specifier.symbol,\n", + " zero = specifier.zero,\n", + " width = specifier.width,\n", + " comma = specifier.comma,\n", + " precision = specifier.precision,\n", + " trim = specifier.trim,\n", + " type = specifier.type;\n", + "\n", + " // The "n" type is an alias for ",g".\n", + " if (type === "n") comma = true, type = "g";\n", + "\n", + " // The "" type, and any invalid type, is an alias for ".12~g".\n", + " else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = "g";\n", + "\n", + " // If zero fill is specified, padding goes after sign and before digits.\n", + " if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "=";\n", + "\n", + " // Compute the prefix and suffix.\n", + " // For SI-prefix, the suffix is lazily computed.\n", + " var prefix = symbol === "$" ? currencyPrefix : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "",\n", + " suffix = symbol === "$" ? currencySuffix : /[%p]/.test(type) ? percent : "";\n", + "\n", + " // What format function should we use?\n", + " // Is this an integer type?\n", + " // Can this type generate exponential notation?\n", + " var formatType = formatTypes[type],\n", + " maybeSuffix = /[defgprs%]/.test(type);\n", + "\n", + " // Set the default precision if not specified,\n", + " // or clamp the specified precision to the supported range.\n", + " // For significant precision, it must be in [1, 21].\n", + " // For fixed precision, it must be in [0, 20].\n", + " precision = precision === undefined ? 6\n", + " : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n", + " : Math.max(0, Math.min(20, precision));\n", + "\n", + " function format(value) {\n", + " var valuePrefix = prefix,\n", + " valueSuffix = suffix,\n", + " i, n, c;\n", + "\n", + " if (type === "c") {\n", + " valueSuffix = formatType(value) + valueSuffix;\n", + " value = "";\n", + " } else {\n", + " value = +value;\n", + "\n", + " // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n", + " var valueNegative = value < 0 || 1 / value < 0;\n", + "\n", + " // Perform the initial formatting.\n", + " value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n", + "\n", + " // Trim insignificant zeros.\n", + " if (trim) value = formatTrim(value);\n", + "\n", + " // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n", + " if (valueNegative && +value === 0 && sign !== "+") valueNegative = false;\n", + "\n", + " // Compute the prefix and suffix.\n", + " valuePrefix = (valueNegative ? (sign === "(" ? sign : minus) : sign === "-" || sign === "(" ? "" : sign) + valuePrefix;\n", + " valueSuffix = (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + valueSuffix + (valueNegative && sign === "(" ? ")" : "");\n", + "\n", + " // Break the formatted value into the integer “value” part that can be\n", + " // grouped, and fractional or exponential “suffix” part that is not.\n", + " if (maybeSuffix) {\n", + " i = -1, n = value.length;\n", + " while (++i < n) {\n", + " if (c = value.charCodeAt(i), 48 > c || c > 57) {\n", + " valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n", + " value = value.slice(0, i);\n", + " break;\n", + " }\n", + " }\n", + " }\n", + " }\n", + "\n", + " // If the fill character is not "0", grouping is applied before padding.\n", + " if (comma && !zero) value = group(value, Infinity);\n", + "\n", + " // Compute the padding.\n", + " var length = valuePrefix.length + value.length + valueSuffix.length,\n", + " padding = length < width ? new Array(width - length + 1).join(fill) : "";\n", + "\n", + " // If the fill character is "0", grouping is applied after padding.\n", + " if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = "";\n", + "\n", + " // Reconstruct the final output based on the desired alignment.\n", + " switch (align) {\n", + " case "<": value = valuePrefix + value + valueSuffix + padding; break;\n", + " case "=": value = valuePrefix + padding + value + valueSuffix; break;\n", + " case "^": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n", + " default: value = padding + valuePrefix + value + valueSuffix; break;\n", + " }\n", + "\n", + " return numerals(value);\n", + " }\n", + "\n", + " format.toString = function() {\n", + " return specifier + "";\n", + " };\n", + "\n", + " return format;\n", + " }\n", + "\n", + " function formatPrefix(specifier, value) {\n", + " var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)),\n", + " e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n", + " k = Math.pow(10, -e),\n", + " prefix = prefixes[8 + e / 3];\n", + " return function(value) {\n", + " return f(k * value) + prefix;\n", + " };\n", + " }\n", + "\n", + " return {\n", + " format: newFormat,\n", + " formatPrefix: formatPrefix\n", + " };\n", + " }\n", + "\n", + " var locale;\n", + " var format;\n", + " var formatPrefix;\n", + "\n", + " defaultLocale({\n", + " decimal: ".",\n", + " thousands: ",",\n", + " grouping: [3],\n", + " currency: ["$", ""],\n", + " minus: "-"\n", + " });\n", + "\n", + " function defaultLocale(definition) {\n", + " locale = formatLocale(definition);\n", + " format = locale.format;\n", + " formatPrefix = locale.formatPrefix;\n", + " return locale;\n", + " }\n", + "\n", + " function formatter(value, specifier) {\n", + " const formatFunc = specifier ? format(specifier) : formatValue;\n", + "\n", " if (Array.isArray(value)) {\n", " const [first, second] = value;\n", " if (first === -Infinity) {\n", - " return `< ${formatValue(second)}`;\n", + " return `< ${formatFunc(second)}`;\n", " }\n", " if (second === Infinity) {\n", - " return `> ${formatValue(first)}`;\n", + " return `> ${formatFunc(first)}`;\n", " }\n", - " return `${formatValue(first)} - ${formatValue(second)}`;\n", + " return `${formatFunc(first)} - ${formatFunc(second)}`;\n", " }\n", - " return formatValue(value);\n", + " return formatFunc(value);\n", " }\n", "\n", " function formatValue(value) {\n", @@ -414,21 +726,21 @@ " return value.toLocaleString();\n", " }\n", "\n", - " function updateViewport(map) {\n", + " function updateViewport(id, map) {\n", " function updateMapInfo() {\n", - " const mapInfo$ = document.getElementById('map-info');\n", + " const mapInfo$ = document.getElementById(id);\n", " const center = map.getCenter();\n", " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -502,12 +814,12 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", " let value = variable.value;\n", - " value = formatValue(value);\n", + " value = formatter(value, item.format);\n", "\n", " popupHTML = `\n", " ${item.title}\n", @@ -517,12 +829,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                ${popupHTML}
                                `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                ${popupHTML}
                                `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -577,7 +893,7 @@ " widget.element = widget.element || document.querySelector(`#${widget.id}-value`);\n", "\n", " if (value && widget.element) {\n", - " widget.element.innerText = typeof value === 'number' ? format(value) : value;\n", + " widget.element.innerText = typeof value === 'number' ? formatter(value, widget.options.format) : value;\n", " }\n", " }\n", "\n", @@ -589,7 +905,6 @@ " const type = _getWidgetType(mapLayer, widget.value, widget.prop);\n", " const histogram = type === 'category' ? 'categoricalHistogram' : 'numericalHistogram';\n", " bridge[histogram](widget.element, widget.value, widget.options);\n", - "\n", " break;\n", " case 'category':\n", " bridge.category(widget.element, widget.value, widget.options);\n", @@ -650,7 +965,8 @@ " const order = legend.ascending ? 'ASC' : 'DESC';\n", " const variable = legend.variable;\n", " const config = { othersLabel, variable, order };\n", - " const options = { format, config, dynamic };\n", + " const formatFunc = (value) => formatter(value, legend.format);\n", + " const options = { format: formatFunc, config, dynamic };\n", "\n", " if (legend.type.startsWith('size-continuous')) {\n", " config.samples = 4;\n", @@ -806,7 +1122,8 @@ " const map = createMap(container, basemapStyle, settings.bounds, settings.mapboxtoken);\n", "\n", " if (settings.show_info) {\n", - " updateViewport(map);\n", + " const id = mapIndex !== undefined ? `map-info-${mapIndex}` : 'map-info';\n", + " updateViewport(id, map);\n", " }\n", "\n", " if (settings.camera) {\n", @@ -880,7 +1197,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -921,12 +1238,12 @@ " .addEventListener('ready', () => {\n", " const basecolor = '';\n", " const basemap = 'Positron';\n", - " const bounds = [[-105.007825536403, 39.7402045274956], [-104.987547762685, 39.7594219853596]];\n", + " const bounds = [[-105.00782553640346, 39.74020452749562], [-104.98754776268481, 39.75942198535955]];\n", " const camera = null;\n", " const has_legends = 'False' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": {"api_key": "default_public", "base_url": "https://cartoframes.carto.com", "username": "cartoframes"}, "data": "SELECT * FROM \\"cartoframes\\".\\"parcels\\"", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"name": "v52277c", "title": "ccyrblt"}, "event": "hover"}], "legends": [], "map_index": 0, "options": {}, "source": "SELECT * FROM \\"cartoframes\\".\\"parcels\\"", "title": null, "type": "Query", "viz": "@v52277c: prop(\\u0027ccyrblt\\u0027)\\ncolor: opacity(hex(\\"#826DBA\\"), 0.9)\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nfilter: animation(linear(prop(\\u0027ccyrblt\\u0027)), 20, fade(1, 1))\\n", "widgets": []}];\n", + " const layers = [{"credentials": {"api_key": "default_public", "base_url": "https://cartoframes.carto.com", "username": "cartoframes"}, "data": "SELECT * FROM \\"cartoframes\\".\\"parcels\\"", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "v52277c", "title": "ccyrblt"}, "event": "hover"}], "legends": [], "map_index": 0, "options": {}, "source": "SELECT * FROM \\"cartoframes\\".\\"parcels\\"", "title": null, "type": "Query", "viz": "@v52277c: prop(\\u0027ccyrblt\\u0027)\\ncolor: opacity(hex(\\"#826DBA\\"), 0.9)\\nfilter: animation(linear(prop(\\u0027ccyrblt\\u0027)), 20, fade(1, 1))\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -950,7 +1267,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -1355,18 +1672,330 @@ " stacktrace$.innerHTML = list.join('\\n');\n", " }\n", "\n", - " function format(value) {\n", + " // Computes the decimal coefficient and exponent of the specified number x with\n", + " // significant digits p, where x is positive and p is in [1, 21] or undefined.\n", + " // For example, formatDecimal(1.23) returns ["123", 0].\n", + " function formatDecimal(x, p) {\n", + " if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, ±Infinity\n", + " var i, coefficient = x.slice(0, i);\n", + "\n", + " // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n", + " // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n", + " return [\n", + " coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n", + " +x.slice(i + 1)\n", + " ];\n", + " }\n", + "\n", + " function exponent(x) {\n", + " return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN;\n", + " }\n", + "\n", + " function formatGroup(grouping, thousands) {\n", + " return function(value, width) {\n", + " var i = value.length,\n", + " t = [],\n", + " j = 0,\n", + " g = grouping[0],\n", + " length = 0;\n", + "\n", + " while (i > 0 && g > 0) {\n", + " if (length + g + 1 > width) g = Math.max(1, width - length);\n", + " t.push(value.substring(i -= g, i + g));\n", + " if ((length += g + 1) > width) break;\n", + " g = grouping[j = (j + 1) % grouping.length];\n", + " }\n", + "\n", + " return t.reverse().join(thousands);\n", + " };\n", + " }\n", + "\n", + " function formatNumerals(numerals) {\n", + " return function(value) {\n", + " return value.replace(/[0-9]/g, function(i) {\n", + " return numerals[+i];\n", + " });\n", + " };\n", + " }\n", + "\n", + " // [[fill]align][sign][symbol][0][width][,][.precision][~][type]\n", + " var re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n", + "\n", + " function formatSpecifier(specifier) {\n", + " if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier);\n", + " var match;\n", + " return new FormatSpecifier({\n", + " fill: match[1],\n", + " align: match[2],\n", + " sign: match[3],\n", + " symbol: match[4],\n", + " zero: match[5],\n", + " width: match[6],\n", + " comma: match[7],\n", + " precision: match[8] && match[8].slice(1),\n", + " trim: match[9],\n", + " type: match[10]\n", + " });\n", + " }\n", + "\n", + " formatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n", + "\n", + " function FormatSpecifier(specifier) {\n", + " this.fill = specifier.fill === undefined ? " " : specifier.fill + "";\n", + " this.align = specifier.align === undefined ? ">" : specifier.align + "";\n", + " this.sign = specifier.sign === undefined ? "-" : specifier.sign + "";\n", + " this.symbol = specifier.symbol === undefined ? "" : specifier.symbol + "";\n", + " this.zero = !!specifier.zero;\n", + " this.width = specifier.width === undefined ? undefined : +specifier.width;\n", + " this.comma = !!specifier.comma;\n", + " this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n", + " this.trim = !!specifier.trim;\n", + " this.type = specifier.type === undefined ? "" : specifier.type + "";\n", + " }\n", + "\n", + " FormatSpecifier.prototype.toString = function() {\n", + " return this.fill\n", + " + this.align\n", + " + this.sign\n", + " + this.symbol\n", + " + (this.zero ? "0" : "")\n", + " + (this.width === undefined ? "" : Math.max(1, this.width | 0))\n", + " + (this.comma ? "," : "")\n", + " + (this.precision === undefined ? "" : "." + Math.max(0, this.precision | 0))\n", + " + (this.trim ? "~" : "")\n", + " + this.type;\n", + " };\n", + "\n", + " // Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\n", + " function formatTrim(s) {\n", + " out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n", + " switch (s[i]) {\n", + " case ".": i0 = i1 = i; break;\n", + " case "0": if (i0 === 0) i0 = i; i1 = i; break;\n", + " default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n", + " }\n", + " }\n", + " return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n", + " }\n", + "\n", + " var prefixExponent;\n", + "\n", + " function formatPrefixAuto(x, p) {\n", + " var d = formatDecimal(x, p);\n", + " if (!d) return x + "";\n", + " var coefficient = d[0],\n", + " exponent = d[1],\n", + " i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n", + " n = coefficient.length;\n", + " return i === n ? coefficient\n", + " : i > n ? coefficient + new Array(i - n + 1).join("0")\n", + " : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i)\n", + " : "0." + new Array(1 - i).join("0") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n", + " }\n", + "\n", + " function formatRounded(x, p) {\n", + " var d = formatDecimal(x, p);\n", + " if (!d) return x + "";\n", + " var coefficient = d[0],\n", + " exponent = d[1];\n", + " return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient\n", + " : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1)\n", + " : coefficient + new Array(exponent - coefficient.length + 2).join("0");\n", + " }\n", + "\n", + " var formatTypes = {\n", + " "%": function(x, p) { return (x * 100).toFixed(p); },\n", + " "b": function(x) { return Math.round(x).toString(2); },\n", + " "c": function(x) { return x + ""; },\n", + " "d": function(x) { return Math.round(x).toString(10); },\n", + " "e": function(x, p) { return x.toExponential(p); },\n", + " "f": function(x, p) { return x.toFixed(p); },\n", + " "g": function(x, p) { return x.toPrecision(p); },\n", + " "o": function(x) { return Math.round(x).toString(8); },\n", + " "p": function(x, p) { return formatRounded(x * 100, p); },\n", + " "r": formatRounded,\n", + " "s": formatPrefixAuto,\n", + " "X": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n", + " "x": function(x) { return Math.round(x).toString(16); }\n", + " };\n", + "\n", + " function identity(x) {\n", + " return x;\n", + " }\n", + "\n", + " var map = Array.prototype.map,\n", + " prefixes = ["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];\n", + "\n", + " function formatLocale(locale) {\n", + " var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + ""),\n", + " currencyPrefix = locale.currency === undefined ? "" : locale.currency[0] + "",\n", + " currencySuffix = locale.currency === undefined ? "" : locale.currency[1] + "",\n", + " decimal = locale.decimal === undefined ? "." : locale.decimal + "",\n", + " numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n", + " percent = locale.percent === undefined ? "%" : locale.percent + "",\n", + " minus = locale.minus === undefined ? "-" : locale.minus + "",\n", + " nan = locale.nan === undefined ? "NaN" : locale.nan + "";\n", + "\n", + " function newFormat(specifier) {\n", + " specifier = formatSpecifier(specifier);\n", + "\n", + " var fill = specifier.fill,\n", + " align = specifier.align,\n", + " sign = specifier.sign,\n", + " symbol = specifier.symbol,\n", + " zero = specifier.zero,\n", + " width = specifier.width,\n", + " comma = specifier.comma,\n", + " precision = specifier.precision,\n", + " trim = specifier.trim,\n", + " type = specifier.type;\n", + "\n", + " // The "n" type is an alias for ",g".\n", + " if (type === "n") comma = true, type = "g";\n", + "\n", + " // The "" type, and any invalid type, is an alias for ".12~g".\n", + " else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = "g";\n", + "\n", + " // If zero fill is specified, padding goes after sign and before digits.\n", + " if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "=";\n", + "\n", + " // Compute the prefix and suffix.\n", + " // For SI-prefix, the suffix is lazily computed.\n", + " var prefix = symbol === "$" ? currencyPrefix : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "",\n", + " suffix = symbol === "$" ? currencySuffix : /[%p]/.test(type) ? percent : "";\n", + "\n", + " // What format function should we use?\n", + " // Is this an integer type?\n", + " // Can this type generate exponential notation?\n", + " var formatType = formatTypes[type],\n", + " maybeSuffix = /[defgprs%]/.test(type);\n", + "\n", + " // Set the default precision if not specified,\n", + " // or clamp the specified precision to the supported range.\n", + " // For significant precision, it must be in [1, 21].\n", + " // For fixed precision, it must be in [0, 20].\n", + " precision = precision === undefined ? 6\n", + " : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n", + " : Math.max(0, Math.min(20, precision));\n", + "\n", + " function format(value) {\n", + " var valuePrefix = prefix,\n", + " valueSuffix = suffix,\n", + " i, n, c;\n", + "\n", + " if (type === "c") {\n", + " valueSuffix = formatType(value) + valueSuffix;\n", + " value = "";\n", + " } else {\n", + " value = +value;\n", + "\n", + " // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n", + " var valueNegative = value < 0 || 1 / value < 0;\n", + "\n", + " // Perform the initial formatting.\n", + " value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n", + "\n", + " // Trim insignificant zeros.\n", + " if (trim) value = formatTrim(value);\n", + "\n", + " // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n", + " if (valueNegative && +value === 0 && sign !== "+") valueNegative = false;\n", + "\n", + " // Compute the prefix and suffix.\n", + " valuePrefix = (valueNegative ? (sign === "(" ? sign : minus) : sign === "-" || sign === "(" ? "" : sign) + valuePrefix;\n", + " valueSuffix = (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + valueSuffix + (valueNegative && sign === "(" ? ")" : "");\n", + "\n", + " // Break the formatted value into the integer “value” part that can be\n", + " // grouped, and fractional or exponential “suffix” part that is not.\n", + " if (maybeSuffix) {\n", + " i = -1, n = value.length;\n", + " while (++i < n) {\n", + " if (c = value.charCodeAt(i), 48 > c || c > 57) {\n", + " valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n", + " value = value.slice(0, i);\n", + " break;\n", + " }\n", + " }\n", + " }\n", + " }\n", + "\n", + " // If the fill character is not "0", grouping is applied before padding.\n", + " if (comma && !zero) value = group(value, Infinity);\n", + "\n", + " // Compute the padding.\n", + " var length = valuePrefix.length + value.length + valueSuffix.length,\n", + " padding = length < width ? new Array(width - length + 1).join(fill) : "";\n", + "\n", + " // If the fill character is "0", grouping is applied after padding.\n", + " if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = "";\n", + "\n", + " // Reconstruct the final output based on the desired alignment.\n", + " switch (align) {\n", + " case "<": value = valuePrefix + value + valueSuffix + padding; break;\n", + " case "=": value = valuePrefix + padding + value + valueSuffix; break;\n", + " case "^": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n", + " default: value = padding + valuePrefix + value + valueSuffix; break;\n", + " }\n", + "\n", + " return numerals(value);\n", + " }\n", + "\n", + " format.toString = function() {\n", + " return specifier + "";\n", + " };\n", + "\n", + " return format;\n", + " }\n", + "\n", + " function formatPrefix(specifier, value) {\n", + " var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)),\n", + " e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n", + " k = Math.pow(10, -e),\n", + " prefix = prefixes[8 + e / 3];\n", + " return function(value) {\n", + " return f(k * value) + prefix;\n", + " };\n", + " }\n", + "\n", + " return {\n", + " format: newFormat,\n", + " formatPrefix: formatPrefix\n", + " };\n", + " }\n", + "\n", + " var locale;\n", + " var format;\n", + " var formatPrefix;\n", + "\n", + " defaultLocale({\n", + " decimal: ".",\n", + " thousands: ",",\n", + " grouping: [3],\n", + " currency: ["$", ""],\n", + " minus: "-"\n", + " });\n", + "\n", + " function defaultLocale(definition) {\n", + " locale = formatLocale(definition);\n", + " format = locale.format;\n", + " formatPrefix = locale.formatPrefix;\n", + " return locale;\n", + " }\n", + "\n", + " function formatter(value, specifier) {\n", + " const formatFunc = specifier ? format(specifier) : formatValue;\n", + "\n", " if (Array.isArray(value)) {\n", " const [first, second] = value;\n", " if (first === -Infinity) {\n", - " return `< ${formatValue(second)}`;\n", + " return `< ${formatFunc(second)}`;\n", " }\n", " if (second === Infinity) {\n", - " return `> ${formatValue(first)}`;\n", + " return `> ${formatFunc(first)}`;\n", " }\n", - " return `${formatValue(first)} - ${formatValue(second)}`;\n", + " return `${formatFunc(first)} - ${formatFunc(second)}`;\n", " }\n", - " return formatValue(value);\n", + " return formatFunc(value);\n", " }\n", "\n", " function formatValue(value) {\n", @@ -1386,21 +2015,21 @@ " return value.toLocaleString();\n", " }\n", "\n", - " function updateViewport(map) {\n", + " function updateViewport(id, map) {\n", " function updateMapInfo() {\n", - " const mapInfo$ = document.getElementById('map-info');\n", + " const mapInfo$ = document.getElementById(id);\n", " const center = map.getCenter();\n", " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -1474,12 +2103,12 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", " let value = variable.value;\n", - " value = formatValue(value);\n", + " value = formatter(value, item.format);\n", "\n", " popupHTML = `\n", " ${item.title}\n", @@ -1489,12 +2118,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                ${popupHTML}
                                `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                ${popupHTML}
                                `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1549,7 +2182,7 @@ " widget.element = widget.element || document.querySelector(`#${widget.id}-value`);\n", "\n", " if (value && widget.element) {\n", - " widget.element.innerText = typeof value === 'number' ? format(value) : value;\n", + " widget.element.innerText = typeof value === 'number' ? formatter(value, widget.options.format) : value;\n", " }\n", " }\n", "\n", @@ -1561,7 +2194,6 @@ " const type = _getWidgetType(mapLayer, widget.value, widget.prop);\n", " const histogram = type === 'category' ? 'categoricalHistogram' : 'numericalHistogram';\n", " bridge[histogram](widget.element, widget.value, widget.options);\n", - "\n", " break;\n", " case 'category':\n", " bridge.category(widget.element, widget.value, widget.options);\n", @@ -1622,7 +2254,8 @@ " const order = legend.ascending ? 'ASC' : 'DESC';\n", " const variable = legend.variable;\n", " const config = { othersLabel, variable, order };\n", - " const options = { format, config, dynamic };\n", + " const formatFunc = (value) => formatter(value, legend.format);\n", + " const options = { format: formatFunc, config, dynamic };\n", "\n", " if (legend.type.startsWith('size-continuous')) {\n", " config.samples = 4;\n", @@ -1778,7 +2411,8 @@ " const map = createMap(container, basemapStyle, settings.bounds, settings.mapboxtoken);\n", "\n", " if (settings.show_info) {\n", - " updateViewport(map);\n", + " const id = mapIndex !== undefined ? `map-info-${mapIndex}` : 'map-info';\n", + " updateViewport(id, map);\n", " }\n", "\n", " if (settings.camera) {\n", @@ -1852,7 +2486,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1893,12 +2527,12 @@ " .addEventListener('ready', () => {\n", " const basecolor = '';\n", " const basemap = 'Positron';\n", - " const bounds = [[-105.007825536403, 39.7402045274956], [-104.987547762685, 39.7594219853596]];\n", + " const bounds = [[-105.00782553640346, 39.74020452749562], [-104.98754776268481, 39.75942198535955]];\n", " const camera = null;\n", " const has_legends = 'False' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": {"api_key": "default_public", "base_url": "https://cartoframes.carto.com", "username": "cartoframes"}, "data": "SELECT * FROM \\"cartoframes\\".\\"parcels\\"", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"name": "v52277c", "title": "ccyrblt"}, "event": "hover"}], "legends": [], "map_index": 0, "options": {}, "source": "SELECT * FROM \\"cartoframes\\".\\"parcels\\"", "title": null, "type": "Query", "viz": "@v52277c: prop(\\u0027ccyrblt\\u0027)\\ncolor: opacity(hex(\\"#826DBA\\"), 0.9)\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nfilter: animation(linear(prop(\\u0027ccyrblt\\u0027)), 20, fade(1, 1))\\n", "widgets": [{"description": "", "footer": "", "has_bridge": true, "options": {"autoplay": true, "buckets": 20, "readOnly": false, "weight": 1}, "prop": "filter", "title": "ccyrblt", "type": "time-series", "value": "ccyrblt", "variable_name": "v52277c"}]}];\n", + " const layers = [{"credentials": {"api_key": "default_public", "base_url": "https://cartoframes.carto.com", "username": "cartoframes"}, "data": "SELECT * FROM \\"cartoframes\\".\\"parcels\\"", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "v52277c", "title": "ccyrblt"}, "event": "hover"}], "legends": [], "map_index": 0, "options": {}, "source": "SELECT * FROM \\"cartoframes\\".\\"parcels\\"", "title": null, "type": "Query", "viz": "@v52277c: prop(\\u0027ccyrblt\\u0027)\\ncolor: opacity(hex(\\"#826DBA\\"), 0.9)\\nfilter: animation(linear(prop(\\u0027ccyrblt\\u0027)), 20, fade(1, 1))\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": [{"description": "", "footer": "", "has_bridge": true, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "filter", "title": "ccyrblt", "type": "time-series", "value": "ccyrblt", "variable_name": "v52277c"}]}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -1922,7 +2556,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 3, diff --git a/docs/examples/data_visualization/styles/basic_style.ipynb b/docs/examples/data_visualization/styles/basic_style.ipynb new file mode 100644 index 000000000..cb70e16f5 --- /dev/null +++ b/docs/examples/data_visualization/styles/basic_style.ipynb @@ -0,0 +1,1314 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Basic Style\n", + "\n", + "The `basic_style` helper can be used to simply modify the style properties. Use `help(cartoframes.viz.palettes)` to get more information." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('cartoframes')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                \n", + "
                                \n", + "
                                \n", + " \n", + " \n", + "
                                \n", + "
                                \n", + "
                                \n", + "\n", + " \n", + "\n", + "
                                \n", + "
                                \n", + " :\n", + "
                                \n", + " \n", + " \n", + "
                                \n", + "
                                \n", + "\n", + "
                                \n", + " StackTrace\n", + "
                                  \n", + "
                                  \n", + "
                                  \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Layer, basic_style\n", + "\n", + "Layer('sf_nbhd_crime',\n", + " basic_style(\n", + " color='blue',\n", + " size=20,\n", + " stroke_color='rgba(255, 255, 255, 0.8)',\n", + " stroke_width=10\n", + " ),\n", + " title='San Francisco Crime'\n", + ")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/styles/cluster_size_style.ipynb b/docs/examples/data_visualization/styles/cluster_size_style.ipynb similarity index 66% rename from examples/styles/cluster_size_style.ipynb rename to docs/examples/data_visualization/styles/cluster_size_style.ipynb index d4c095839..0fc237fa4 100644 --- a/examples/styles/cluster_size_style.ipynb +++ b/docs/examples/data_visualization/styles/cluster_size_style.ipynb @@ -414,18 +414,330 @@ " stacktrace$.innerHTML = list.join('\\n');\n", " }\n", "\n", - " function format(value) {\n", + " // Computes the decimal coefficient and exponent of the specified number x with\n", + " // significant digits p, where x is positive and p is in [1, 21] or undefined.\n", + " // For example, formatDecimal(1.23) returns ["123", 0].\n", + " function formatDecimal(x, p) {\n", + " if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, ±Infinity\n", + " var i, coefficient = x.slice(0, i);\n", + "\n", + " // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n", + " // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n", + " return [\n", + " coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n", + " +x.slice(i + 1)\n", + " ];\n", + " }\n", + "\n", + " function exponent(x) {\n", + " return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN;\n", + " }\n", + "\n", + " function formatGroup(grouping, thousands) {\n", + " return function(value, width) {\n", + " var i = value.length,\n", + " t = [],\n", + " j = 0,\n", + " g = grouping[0],\n", + " length = 0;\n", + "\n", + " while (i > 0 && g > 0) {\n", + " if (length + g + 1 > width) g = Math.max(1, width - length);\n", + " t.push(value.substring(i -= g, i + g));\n", + " if ((length += g + 1) > width) break;\n", + " g = grouping[j = (j + 1) % grouping.length];\n", + " }\n", + "\n", + " return t.reverse().join(thousands);\n", + " };\n", + " }\n", + "\n", + " function formatNumerals(numerals) {\n", + " return function(value) {\n", + " return value.replace(/[0-9]/g, function(i) {\n", + " return numerals[+i];\n", + " });\n", + " };\n", + " }\n", + "\n", + " // [[fill]align][sign][symbol][0][width][,][.precision][~][type]\n", + " var re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n", + "\n", + " function formatSpecifier(specifier) {\n", + " if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier);\n", + " var match;\n", + " return new FormatSpecifier({\n", + " fill: match[1],\n", + " align: match[2],\n", + " sign: match[3],\n", + " symbol: match[4],\n", + " zero: match[5],\n", + " width: match[6],\n", + " comma: match[7],\n", + " precision: match[8] && match[8].slice(1),\n", + " trim: match[9],\n", + " type: match[10]\n", + " });\n", + " }\n", + "\n", + " formatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n", + "\n", + " function FormatSpecifier(specifier) {\n", + " this.fill = specifier.fill === undefined ? " " : specifier.fill + "";\n", + " this.align = specifier.align === undefined ? ">" : specifier.align + "";\n", + " this.sign = specifier.sign === undefined ? "-" : specifier.sign + "";\n", + " this.symbol = specifier.symbol === undefined ? "" : specifier.symbol + "";\n", + " this.zero = !!specifier.zero;\n", + " this.width = specifier.width === undefined ? undefined : +specifier.width;\n", + " this.comma = !!specifier.comma;\n", + " this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n", + " this.trim = !!specifier.trim;\n", + " this.type = specifier.type === undefined ? "" : specifier.type + "";\n", + " }\n", + "\n", + " FormatSpecifier.prototype.toString = function() {\n", + " return this.fill\n", + " + this.align\n", + " + this.sign\n", + " + this.symbol\n", + " + (this.zero ? "0" : "")\n", + " + (this.width === undefined ? "" : Math.max(1, this.width | 0))\n", + " + (this.comma ? "," : "")\n", + " + (this.precision === undefined ? "" : "." + Math.max(0, this.precision | 0))\n", + " + (this.trim ? "~" : "")\n", + " + this.type;\n", + " };\n", + "\n", + " // Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\n", + " function formatTrim(s) {\n", + " out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n", + " switch (s[i]) {\n", + " case ".": i0 = i1 = i; break;\n", + " case "0": if (i0 === 0) i0 = i; i1 = i; break;\n", + " default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n", + " }\n", + " }\n", + " return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n", + " }\n", + "\n", + " var prefixExponent;\n", + "\n", + " function formatPrefixAuto(x, p) {\n", + " var d = formatDecimal(x, p);\n", + " if (!d) return x + "";\n", + " var coefficient = d[0],\n", + " exponent = d[1],\n", + " i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n", + " n = coefficient.length;\n", + " return i === n ? coefficient\n", + " : i > n ? coefficient + new Array(i - n + 1).join("0")\n", + " : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i)\n", + " : "0." + new Array(1 - i).join("0") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n", + " }\n", + "\n", + " function formatRounded(x, p) {\n", + " var d = formatDecimal(x, p);\n", + " if (!d) return x + "";\n", + " var coefficient = d[0],\n", + " exponent = d[1];\n", + " return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient\n", + " : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1)\n", + " : coefficient + new Array(exponent - coefficient.length + 2).join("0");\n", + " }\n", + "\n", + " var formatTypes = {\n", + " "%": function(x, p) { return (x * 100).toFixed(p); },\n", + " "b": function(x) { return Math.round(x).toString(2); },\n", + " "c": function(x) { return x + ""; },\n", + " "d": function(x) { return Math.round(x).toString(10); },\n", + " "e": function(x, p) { return x.toExponential(p); },\n", + " "f": function(x, p) { return x.toFixed(p); },\n", + " "g": function(x, p) { return x.toPrecision(p); },\n", + " "o": function(x) { return Math.round(x).toString(8); },\n", + " "p": function(x, p) { return formatRounded(x * 100, p); },\n", + " "r": formatRounded,\n", + " "s": formatPrefixAuto,\n", + " "X": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n", + " "x": function(x) { return Math.round(x).toString(16); }\n", + " };\n", + "\n", + " function identity(x) {\n", + " return x;\n", + " }\n", + "\n", + " var map = Array.prototype.map,\n", + " prefixes = ["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];\n", + "\n", + " function formatLocale(locale) {\n", + " var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + ""),\n", + " currencyPrefix = locale.currency === undefined ? "" : locale.currency[0] + "",\n", + " currencySuffix = locale.currency === undefined ? "" : locale.currency[1] + "",\n", + " decimal = locale.decimal === undefined ? "." : locale.decimal + "",\n", + " numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n", + " percent = locale.percent === undefined ? "%" : locale.percent + "",\n", + " minus = locale.minus === undefined ? "-" : locale.minus + "",\n", + " nan = locale.nan === undefined ? "NaN" : locale.nan + "";\n", + "\n", + " function newFormat(specifier) {\n", + " specifier = formatSpecifier(specifier);\n", + "\n", + " var fill = specifier.fill,\n", + " align = specifier.align,\n", + " sign = specifier.sign,\n", + " symbol = specifier.symbol,\n", + " zero = specifier.zero,\n", + " width = specifier.width,\n", + " comma = specifier.comma,\n", + " precision = specifier.precision,\n", + " trim = specifier.trim,\n", + " type = specifier.type;\n", + "\n", + " // The "n" type is an alias for ",g".\n", + " if (type === "n") comma = true, type = "g";\n", + "\n", + " // The "" type, and any invalid type, is an alias for ".12~g".\n", + " else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = "g";\n", + "\n", + " // If zero fill is specified, padding goes after sign and before digits.\n", + " if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "=";\n", + "\n", + " // Compute the prefix and suffix.\n", + " // For SI-prefix, the suffix is lazily computed.\n", + " var prefix = symbol === "$" ? currencyPrefix : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "",\n", + " suffix = symbol === "$" ? currencySuffix : /[%p]/.test(type) ? percent : "";\n", + "\n", + " // What format function should we use?\n", + " // Is this an integer type?\n", + " // Can this type generate exponential notation?\n", + " var formatType = formatTypes[type],\n", + " maybeSuffix = /[defgprs%]/.test(type);\n", + "\n", + " // Set the default precision if not specified,\n", + " // or clamp the specified precision to the supported range.\n", + " // For significant precision, it must be in [1, 21].\n", + " // For fixed precision, it must be in [0, 20].\n", + " precision = precision === undefined ? 6\n", + " : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n", + " : Math.max(0, Math.min(20, precision));\n", + "\n", + " function format(value) {\n", + " var valuePrefix = prefix,\n", + " valueSuffix = suffix,\n", + " i, n, c;\n", + "\n", + " if (type === "c") {\n", + " valueSuffix = formatType(value) + valueSuffix;\n", + " value = "";\n", + " } else {\n", + " value = +value;\n", + "\n", + " // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n", + " var valueNegative = value < 0 || 1 / value < 0;\n", + "\n", + " // Perform the initial formatting.\n", + " value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n", + "\n", + " // Trim insignificant zeros.\n", + " if (trim) value = formatTrim(value);\n", + "\n", + " // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n", + " if (valueNegative && +value === 0 && sign !== "+") valueNegative = false;\n", + "\n", + " // Compute the prefix and suffix.\n", + " valuePrefix = (valueNegative ? (sign === "(" ? sign : minus) : sign === "-" || sign === "(" ? "" : sign) + valuePrefix;\n", + " valueSuffix = (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + valueSuffix + (valueNegative && sign === "(" ? ")" : "");\n", + "\n", + " // Break the formatted value into the integer “value” part that can be\n", + " // grouped, and fractional or exponential “suffix” part that is not.\n", + " if (maybeSuffix) {\n", + " i = -1, n = value.length;\n", + " while (++i < n) {\n", + " if (c = value.charCodeAt(i), 48 > c || c > 57) {\n", + " valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n", + " value = value.slice(0, i);\n", + " break;\n", + " }\n", + " }\n", + " }\n", + " }\n", + "\n", + " // If the fill character is not "0", grouping is applied before padding.\n", + " if (comma && !zero) value = group(value, Infinity);\n", + "\n", + " // Compute the padding.\n", + " var length = valuePrefix.length + value.length + valueSuffix.length,\n", + " padding = length < width ? new Array(width - length + 1).join(fill) : "";\n", + "\n", + " // If the fill character is "0", grouping is applied after padding.\n", + " if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = "";\n", + "\n", + " // Reconstruct the final output based on the desired alignment.\n", + " switch (align) {\n", + " case "<": value = valuePrefix + value + valueSuffix + padding; break;\n", + " case "=": value = valuePrefix + padding + value + valueSuffix; break;\n", + " case "^": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n", + " default: value = padding + valuePrefix + value + valueSuffix; break;\n", + " }\n", + "\n", + " return numerals(value);\n", + " }\n", + "\n", + " format.toString = function() {\n", + " return specifier + "";\n", + " };\n", + "\n", + " return format;\n", + " }\n", + "\n", + " function formatPrefix(specifier, value) {\n", + " var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)),\n", + " e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n", + " k = Math.pow(10, -e),\n", + " prefix = prefixes[8 + e / 3];\n", + " return function(value) {\n", + " return f(k * value) + prefix;\n", + " };\n", + " }\n", + "\n", + " return {\n", + " format: newFormat,\n", + " formatPrefix: formatPrefix\n", + " };\n", + " }\n", + "\n", + " var locale;\n", + " var format;\n", + " var formatPrefix;\n", + "\n", + " defaultLocale({\n", + " decimal: ".",\n", + " thousands: ",",\n", + " grouping: [3],\n", + " currency: ["$", ""],\n", + " minus: "-"\n", + " });\n", + "\n", + " function defaultLocale(definition) {\n", + " locale = formatLocale(definition);\n", + " format = locale.format;\n", + " formatPrefix = locale.formatPrefix;\n", + " return locale;\n", + " }\n", + "\n", + " function formatter(value, specifier) {\n", + " const formatFunc = specifier ? format(specifier) : formatValue;\n", + "\n", " if (Array.isArray(value)) {\n", " const [first, second] = value;\n", " if (first === -Infinity) {\n", - " return `< ${formatValue(second)}`;\n", + " return `< ${formatFunc(second)}`;\n", " }\n", " if (second === Infinity) {\n", - " return `> ${formatValue(first)}`;\n", + " return `> ${formatFunc(first)}`;\n", " }\n", - " return `${formatValue(first)} - ${formatValue(second)}`;\n", + " return `${formatFunc(first)} - ${formatFunc(second)}`;\n", " }\n", - " return formatValue(value);\n", + " return formatFunc(value);\n", " }\n", "\n", " function formatValue(value) {\n", @@ -445,21 +757,21 @@ " return value.toLocaleString();\n", " }\n", "\n", - " function updateViewport(map) {\n", + " function updateViewport(id, map) {\n", " function updateMapInfo() {\n", - " const mapInfo$ = document.getElementById('map-info');\n", + " const mapInfo$ = document.getElementById(id);\n", " const center = map.getCenter();\n", " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -533,12 +845,12 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", " let value = variable.value;\n", - " value = formatValue(value);\n", + " value = formatter(value, item.format);\n", "\n", " popupHTML = `\n", " ${item.title}\n", @@ -548,12 +860,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                  ${popupHTML}
                                  `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                  ${popupHTML}
                                  `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -608,7 +924,7 @@ " widget.element = widget.element || document.querySelector(`#${widget.id}-value`);\n", "\n", " if (value && widget.element) {\n", - " widget.element.innerText = typeof value === 'number' ? format(value) : value;\n", + " widget.element.innerText = typeof value === 'number' ? formatter(value, widget.options.format) : value;\n", " }\n", " }\n", "\n", @@ -620,7 +936,6 @@ " const type = _getWidgetType(mapLayer, widget.value, widget.prop);\n", " const histogram = type === 'category' ? 'categoricalHistogram' : 'numericalHistogram';\n", " bridge[histogram](widget.element, widget.value, widget.options);\n", - "\n", " break;\n", " case 'category':\n", " bridge.category(widget.element, widget.value, widget.options);\n", @@ -681,7 +996,8 @@ " const order = legend.ascending ? 'ASC' : 'DESC';\n", " const variable = legend.variable;\n", " const config = { othersLabel, variable, order };\n", - " const options = { format, config, dynamic };\n", + " const formatFunc = (value) => formatter(value, legend.format);\n", + " const options = { format: formatFunc, config, dynamic };\n", "\n", " if (legend.type.startsWith('size-continuous')) {\n", " config.samples = 4;\n", @@ -837,7 +1153,8 @@ " const map = createMap(container, basemapStyle, settings.bounds, settings.mapboxtoken);\n", "\n", " if (settings.show_info) {\n", - " updateViewport(map);\n", + " const id = mapIndex !== undefined ? `map-info-${mapIndex}` : 'map-info';\n", + " updateViewport(id, map);\n", " }\n", "\n", " if (settings.camera) {\n", @@ -911,7 +1228,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -957,7 +1274,7 @@ " const has_legends = 'true' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": {"api_key": "default_public", "base_url": "https://cartoframes.carto.com", "username": "cartoframes"}, "data": "SELECT * FROM \\"cartoframes\\".\\"vancouver_trees\\"", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"name": "v40e601", "title": "clusterCount()"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "prop": "width", "title": "diameter", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {}, "source": "SELECT * FROM \\"cartoframes\\".\\"vancouver_trees\\"", "title": null, "type": "Query", "viz": "@v40e601: clusterCount()\\ncolor: opacity(#FFB927, 0.8)\\nwidth: ramp(linear(clusterCount(), viewportMIN(clusterCount()), viewportMAX(clusterCount())), [4.0, 16.0, 32])\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\n@size_value: ramp(linear(clusterCount(), viewportMIN(clusterCount()), viewportMAX(clusterCount())), [4.0, 16.0, 32])\\nfilter: 1\\nresolution: 32\\n", "widgets": []}];\n", + " const layers = [{"credentials": {"api_key": "default_public", "base_url": "https://cartoframes.carto.com", "username": "cartoframes"}, "data": "SELECT * FROM \\"cartoframes\\".\\"vancouver_trees\\"", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "v40e601", "title": "clusterCount()"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "width", "title": "diameter", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {}, "source": "SELECT * FROM \\"cartoframes\\".\\"vancouver_trees\\"", "title": null, "type": "Query", "viz": "@v40e601: clusterCount()\\n@size_value: ramp(linear(clusterCount(), viewportMIN(clusterCount()), viewportMAX(clusterCount())), [4.0, 16.0, 32])\\ncolor: opacity(#FFB927, 0.8)\\nfilter: 1\\nresolution: 32\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(clusterCount(), viewportMIN(clusterCount()), viewportMAX(clusterCount())), [4.0, 16.0, 32])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -981,7 +1298,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -1387,18 +1704,330 @@ " stacktrace$.innerHTML = list.join('\\n');\n", " }\n", "\n", - " function format(value) {\n", + " // Computes the decimal coefficient and exponent of the specified number x with\n", + " // significant digits p, where x is positive and p is in [1, 21] or undefined.\n", + " // For example, formatDecimal(1.23) returns ["123", 0].\n", + " function formatDecimal(x, p) {\n", + " if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf("e")) < 0) return null; // NaN, ±Infinity\n", + " var i, coefficient = x.slice(0, i);\n", + "\n", + " // The string returned by toExponential either has the form \\d\\.\\d+e[-+]\\d+\n", + " // (e.g., 1.2e+3) or the form \\de[-+]\\d+ (e.g., 1e+3).\n", + " return [\n", + " coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,\n", + " +x.slice(i + 1)\n", + " ];\n", + " }\n", + "\n", + " function exponent(x) {\n", + " return x = formatDecimal(Math.abs(x)), x ? x[1] : NaN;\n", + " }\n", + "\n", + " function formatGroup(grouping, thousands) {\n", + " return function(value, width) {\n", + " var i = value.length,\n", + " t = [],\n", + " j = 0,\n", + " g = grouping[0],\n", + " length = 0;\n", + "\n", + " while (i > 0 && g > 0) {\n", + " if (length + g + 1 > width) g = Math.max(1, width - length);\n", + " t.push(value.substring(i -= g, i + g));\n", + " if ((length += g + 1) > width) break;\n", + " g = grouping[j = (j + 1) % grouping.length];\n", + " }\n", + "\n", + " return t.reverse().join(thousands);\n", + " };\n", + " }\n", + "\n", + " function formatNumerals(numerals) {\n", + " return function(value) {\n", + " return value.replace(/[0-9]/g, function(i) {\n", + " return numerals[+i];\n", + " });\n", + " };\n", + " }\n", + "\n", + " // [[fill]align][sign][symbol][0][width][,][.precision][~][type]\n", + " var re = /^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;\n", + "\n", + " function formatSpecifier(specifier) {\n", + " if (!(match = re.exec(specifier))) throw new Error("invalid format: " + specifier);\n", + " var match;\n", + " return new FormatSpecifier({\n", + " fill: match[1],\n", + " align: match[2],\n", + " sign: match[3],\n", + " symbol: match[4],\n", + " zero: match[5],\n", + " width: match[6],\n", + " comma: match[7],\n", + " precision: match[8] && match[8].slice(1),\n", + " trim: match[9],\n", + " type: match[10]\n", + " });\n", + " }\n", + "\n", + " formatSpecifier.prototype = FormatSpecifier.prototype; // instanceof\n", + "\n", + " function FormatSpecifier(specifier) {\n", + " this.fill = specifier.fill === undefined ? " " : specifier.fill + "";\n", + " this.align = specifier.align === undefined ? ">" : specifier.align + "";\n", + " this.sign = specifier.sign === undefined ? "-" : specifier.sign + "";\n", + " this.symbol = specifier.symbol === undefined ? "" : specifier.symbol + "";\n", + " this.zero = !!specifier.zero;\n", + " this.width = specifier.width === undefined ? undefined : +specifier.width;\n", + " this.comma = !!specifier.comma;\n", + " this.precision = specifier.precision === undefined ? undefined : +specifier.precision;\n", + " this.trim = !!specifier.trim;\n", + " this.type = specifier.type === undefined ? "" : specifier.type + "";\n", + " }\n", + "\n", + " FormatSpecifier.prototype.toString = function() {\n", + " return this.fill\n", + " + this.align\n", + " + this.sign\n", + " + this.symbol\n", + " + (this.zero ? "0" : "")\n", + " + (this.width === undefined ? "" : Math.max(1, this.width | 0))\n", + " + (this.comma ? "," : "")\n", + " + (this.precision === undefined ? "" : "." + Math.max(0, this.precision | 0))\n", + " + (this.trim ? "~" : "")\n", + " + this.type;\n", + " };\n", + "\n", + " // Trims insignificant zeros, e.g., replaces 1.2000k with 1.2k.\n", + " function formatTrim(s) {\n", + " out: for (var n = s.length, i = 1, i0 = -1, i1; i < n; ++i) {\n", + " switch (s[i]) {\n", + " case ".": i0 = i1 = i; break;\n", + " case "0": if (i0 === 0) i0 = i; i1 = i; break;\n", + " default: if (!+s[i]) break out; if (i0 > 0) i0 = 0; break;\n", + " }\n", + " }\n", + " return i0 > 0 ? s.slice(0, i0) + s.slice(i1 + 1) : s;\n", + " }\n", + "\n", + " var prefixExponent;\n", + "\n", + " function formatPrefixAuto(x, p) {\n", + " var d = formatDecimal(x, p);\n", + " if (!d) return x + "";\n", + " var coefficient = d[0],\n", + " exponent = d[1],\n", + " i = exponent - (prefixExponent = Math.max(-8, Math.min(8, Math.floor(exponent / 3))) * 3) + 1,\n", + " n = coefficient.length;\n", + " return i === n ? coefficient\n", + " : i > n ? coefficient + new Array(i - n + 1).join("0")\n", + " : i > 0 ? coefficient.slice(0, i) + "." + coefficient.slice(i)\n", + " : "0." + new Array(1 - i).join("0") + formatDecimal(x, Math.max(0, p + i - 1))[0]; // less than 1y!\n", + " }\n", + "\n", + " function formatRounded(x, p) {\n", + " var d = formatDecimal(x, p);\n", + " if (!d) return x + "";\n", + " var coefficient = d[0],\n", + " exponent = d[1];\n", + " return exponent < 0 ? "0." + new Array(-exponent).join("0") + coefficient\n", + " : coefficient.length > exponent + 1 ? coefficient.slice(0, exponent + 1) + "." + coefficient.slice(exponent + 1)\n", + " : coefficient + new Array(exponent - coefficient.length + 2).join("0");\n", + " }\n", + "\n", + " var formatTypes = {\n", + " "%": function(x, p) { return (x * 100).toFixed(p); },\n", + " "b": function(x) { return Math.round(x).toString(2); },\n", + " "c": function(x) { return x + ""; },\n", + " "d": function(x) { return Math.round(x).toString(10); },\n", + " "e": function(x, p) { return x.toExponential(p); },\n", + " "f": function(x, p) { return x.toFixed(p); },\n", + " "g": function(x, p) { return x.toPrecision(p); },\n", + " "o": function(x) { return Math.round(x).toString(8); },\n", + " "p": function(x, p) { return formatRounded(x * 100, p); },\n", + " "r": formatRounded,\n", + " "s": formatPrefixAuto,\n", + " "X": function(x) { return Math.round(x).toString(16).toUpperCase(); },\n", + " "x": function(x) { return Math.round(x).toString(16); }\n", + " };\n", + "\n", + " function identity(x) {\n", + " return x;\n", + " }\n", + "\n", + " var map = Array.prototype.map,\n", + " prefixes = ["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];\n", + "\n", + " function formatLocale(locale) {\n", + " var group = locale.grouping === undefined || locale.thousands === undefined ? identity : formatGroup(map.call(locale.grouping, Number), locale.thousands + ""),\n", + " currencyPrefix = locale.currency === undefined ? "" : locale.currency[0] + "",\n", + " currencySuffix = locale.currency === undefined ? "" : locale.currency[1] + "",\n", + " decimal = locale.decimal === undefined ? "." : locale.decimal + "",\n", + " numerals = locale.numerals === undefined ? identity : formatNumerals(map.call(locale.numerals, String)),\n", + " percent = locale.percent === undefined ? "%" : locale.percent + "",\n", + " minus = locale.minus === undefined ? "-" : locale.minus + "",\n", + " nan = locale.nan === undefined ? "NaN" : locale.nan + "";\n", + "\n", + " function newFormat(specifier) {\n", + " specifier = formatSpecifier(specifier);\n", + "\n", + " var fill = specifier.fill,\n", + " align = specifier.align,\n", + " sign = specifier.sign,\n", + " symbol = specifier.symbol,\n", + " zero = specifier.zero,\n", + " width = specifier.width,\n", + " comma = specifier.comma,\n", + " precision = specifier.precision,\n", + " trim = specifier.trim,\n", + " type = specifier.type;\n", + "\n", + " // The "n" type is an alias for ",g".\n", + " if (type === "n") comma = true, type = "g";\n", + "\n", + " // The "" type, and any invalid type, is an alias for ".12~g".\n", + " else if (!formatTypes[type]) precision === undefined && (precision = 12), trim = true, type = "g";\n", + "\n", + " // If zero fill is specified, padding goes after sign and before digits.\n", + " if (zero || (fill === "0" && align === "=")) zero = true, fill = "0", align = "=";\n", + "\n", + " // Compute the prefix and suffix.\n", + " // For SI-prefix, the suffix is lazily computed.\n", + " var prefix = symbol === "$" ? currencyPrefix : symbol === "#" && /[boxX]/.test(type) ? "0" + type.toLowerCase() : "",\n", + " suffix = symbol === "$" ? currencySuffix : /[%p]/.test(type) ? percent : "";\n", + "\n", + " // What format function should we use?\n", + " // Is this an integer type?\n", + " // Can this type generate exponential notation?\n", + " var formatType = formatTypes[type],\n", + " maybeSuffix = /[defgprs%]/.test(type);\n", + "\n", + " // Set the default precision if not specified,\n", + " // or clamp the specified precision to the supported range.\n", + " // For significant precision, it must be in [1, 21].\n", + " // For fixed precision, it must be in [0, 20].\n", + " precision = precision === undefined ? 6\n", + " : /[gprs]/.test(type) ? Math.max(1, Math.min(21, precision))\n", + " : Math.max(0, Math.min(20, precision));\n", + "\n", + " function format(value) {\n", + " var valuePrefix = prefix,\n", + " valueSuffix = suffix,\n", + " i, n, c;\n", + "\n", + " if (type === "c") {\n", + " valueSuffix = formatType(value) + valueSuffix;\n", + " value = "";\n", + " } else {\n", + " value = +value;\n", + "\n", + " // Determine the sign. -0 is not less than 0, but 1 / -0 is!\n", + " var valueNegative = value < 0 || 1 / value < 0;\n", + "\n", + " // Perform the initial formatting.\n", + " value = isNaN(value) ? nan : formatType(Math.abs(value), precision);\n", + "\n", + " // Trim insignificant zeros.\n", + " if (trim) value = formatTrim(value);\n", + "\n", + " // If a negative value rounds to zero after formatting, and no explicit positive sign is requested, hide the sign.\n", + " if (valueNegative && +value === 0 && sign !== "+") valueNegative = false;\n", + "\n", + " // Compute the prefix and suffix.\n", + " valuePrefix = (valueNegative ? (sign === "(" ? sign : minus) : sign === "-" || sign === "(" ? "" : sign) + valuePrefix;\n", + " valueSuffix = (type === "s" ? prefixes[8 + prefixExponent / 3] : "") + valueSuffix + (valueNegative && sign === "(" ? ")" : "");\n", + "\n", + " // Break the formatted value into the integer “value” part that can be\n", + " // grouped, and fractional or exponential “suffix” part that is not.\n", + " if (maybeSuffix) {\n", + " i = -1, n = value.length;\n", + " while (++i < n) {\n", + " if (c = value.charCodeAt(i), 48 > c || c > 57) {\n", + " valueSuffix = (c === 46 ? decimal + value.slice(i + 1) : value.slice(i)) + valueSuffix;\n", + " value = value.slice(0, i);\n", + " break;\n", + " }\n", + " }\n", + " }\n", + " }\n", + "\n", + " // If the fill character is not "0", grouping is applied before padding.\n", + " if (comma && !zero) value = group(value, Infinity);\n", + "\n", + " // Compute the padding.\n", + " var length = valuePrefix.length + value.length + valueSuffix.length,\n", + " padding = length < width ? new Array(width - length + 1).join(fill) : "";\n", + "\n", + " // If the fill character is "0", grouping is applied after padding.\n", + " if (comma && zero) value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = "";\n", + "\n", + " // Reconstruct the final output based on the desired alignment.\n", + " switch (align) {\n", + " case "<": value = valuePrefix + value + valueSuffix + padding; break;\n", + " case "=": value = valuePrefix + padding + value + valueSuffix; break;\n", + " case "^": value = padding.slice(0, length = padding.length >> 1) + valuePrefix + value + valueSuffix + padding.slice(length); break;\n", + " default: value = padding + valuePrefix + value + valueSuffix; break;\n", + " }\n", + "\n", + " return numerals(value);\n", + " }\n", + "\n", + " format.toString = function() {\n", + " return specifier + "";\n", + " };\n", + "\n", + " return format;\n", + " }\n", + "\n", + " function formatPrefix(specifier, value) {\n", + " var f = newFormat((specifier = formatSpecifier(specifier), specifier.type = "f", specifier)),\n", + " e = Math.max(-8, Math.min(8, Math.floor(exponent(value) / 3))) * 3,\n", + " k = Math.pow(10, -e),\n", + " prefix = prefixes[8 + e / 3];\n", + " return function(value) {\n", + " return f(k * value) + prefix;\n", + " };\n", + " }\n", + "\n", + " return {\n", + " format: newFormat,\n", + " formatPrefix: formatPrefix\n", + " };\n", + " }\n", + "\n", + " var locale;\n", + " var format;\n", + " var formatPrefix;\n", + "\n", + " defaultLocale({\n", + " decimal: ".",\n", + " thousands: ",",\n", + " grouping: [3],\n", + " currency: ["$", ""],\n", + " minus: "-"\n", + " });\n", + "\n", + " function defaultLocale(definition) {\n", + " locale = formatLocale(definition);\n", + " format = locale.format;\n", + " formatPrefix = locale.formatPrefix;\n", + " return locale;\n", + " }\n", + "\n", + " function formatter(value, specifier) {\n", + " const formatFunc = specifier ? format(specifier) : formatValue;\n", + "\n", " if (Array.isArray(value)) {\n", " const [first, second] = value;\n", " if (first === -Infinity) {\n", - " return `< ${formatValue(second)}`;\n", + " return `< ${formatFunc(second)}`;\n", " }\n", " if (second === Infinity) {\n", - " return `> ${formatValue(first)}`;\n", + " return `> ${formatFunc(first)}`;\n", " }\n", - " return `${formatValue(first)} - ${formatValue(second)}`;\n", + " return `${formatFunc(first)} - ${formatFunc(second)}`;\n", " }\n", - " return formatValue(value);\n", + " return formatFunc(value);\n", " }\n", "\n", " function formatValue(value) {\n", @@ -1418,21 +2047,21 @@ " return value.toLocaleString();\n", " }\n", "\n", - " function updateViewport(map) {\n", + " function updateViewport(id, map) {\n", " function updateMapInfo() {\n", - " const mapInfo$ = document.getElementById('map-info');\n", + " const mapInfo$ = document.getElementById(id);\n", " const center = map.getCenter();\n", " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -1506,12 +2135,12 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", " let value = variable.value;\n", - " value = formatValue(value);\n", + " value = formatter(value, item.format);\n", "\n", " popupHTML = `\n", " ${item.title}\n", @@ -1521,12 +2150,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                  ${popupHTML}
                                  `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                  ${popupHTML}
                                  `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1581,7 +2214,7 @@ " widget.element = widget.element || document.querySelector(`#${widget.id}-value`);\n", "\n", " if (value && widget.element) {\n", - " widget.element.innerText = typeof value === 'number' ? format(value) : value;\n", + " widget.element.innerText = typeof value === 'number' ? formatter(value, widget.options.format) : value;\n", " }\n", " }\n", "\n", @@ -1593,7 +2226,6 @@ " const type = _getWidgetType(mapLayer, widget.value, widget.prop);\n", " const histogram = type === 'category' ? 'categoricalHistogram' : 'numericalHistogram';\n", " bridge[histogram](widget.element, widget.value, widget.options);\n", - "\n", " break;\n", " case 'category':\n", " bridge.category(widget.element, widget.value, widget.options);\n", @@ -1654,7 +2286,8 @@ " const order = legend.ascending ? 'ASC' : 'DESC';\n", " const variable = legend.variable;\n", " const config = { othersLabel, variable, order };\n", - " const options = { format, config, dynamic };\n", + " const formatFunc = (value) => formatter(value, legend.format);\n", + " const options = { format: formatFunc, config, dynamic };\n", "\n", " if (legend.type.startsWith('size-continuous')) {\n", " config.samples = 4;\n", @@ -1810,7 +2443,8 @@ " const map = createMap(container, basemapStyle, settings.bounds, settings.mapboxtoken);\n", "\n", " if (settings.show_info) {\n", - " updateViewport(map);\n", + " const id = mapIndex !== undefined ? `map-info-${mapIndex}` : 'map-info';\n", + " updateViewport(id, map);\n", " }\n", "\n", " if (settings.camera) {\n", @@ -1884,7 +2518,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1930,7 +2564,7 @@ " const has_legends = 'true' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": {"api_key": "default_public", "base_url": "https://cartoframes.carto.com", "username": "cartoframes"}, "data": "SELECT * FROM \\"cartoframes\\".\\"vancouver_trees\\"", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"name": "vc16a1f", "title": "clusterSum(prop(\\u0027diameter\\u0027))"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "prop": "width", "title": "diameter", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {}, "source": "SELECT * FROM \\"cartoframes\\".\\"vancouver_trees\\"", "title": null, "type": "Query", "viz": "@vc16a1f: clusterSum(prop(\\u0027diameter\\u0027))\\ncolor: opacity(#FFB927, 0.8)\\nwidth: ramp(linear(clusterSum(prop(\\u0027diameter\\u0027)), viewportMIN(clusterSum(prop(\\u0027diameter\\u0027))), viewportMAX(clusterSum(prop(\\u0027diameter\\u0027)))), [8.0, 32.0, 64])\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\n@size_value: ramp(linear(clusterSum(prop(\\u0027diameter\\u0027)), viewportMIN(clusterSum(prop(\\u0027diameter\\u0027))), viewportMAX(clusterSum(prop(\\u0027diameter\\u0027)))), [8.0, 32.0, 64])\\nfilter: 1\\nresolution: 64\\n", "widgets": []}];\n", + " const layers = [{"credentials": {"api_key": "default_public", "base_url": "https://cartoframes.carto.com", "username": "cartoframes"}, "data": "SELECT * FROM \\"cartoframes\\".\\"vancouver_trees\\"", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vc16a1f", "title": "clusterSum(prop(\\u0027diameter\\u0027))"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "width", "title": "diameter", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {}, "source": "SELECT * FROM \\"cartoframes\\".\\"vancouver_trees\\"", "title": null, "type": "Query", "viz": "@vc16a1f: clusterSum(prop(\\u0027diameter\\u0027))\\n@size_value: ramp(linear(clusterSum(prop(\\u0027diameter\\u0027)), viewportMIN(clusterSum(prop(\\u0027diameter\\u0027))), viewportMAX(clusterSum(prop(\\u0027diameter\\u0027)))), [8.0, 32.0, 64])\\ncolor: opacity(#FFB927, 0.8)\\nfilter: 1\\nresolution: 64\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(clusterSum(prop(\\u0027diameter\\u0027)), viewportMIN(clusterSum(prop(\\u0027diameter\\u0027))), viewportMAX(clusterSum(prop(\\u0027diameter\\u0027)))), [8.0, 32.0, 64])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -1954,7 +2588,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 3, diff --git a/examples/legends/opacity_in_legend.ipynb b/docs/examples/data_visualization/styles/color_bins_style.ipynb similarity index 95% rename from examples/legends/opacity_in_legend.ipynb rename to docs/examples/data_visualization/styles/color_bins_style.ipynb index 5dced7f11..97a996edb 100644 --- a/examples/legends/opacity_in_legend.ipynb +++ b/docs/examples/data_visualization/styles/color_bins_style.ipynb @@ -4,9 +4,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Opacity in legend\n", + "## Color Bins Style\n", "\n", - "In this example, the color bins legend reads from the `color` property which has `opacity` set to `0.6`. This is reflected in both the map and the legend." + "Helper function for quickly creating a color bins style. Use `help(color_bins_style)` to get more information." ] }, { @@ -16,7 +16,6 @@ "outputs": [], "source": [ "from cartoframes.auth import set_default_credentials\n", - "from cartoframes.viz import Layer, color_bins_style, color_bins_legend\n", "\n", "set_default_credentials('cartoframes')" ] @@ -238,12 +237,10 @@ " \n", " \n", " \n", + " heading="pop_sq_km"\n", + " description="">\n", " \n", " \n", - " Data: US Census\n", - " \n", " \n", " \n", " \n", @@ -758,21 +755,21 @@ " return value.toLocaleString();\n", " }\n", "\n", - " function updateViewport(map) {\n", + " function updateViewport(id, map) {\n", " function updateMapInfo() {\n", - " const mapInfo$ = document.getElementById('map-info');\n", + " const mapInfo$ = document.getElementById(id);\n", " const center = map.getCenter();\n", " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -846,7 +843,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -861,12 +858,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                  ${popupHTML}
                                  `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                  ${popupHTML}
                                  `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1150,7 +1151,8 @@ " const map = createMap(container, basemapStyle, settings.bounds, settings.mapboxtoken);\n", "\n", " if (settings.show_info) {\n", - " updateViewport(map);\n", + " const id = mapIndex !== undefined ? `map-info-${mapIndex}` : 'map-info';\n", + " updateViewport(id, map);\n", " }\n", "\n", " if (settings.camera) {\n", @@ -1224,7 +1226,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1265,12 +1267,12 @@ " .addEventListener('ready', () => {\n", " const basecolor = '';\n", " const basemap = 'Positron';\n", - " const bounds = [[-122.5301, 37.708131], [-122.356967, 37.833365]];\n", + " const bounds = [[-6.365712, 49.883409], [1.771169, 55.805486]];\n", " const camera = null;\n", " const has_legends = 'true' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": {"api_key": "default_public", "base_url": "https://cartoframes.carto.com", "username": "cartoframes"}, "data": "SELECT * FROM \\"cartoframes\\".\\"demographics_sf\\"", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "v77f7c2", "title": "masters_percent"}, "event": "hover"}], "legends": [{"ascending": false, "description": "by block group", "dynamic": true, "footer": "Data: US Census", "format": null, "prop": "color", "title": "Percent Master\\u0027s Degree", "type": "color-bins", "variable": null}], "map_index": 0, "options": {}, "source": "SELECT * FROM \\"cartoframes\\".\\"demographics_sf\\"", "title": null, "type": "Query", "viz": "@v77f7c2: prop(\\u0027masters_percent\\u0027)\\ncolor: opacity(ramp(globalQuantiles(prop(\\u0027masters_percent\\u0027), 5), purpor), 0.5)\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nfilter: 1\\n", "widgets": []}];\n", + " const layers = [{"credentials": {"api_key": "default_public", "base_url": "https://cartoframes.carto.com", "username": "cartoframes"}, "data": "SELECT * FROM \\"cartoframes\\".\\"eng_wales_pop\\"", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "v18f1e3", "title": "pop_sq_km"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "color", "title": "pop_sq_km", "type": "color-bins", "variable": null}], "map_index": 0, "options": {}, "source": "SELECT * FROM \\"cartoframes\\".\\"eng_wales_pop\\"", "title": null, "type": "Query", "viz": "@v18f1e3: prop(\\u0027pop_sq_km\\u0027)\\ncolor: opacity(ramp(globalQuantiles(prop(\\u0027pop_sq_km\\u0027), 5), purpor), 0.9)\\nfilter: 1\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -1294,7 +1296,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -1303,15 +1305,9 @@ } ], "source": [ - "Layer(\n", - " 'demographics_sf',\n", - " color_bins_style('masters_percent', opacity=0.5),\n", - " legends=color_bins_legend(\n", - " title=\"Percent Master's Degree\",\n", - " description='by block group',\n", - " footer='Data: US Census'\n", - " )\n", - ")" + "from cartoframes.viz import Layer, color_bins_style\n", + "\n", + "Layer('eng_wales_pop', color_bins_style('pop_sq_km'))" ] } ], diff --git a/docs/examples/data_visualization/styles/color_category_style.ipynb b/docs/examples/data_visualization/styles/color_category_style.ipynb new file mode 100644 index 000000000..bfb9f06ad --- /dev/null +++ b/docs/examples/data_visualization/styles/color_category_style.ipynb @@ -0,0 +1,1335 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Color Category Style\n", + "\n", + "Helper function for quickly creating a color category style. Use `help(color_category_style)` to get more information." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('cartoframes')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                  \n", + "
                                  \n", + "
                                  \n", + " \n", + " \n", + "
                                  \n", + "
                                  \n", + " \n", + "\n", + "
                                  \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                  \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                  \n", + " \n", + " \n", + "
                                  \n", + "
                                  \n", + "
                                  \n", + "
                                  \n", + " \n", + "
                                  \n", + "
                                  \n", + "
                                  \n", + "\n", + " \n", + "\n", + "
                                  \n", + "
                                  \n", + " :\n", + "
                                  \n", + " \n", + " \n", + "
                                  \n", + "
                                  \n", + "\n", + "
                                  \n", + " StackTrace\n", + "
                                    \n", + "
                                    \n", + "
                                    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Layer, color_category_style\n", + "\n", + "Layer('wburg_parcels', color_category_style('landuse_type'))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/styles/color_continuous_style.ipynb b/docs/examples/data_visualization/styles/color_continuous_style.ipynb similarity index 64% rename from examples/styles/color_continuous_style.ipynb rename to docs/examples/data_visualization/styles/color_continuous_style.ipynb index 36a8e4330..d0748885c 100644 --- a/examples/styles/color_continuous_style.ipynb +++ b/docs/examples/data_visualization/styles/color_continuous_style.ipynb @@ -83,6 +83,11 @@ " max-width: 100%;\n", " height: auto;\n", " }\n", + "\n", + " as-layer-selector-slot .as-layer-selector-slot--wrapper .as-caption { // FIXME\n", + " font-size: 14px;\n", + " line-height: 14px;\n", + " }\n", "\n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                    \n", + "
                                    \n", + "
                                    \n", + " \n", + " \n", + "
                                    \n", + "
                                    \n", + " \n", + "\n", + "
                                    \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                    \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " Source: City of SF\n", + " \n", + " \n", + " \n", + " \n", + "
                                    \n", + " \n", + " \n", + "
                                    \n", + "
                                    \n", + "
                                    \n", + "
                                    \n", + " \n", + "
                                    \n", + "
                                    \n", + "
                                    \n", + "\n", + " \n", + "\n", + "
                                    \n", + "
                                    \n", + " :\n", + "
                                    \n", + " \n", + " \n", + "
                                    \n", + "
                                    \n", + "\n", + "
                                    \n", + " StackTrace\n", + "
                                      \n", + "
                                      \n", + "
                                      \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Map, Layer, size_continuous_style, color_category_style, color_bins_legend\n", + "\n", + "Map([\n", + " Layer(\n", + " 'sf_nbhd',\n", + " style=color_category_style('name', 'SF Neighborhoods',\n", + " cat=[\n", + " 'Downtown/Civic Center',\n", + " 'South of Market',\n", + " 'Mission',\n", + " 'Western Addition',\n", + " 'Financial District','Bayview'\n", + " ],\n", + " palette='[#E58606,#5D69B1,#52BCA3,#99C945,#CC61B0,#ED645A],#ccc',\n", + " stroke_color='#c4c4c4'\n", + " ),\n", + " legends=color_bins_legend(\n", + " description='Hover each to see total crime reports',\n", + " footer='Source: City of SF',\n", + " ascending=True\n", + " )\n", + " ),\n", + " Layer(\n", + " 'sf_nbhd_crime',\n", + " style=size_continuous_style(\n", + " 'value',\n", + " size_range=[8,60],\n", + " opacity=0.05,\n", + " color='black',\n", + " stroke_color='#ffea00',\n", + " stroke_width=2\n", + " ),\n", + " default_legend=False\n", + " )\n", + "])" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/examples/data_visualization/styles/size_bins_style.ipynb b/docs/examples/data_visualization/styles/size_bins_style.ipynb new file mode 100644 index 000000000..52bdeb7b8 --- /dev/null +++ b/docs/examples/data_visualization/styles/size_bins_style.ipynb @@ -0,0 +1,1335 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Size Bins Style\n", + "\n", + "Helper function for quickly creating a size bins style. Use `help(size_bins_style)` to get more information." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('cartoframes')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                      \n", + "
                                      \n", + "
                                      \n", + " \n", + " \n", + "
                                      \n", + "
                                      \n", + " \n", + "\n", + "
                                      \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                      \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                      \n", + " \n", + " \n", + "
                                      \n", + "
                                      \n", + "
                                      \n", + "
                                      \n", + " \n", + "
                                      \n", + "
                                      \n", + "
                                      \n", + "\n", + " \n", + "\n", + "
                                      \n", + "
                                      \n", + " :\n", + "
                                      \n", + " \n", + " \n", + "
                                      \n", + "
                                      \n", + "\n", + "
                                      \n", + " StackTrace\n", + "
                                        \n", + "
                                        \n", + "
                                        \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Layer, size_bins_style\n", + "\n", + "Layer('clev_sales', size_bins_style('sale_price'))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/styles/size_category_style.ipynb b/docs/examples/data_visualization/styles/size_category_style.ipynb similarity index 64% rename from examples/styles/size_category_style.ipynb rename to docs/examples/data_visualization/styles/size_category_style.ipynb index cfbfaeb95..f801475d9 100644 --- a/examples/styles/size_category_style.ipynb +++ b/docs/examples/data_visualization/styles/size_category_style.ipynb @@ -83,6 +83,11 @@ " max-width: 100%;\n", " height: auto;\n", " }\n", + "\n", + " as-layer-selector-slot .as-layer-selector-slot--wrapper .as-caption { // FIXME\n", + " font-size: 14px;\n", + " line-height: 14px;\n", + " }\n", "\n", " \n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + " \n", + "\n", + "\n", + " \n", + "
                                        \n", + "
                                        \n", + "
                                        \n", + " \n", + " \n", + "
                                        \n", + "
                                        \n", + "
                                        \n", + "\n", + " \n", + "\n", + "
                                        \n", + "
                                        \n", + " :\n", + "
                                        \n", + " \n", + " \n", + "
                                        \n", + "
                                        \n", + "\n", + "
                                        \n", + " StackTrace\n", + "
                                          \n", + "
                                          \n", + "
                                          \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Layer, animation_style, time_series_widget\n", + "\n", + "Layer(\n", + " 'seattle_collisions',\n", + " animation_style('incdate', duration=20, fade_in=0.5, fade_out=0.5),\n", + " widgets=[\n", + " time_series_widget(\n", + " value='incdate',\n", + " title='Number of Collisions by Date',\n", + " description= 'Play, pause, or select a range for the animation'\n", + " )]\n", + ")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/examples/examples.json b/docs/examples/examples.json new file mode 100644 index 000000000..35a70a2e6 --- /dev/null +++ b/docs/examples/examples.json @@ -0,0 +1,554 @@ +{ + "main": { + "title": "Introduction", + "file": "introduction.md" + }, + "categories": [ + { + "title": "Use Cases", + "desc": "Explore how to make the most of your Spatial Analysis with CARTOframes", + "hide_sidebar_samples": true, + "samples": [ + { + "title": "Building a dashboard", + "desc": "Building a dashboard to plan a marketing campaign leveraging CARTO Data Observatory", + "file": "building_a_dashboard", + "path": "use_cases" + }, + { + "title": "Combining two datasets", + "desc": "Using geosocial media data to understand retail performance", + "file": "combining_two_datasets", + "path": "use_cases" + }, + { + "title": "Visualize temperatures", + "desc": "Visualize warm temperatures", + "file": "visualize_temperatures", + "path": "use_cases" + }, + { + "title": "Paris WiFi services", + "desc": "Download and visualize WiFi Services data in JSON format", + "file": "paris_wifi_services", + "path": "use_cases" + }, + { + "title": "Paris remarkable trees", + "desc": "Transform and visualize data from a JSON file", + "file": "paris_remarkable_trees", + "path": "use_cases" + }, + { + "title": "Geocode London stations", + "desc": "Geocode a dataset in XLS format", + "file": "geocoding_london_stations", + "path": "use_cases" + } + ] + }, + { + "title": "Templates", + "desc": "Incorporate CARTOframes in your workflows easily with functionality templates", + "hide_sidebar_samples": true, + "samples": [ + { + "title": "Data Discovery", + "desc": "How to explore the data catalog", + "file": "do_data_discovery", + "path": "templates" + }, + { + "title": "Access public data", + "desc": "Manage DO public data", + "file": "do_access_public_data", + "path": "templates" + }, + { + "title": "Access premium data", + "desc": "Manage DO premium data", + "file": "do_access_premium_data", + "path": "templates" + }, + { + "title": "Data Enrichment", + "desc": "Enrich your data", + "file": "do_data_enrichment", + "path": "templates" + } + ] + }, + { + "title": "Data Management", + "desc": "Explore working with data both locally and with a CARTO account", + "hide_sidebar_samples": true, + "samples": [ + { + "title": "Read a GeoJSON file", + "desc": "Read data from a GeoJSON file", + "file": "read_geojson", + "path": "data_management" + }, + { + "title": "Read a Shapefile", + "desc": "Read data from a Shapefile", + "file": "read_shapefile", + "path": "data_management" + }, + { + "title": "Read a CSV file", + "desc": "Read data from a CSV file", + "file": "read_csv", + "path": "data_management" + }, + { + "title": "Read a JSON file", + "desc": "Read data from a JSON file", + "file": "read_json", + "path": "data_management" + }, + { + "title": "Read a CARTO table", + "desc": "Read data from a CARTO table", + "file": "read_carto_table", + "path": "data_management" + }, + { + "title": "Read a CARTO SQL query", + "desc": "Read data from a CARTO table using a SQL Query", + "file": "read_carto_query", + "path": "data_management" + }, + { + "title": "Upload to CARTO", + "desc": "Upload data to CARTO", + "file": "upload_to_carto", + "path": "data_management" + }, + { + "title": "Change CARTO table privacy", + "desc": "Change the privacy of a CARTO table", + "file": "change_carto_table_privacy", + "path": "data_management" + } + ] + }, + { + "title": "Data Visualization", + "desc": "Explore the building blocks for creating web-based, dynamic, and interactive map visualizations", + "hide_sidebar_samples": true, + "samples": [ + { + "title": "Single layer", + "desc": "Add a Layer", + "file": "add_layer", + "path": "data_visualization/layers", + "group": "Layers" + }, + { + "title": "Multiple layers", + "desc": "Add multiple Layers", + "file": "add_multiple_layers", + "path": "data_visualization/layers", + "group": "Layers" + }, + { + "title": "Basemaps", + "desc": "Change the default CARTO basemap", + "file": "change_default_carto_basemap", + "path": "data_visualization/map_configuration", + "group": "Map configuration" + }, + { + "title": "Viewport", + "desc": "Set a custom viewport", + "file": "custom_viewport", + "path": "data_visualization/map_configuration", + "group": "Map configuration" + }, + { + "title": " Background", + "desc": "Set a background color", + "file": "solid_color_background", + "path": "data_visualization/map_configuration", + "group": "Map configuration" + }, + { + "title": "Dark theme", + "desc": "Switch to the dark theme", + "file": "dark_theme", + "path": "data_visualization/map_configuration", + "group": "Map configuration" + }, + { + "title": "Basic style", + "desc": "Use the basic_style method to change the basic style properties", + "file": "basic_style", + "path": "data_visualization/styles", + "group": "Data-driven styling" + }, + { + "title": "Color category style", + "desc": "Use the color_category_style method to color features by categorical values", + "file": "color_category_style", + "path": "data_visualization/styles", + "group": "Data-driven styling" + }, + { + "title": "Color continuous style", + "desc": "Use the color_continuous_style method to color features by continuous numeric values", + "file": "color_continuous_style", + "path": "data_visualization/styles", + "group": "Data-driven styling" + }, + { + "title": "Color bins style", + "desc": "Use the color_bins_style method to color features by discrete numeric values", + "file": "color_bins_style", + "path": "data_visualization/styles", + "group": "Data-driven styling" + }, + { + "title": "Size category style", + "desc": "Use the size_category_style method to resize each feature by categorical values", + "file": "size_category_style", + "path": "data_visualization/styles", + "group": "Data-driven styling" + }, + { + "title": "Size continuous style", + "desc": "Use the size_continuous_style method to resize each feature by continuous numeric values", + "file": "size_continuous_style", + "path": "data_visualization/styles", + "group": "Data-driven styling" + }, + { + "title": "Size bins style", + "desc": "Use the size_bins_style method to resize each feature by discrete numeric values", + "file": "size_bins_style", + "path": "data_visualization/styles", + "group": "Data-driven styling" + }, + { + "title": "Cluster size style", + "desc": "Use the cluster_size_style method to aggregate features by continuous numeric values", + "file": "cluster_size_style", + "path": "data_visualization/styles", + "group": "Data-driven styling" + }, + { + "title": "Animation style", + "desc": "Use the animation_style helper method to simply animate a visualization", + "file": "animation_style", + "path": "data_visualization/styles", + "group": "Data-driven styling" + }, + { + "title": "Add multiple style helpers", + "desc": "Combine different visualization styles", + "file": "combine_visualization_styles", + "path": "data_visualization/styles", + "group": "Data-driven styling" + }, + { + "title": "Default legend", + "desc": "Set the default legend needed for the style helper", + "file": "default_legend", + "path": "data_visualization/legends", + "group": "Legends" + }, + { + "title": "Basic legend", + "desc": "Use the basic_legend method to display a simple default legend", + "file": "basic_legend", + "path": "data_visualization/legends", + "group": "Legends" + }, + { + "title": "Color category cegend", + "desc": "Use the color_category_legend method to represent categorical values by color", + "file": "color_category_legend", + "path": "data_visualization/legends", + "group": "Legends" + }, + { + "title": "Color bins legend", + "desc": "Use the color_bins_legend method to represent discrete numeric values by color", + "file": "color_bins_legend", + "path": "data_visualization/legends", + "group": "Legends" + }, + { + "title": "Color continuous legend", + "desc": "Use the color_continuous_legend method to represent continuous numeric values by color", + "file": "color_continuous_legend", + "path": "data_visualization/legends", + "group": "Legends" + }, + { + "title": "Size category legend", + "desc": "Use the size_category_legend method to represent categorical values by size", + "file": "size_category_legend", + "path": "data_visualization/legends", + "group": "Legends" + }, + { + "title": "Size bins legend", + "desc": "Use the size_bins_legend method to represent discrete numeric values by size", + "file": "size_bins_legend", + "path": "data_visualization/legends", + "group": "Legends" + }, + { + "title": "Size continuous legend", + "desc": "Use the size_bins_legend method to represent continuous numeric values by size", + "file": "size_continuous_legend", + "path": "data_visualization/legends", + "group": "Legends" + }, + { + "title": "Add multiple legends", + "desc": "Combine different legends in the same visualization", + "file": "multiple_legends", + "path": "data_visualization/legends", + "group": "Legends" + }, + { + "title": "Legend by geometry", + "desc": "Specify the geometry type in a legend helper", + "file": "legend_line_geometry", + "path": "data_visualization/legends", + "group": "Legends" + }, + { + "title": "Default widget", + "desc": "Set the default widget needed for the style helper", + "file": "default_widget", + "path": "data_visualization/widgets", + "group": "Interactive widgets" + }, + { + "title": "Basic widget", + "desc": "Use the basic_widget method to display a simple default widget", + "file": "basic_widget", + "path": "data_visualization/widgets", + "group": "Interactive widgets" + }, + { + "title": "Category widget", + "desc": "Use the category_widget to create a widget to represent categorical values", + "file": "category_widget", + "path": "data_visualization/widgets", + "group": "Interactive widgets" + }, + { + "title": "Histogram widget", + "desc": "Use the histogram_widget to create a widget to represent categorical, numeric and date values in a histogram", + "file": "histogram_widget", + "path": "data_visualization/widgets", + "group": "Interactive widgets" + }, + { + "title": "Formula widget", + "desc": "Use the formula_widget to display the result of a count, avg, max, min or sum operation in a numeric", + "file": "formula_widget", + "path": "data_visualization/widgets", + "group": "Interactive widgets" + }, + { + "title": "Animation widget", + "desc": "Use the animation_widget to be able to play, pause and change an animated visualization through animation controls", + "file": "animation_widget", + "path": "data_visualization/widgets", + "group": "Interactive widgets" + }, + { + "title": "Time series widget", + "desc": "Use the time_series_widget to represent a sequence of categorical, numeric and date values in a histogram indexed by a numeric or date value", + "file": "time_series_widget", + "path": "data_visualization/widgets", + "group": "Interactive widgets" + }, + { + "title": "Add multiple widgets", + "desc": "Combine multiple widgets in the same visualization", + "file": "multiple_widgets", + "path": "data_visualization/widgets", + "group": "Interactive widgets" + }, + { + "title": "Default popup", + "desc": "Set the default popup needed for the style helper", + "file": "default_popup", + "path": "data_visualization/popups", + "group": "Click and hover popups" + }, + { + "title": "Popup on click", + "desc": "Display a popup triggered by a click event", + "file": "popup_on_click", + "path": "data_visualization/popups", + "group": "Click and hover popups" + }, + { + "title": "Popup on hover", + "desc": "Display a popup triggered by a hover event", + "file": "popup_on_hover", + "path": "data_visualization/popups", + "group": "Click and hover popups" + }, + { + "title": "Customize popup title and format", + "desc": "Change the title and format for the popup values", + "file": "popup_titles_and_format", + "path": "data_visualization/popups", + "group": "Click and hover popups" + }, + { + "title": "Add multiple popup elements", + "desc": "Display popups triggered by both click and hover events", + "file": "multiple_popup_events", + "path": "data_visualization/popups", + "group": "Click and hover popups" + }, + { + "title": "Default layout", + "desc": "Create a default visualization layout", + "file": "default_layout", + "path": "data_visualization/grid_layout", + "group": "Grid layout" + }, + { + "title": "Custom layout", + "desc": "Use different settings to create a custom visualization layout", + "file": "custom_layout", + "path": "data_visualization/grid_layout", + "group": "Grid layout" + }, + { + "title": "Add layout titles", + "desc": "Use different custom titles to create a visualization layout", + "file": "layout_titles", + "path": "data_visualization/grid_layout", + "group": "Grid layout" + }, + { + "title": "Customize layout viewport", + "desc": "Use different viewport settings to create a visualization layout", + "file": "layout_viewport", + "path": "data_visualization/grid_layout", + "group": "Grid layout" + }, + { + "title": "Make layout static", + "desc": "Create a static visualization layout", + "file": "static_layout", + "path": "data_visualization/grid_layout", + "group": "Grid layout" + }, + { + "title": "Publish Public Table Visualization", + "desc": "Publish a visualization from a public table", + "file": "publish_visualization_public_table", + "path": "data_visualization/publish_and_share", + "group": "Publish and share" + }, + { + "title": "Publish Private Table Visualization", + "desc": "Publish a visualization from a private table", + "file": "publish_visualization_private_table", + "path": "data_visualization/publish_and_share", + "group": "Publish and share" + }, + { + "title": "Publish GeoDataFrame Visualization", + "desc": "Publish a visualization from a GeoDataFrame", + "file": "publish_visualization_gdf", + "path": "data_visualization/publish_and_share", + "group": "Publish and share" + }, + { + "title": "Publish Layout Visualization", + "desc": "Publish a visualization of a layout", + "file": "publish_visualization_layout", + "path": "data_visualization/publish_and_share", + "group": "Publish and share" + } + ] + }, + { + "title": "Data Services", + "desc": "Learn how to combine your data and CARTO's Location Data Services for geospatial analyses", + "hide_sidebar_samples": true, + "samples": [ + { + "title": "Geocoding", + "desc": "Using the Geocoding Services to geocode a DataFrame", + "file": "geocoding", + "path": "data_services" + }, + { + "title": "Isochrones", + "desc": "Using the Isolines Services to calculate isochrones", + "file": "isochrones", + "path": "data_services" + }, + { + "title": "Isodistances", + "desc": "Using the Isolines Services to calculate isodistances", + "file": "isodistances", + "path": "data_services" + }, + { + "title": "Combining geocoding and isolines", + "desc": "Use both Geocoding and Isolines services", + "file": "geocoding_and_isolines", + "path": "data_services" + } + ] + }, + { + "title": "Data Observatory", + "desc": "Learn how to discover third party datasets and enrich your data through CARTO's Data Observatory", + "hide_sidebar_samples": true, + "samples": [ + { + "title": "Discover a dataset", + "desc": "Basic steps to discover a Dataset in the Data Observatory", + "file": "discover_dataset", + "path": "data_observatory" + }, + { + "title": "Access a dataset", + "desc": "Access a dataset applying filters", + "file": "access_dataset", + "path": "data_observatory" + }, + { + "title": "Enrich points", + "desc": "Use the enrichment to enrich points for a dataset", + "file": "points_enrichment_dataset", + "path": "data_observatory" + }, + { + "title": "Enrich polygons", + "desc": "Use the enrichment to enrich polygons for a dataset", + "file": "polygons_enrichment_dataset", + "path": "data_observatory" + }, + { + "title": "Request premium dataset subscription", + "desc": "Basic steps to request a premium dataset subscription in the Data Observatory", + "file": "enrichment_subscription_workflow", + "path": "data_observatory" + }, + { + "title": "Google Cloud credentials", + "desc": "Get and use your Data Observatory's Google Cloud credentials", + "file": "google_cloud_credentials", + "path": "data_observatory" + } + ] + } + ] +} \ No newline at end of file diff --git a/docs/developer-center/examples/introduction.md b/docs/examples/introduction.md similarity index 100% rename from docs/developer-center/examples/introduction.md rename to docs/examples/introduction.md diff --git a/docs/examples/templates/do_access_premium_data.ipynb b/docs/examples/templates/do_access_premium_data.ipynb new file mode 100644 index 000000000..1fcdfa22c --- /dev/null +++ b/docs/examples/templates/do_access_premium_data.ipynb @@ -0,0 +1,7094 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "7LKLhQBzJMOz" + }, + "source": [ + "## CARTO Data Observatory. Access premium data.\n", + "\n", + "This notebook shows how to use CARTOframes for discovering and downloading **premium** datasets from CARTO's [Data Observatory](https://carto.com/spatial-data-catalog/).\n", + "\n", + "In particular, we will download touristic [POI's from Pitney Bowes](https://carto.com/spatial-data-catalog/browser/?category=points_of_interest&provider=pitney_bowes) within a specific bounding box.\n", + "\n", + "The notebook is organized in the following sections:\n", + " - [Check your subscriptions to premium datasets](#section1)\n", + " - [Download a small sample of a dataset applying spatial filtering to explore it further](#section2)\n", + " - [Download dataset filtering by column value and bounding box](#section3)\n", + " - [Upload filtered dataset to your CARTO account](#section4)\n", + " \n", + " \n", + "**Note** for this notebook we are using the premium [dataset of Pitney Bowes POI's in Spain](https://carto.com/spatial-data-catalog/browser/dataset/pb_points_of_i_94bda91b/)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "V4-0hJjiVsen" + }, + "source": [ + "### Setup" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Import packages" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "id": "6vLRH4fEEkms" + }, + "outputs": [], + "source": [ + "import geopandas as gpd\n", + "import pandas as pd\n", + "pd.set_option('display.max_columns', None)\n", + "\n", + "from cartoframes import to_carto\n", + "from cartoframes.auth import set_default_credentials\n", + "from cartoframes.data.observatory import *\n", + "from cartoframes.viz import *\n", + "from shapely.geometry import box" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Set CARTO default credentials" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to be able to use the Data Observatory via CARTOframes, you need to set your CARTO account credentials first.\n", + "\n", + "Please, visit the [Authentication guide](https://carto.com/developers/cartoframes/guides/Authentication/) for further detail." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('creds.json')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note about credentials**\n", + "\n", + "For security reasons, we recommend storing your credentials in an external file to prevent publishing them by accident when sharing your notebooks. You can get more information in the section _Setting your credentials_ of the [Authentication guide](https://carto.com/developers/cartoframes/guides/Authentication/)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zo5IKlj36qFF" + }, + "source": [ + "### Download a premium dataset\n", + "\n", + "When working with very large datasets, you might need to explore the dataset in detail to decide if you need the whole data or just part of it. In order to speed up your time to identifying the exact data, it might be very helpful to download just a small sample of your data, to later decide what you need. In this section, we will show how to identify toutistic POI's from a dataset we are already subscribed to." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "opOc5utoCGpx" + }, + "source": [ + "\n", + "#### Check your subscriptions to premium datasets\n", + "\n", + "First, we check we're already subscribed to the dataset we want to use for our analysis. In this case, we would like to use [Pitney Bowes POI's in Spain](https://carto.com/spatial-data-catalog/browser/dataset/pb_points_of_i_94bda91b/). The dataset is `pb_points_of_i_94bda91b`.\n", + "\n", + "You can subscribe to this premium [dataset](https://carto.com/spatial-data-catalog/browser/dataset/pb_points_of_i_94bda91b/) on your [CARTO dashboard](https://carto.com/help/working-with-data/subscribe_datasets_do/) or contacting CARTO." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 52 + }, + "id": "XeLjV_0cCFIz", + "outputId": "5fd18729-5b09-4626-c548-7b65a0ee6e8f" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                          \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                          slugnamedescriptioncategory_idcountry_iddata_source_idprovider_idgeography_namegeography_descriptiontemporal_aggregationtime_coverageupdate_frequencyis_public_datalangversioncategory_nameprovider_namegeography_idid
                                          0ags_sociodemogr_a7e14220Sociodemographics - United States of America (...Census and ACS sociodemographic data estimated...demographicsusasociodemographicsagsCensus Block Group - United States of AmericaNoneyearlyNoneyearlyFalseeng2020DemographicsApplied Geographic Solutionscarto-do.ags.geography_usa_blockgroup_2015carto-do.ags.demographics_sociodemographics_us...
                                          1ags_retailpoten_aaf25a8cRetail Potential - United States of America (C...The retail potential database consists of aver...demographicsusaretailpotentialagsCensus Block Group - United States of America ...Shoreline clipped TIGER/Line boundaries. More ...yearly[2018-01-01, 2019-01-01)yearlyFalseeng2019DemographicsApplied Geographic Solutionscarto-do-public-data.carto.geography_usa_block...carto-do.ags.demographics_retailpotential_usa_...
                                          2pb_consumer_po_62cddc04Points Of Interest - Consumer - United States ...Consumer Point of interest database per catego...points_of_interestusaconsumer_points_of_interestpitney_bowesLatitude/Longitude - United States of AmericaLocation of Points of InterestmonthlyNonemonthlyFalseengv1Points of InterestPitney Bowescarto-do.pitney_bowes.geography_usa_latlon_v1carto-do.pitney_bowes.pointsofinterest_consume...
                                          3ags_sociodemogr_f510a947Sociodemographics - United States of America (...Census and ACS sociodemographic data estimated...demographicsusasociodemographicsagsCensus Block Group - United States of America ...Shoreline clipped TIGER/Line boundaries. More ...yearly[2019-01-01, 2020-01-01)yearlyFalseeng2019DemographicsApplied Geographic Solutionscarto-do-public-data.carto.geography_usa_block...carto-do.ags.demographics_sociodemographics_us...
                                          4ags_consumer_sp_dbabddfbConsumer Spending - United States of America (...The Consumer Expenditure database consists of ...demographicsusaconsumer_spendingagsCensus Block Group - United States of AmericaNoneyearlyNoneyearlyFalseeng2020DemographicsApplied Geographic Solutionscarto-do.ags.geography_usa_blockgroup_2015carto-do.ags.demographics_consumerspending_usa...
                                          5spa_geosocial_s_d5dc42aeGeosocial Segments - United States of America ...By analysing feeds from Twitter, Instagram, Me...behavioralusageosocial_segmentsspatial_aiCensus Block Group - United States of America ...Shoreline clipped TIGER/Line boundaries. More ...quarterly[2020-01-01, 2020-04-01)quarterlyFalseengv1BehavioralSpatial.aicarto-do-public-data.carto.geography_usa_block...carto-do.spatial_ai.behavioral_geosocialsegmen...
                                          6mc_geographic__7980c5c3Geographic Insights - United States of America...Geographic Insights validate, evaluate and ben...financialusageographic_insightsmastercardCensus Block Group - United States of America ...Shoreline clipped TIGER/Line boundaries. More ...monthly[2019-01-01, 2020-01-01)monthlyFalseengv1FinancialMastercardcarto-do-public-data.carto.geography_usa_block...carto-do.mastercard.financial_geographicinsigh...
                                          7pb_points_of_i_94bda91bPoints Of Interest - Spain (Latitude/Longitude)Point of interest database per categoriespoints_of_interestesppoints_of_interestpitney_bowesLatitude/Longitude - SpainLocation of Points of InterestmonthlyNonemonthlyFalseengv1Points of InterestPitney Bowescarto-do.pitney_bowes.geography_esp_latlon_v1carto-do.pitney_bowes.pointsofinterest_pointso...
                                          \n", + "
                                          " + ], + "text/plain": [ + " slug \\\n", + "0 ags_sociodemogr_a7e14220 \n", + "1 ags_retailpoten_aaf25a8c \n", + "2 pb_consumer_po_62cddc04 \n", + "3 ags_sociodemogr_f510a947 \n", + "4 ags_consumer_sp_dbabddfb \n", + "5 spa_geosocial_s_d5dc42ae \n", + "6 mc_geographic__7980c5c3 \n", + "7 pb_points_of_i_94bda91b \n", + "\n", + " name \\\n", + "0 Sociodemographics - United States of America (... \n", + "1 Retail Potential - United States of America (C... \n", + "2 Points Of Interest - Consumer - United States ... \n", + "3 Sociodemographics - United States of America (... \n", + "4 Consumer Spending - United States of America (... \n", + "5 Geosocial Segments - United States of America ... \n", + "6 Geographic Insights - United States of America... \n", + "7 Points Of Interest - Spain (Latitude/Longitude) \n", + "\n", + " description category_id \\\n", + "0 Census and ACS sociodemographic data estimated... demographics \n", + "1 The retail potential database consists of aver... demographics \n", + "2 Consumer Point of interest database per catego... points_of_interest \n", + "3 Census and ACS sociodemographic data estimated... demographics \n", + "4 The Consumer Expenditure database consists of ... demographics \n", + "5 By analysing feeds from Twitter, Instagram, Me... behavioral \n", + "6 Geographic Insights validate, evaluate and ben... financial \n", + "7 Point of interest database per categories points_of_interest \n", + "\n", + " country_id data_source_id provider_id \\\n", + "0 usa sociodemographics ags \n", + "1 usa retailpotential ags \n", + "2 usa consumer_points_of_interest pitney_bowes \n", + "3 usa sociodemographics ags \n", + "4 usa consumer_spending ags \n", + "5 usa geosocial_segments spatial_ai \n", + "6 usa geographic_insights mastercard \n", + "7 esp points_of_interest pitney_bowes \n", + "\n", + " geography_name \\\n", + "0 Census Block Group - United States of America \n", + "1 Census Block Group - United States of America ... \n", + "2 Latitude/Longitude - United States of America \n", + "3 Census Block Group - United States of America ... \n", + "4 Census Block Group - United States of America \n", + "5 Census Block Group - United States of America ... \n", + "6 Census Block Group - United States of America ... \n", + "7 Latitude/Longitude - Spain \n", + "\n", + " geography_description temporal_aggregation \\\n", + "0 None yearly \n", + "1 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "2 Location of Points of Interest monthly \n", + "3 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "4 None yearly \n", + "5 Shoreline clipped TIGER/Line boundaries. More ... quarterly \n", + "6 Shoreline clipped TIGER/Line boundaries. More ... monthly \n", + "7 Location of Points of Interest monthly \n", + "\n", + " time_coverage update_frequency is_public_data lang version \\\n", + "0 None yearly False eng 2020 \n", + "1 [2018-01-01, 2019-01-01) yearly False eng 2019 \n", + "2 None monthly False eng v1 \n", + "3 [2019-01-01, 2020-01-01) yearly False eng 2019 \n", + "4 None yearly False eng 2020 \n", + "5 [2020-01-01, 2020-04-01) quarterly False eng v1 \n", + "6 [2019-01-01, 2020-01-01) monthly False eng v1 \n", + "7 None monthly False eng v1 \n", + "\n", + " category_name provider_name \\\n", + "0 Demographics Applied Geographic Solutions \n", + "1 Demographics Applied Geographic Solutions \n", + "2 Points of Interest Pitney Bowes \n", + "3 Demographics Applied Geographic Solutions \n", + "4 Demographics Applied Geographic Solutions \n", + "5 Behavioral Spatial.ai \n", + "6 Financial Mastercard \n", + "7 Points of Interest Pitney Bowes \n", + "\n", + " geography_id \\\n", + "0 carto-do.ags.geography_usa_blockgroup_2015 \n", + "1 carto-do-public-data.carto.geography_usa_block... \n", + "2 carto-do.pitney_bowes.geography_usa_latlon_v1 \n", + "3 carto-do-public-data.carto.geography_usa_block... \n", + "4 carto-do.ags.geography_usa_blockgroup_2015 \n", + "5 carto-do-public-data.carto.geography_usa_block... \n", + "6 carto-do-public-data.carto.geography_usa_block... \n", + "7 carto-do.pitney_bowes.geography_esp_latlon_v1 \n", + "\n", + " id \n", + "0 carto-do.ags.demographics_sociodemographics_us... \n", + "1 carto-do.ags.demographics_retailpotential_usa_... \n", + "2 carto-do.pitney_bowes.pointsofinterest_consume... \n", + "3 carto-do.ags.demographics_sociodemographics_us... \n", + "4 carto-do.ags.demographics_consumerspending_usa... \n", + "5 carto-do.spatial_ai.behavioral_geosocialsegmen... \n", + "6 carto-do.mastercard.financial_geographicinsigh... \n", + "7 carto-do.pitney_bowes.pointsofinterest_pointso... " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Catalog().subscriptions().datasets.to_dataframe()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "id": "6KiyNnqbr3uc" + }, + "outputs": [], + "source": [ + "pois_ds = Dataset.get('pb_points_of_i_94bda91b')" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "RIz7vMRpr-4u", + "outputId": "736631ea-8600-441e-8751-a5505061dcc8" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                          \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                          HTTPISO3NAMESIC1SIC2SIC8CLASSEMAILGROUPPB_IDSTABBgeoidFAXNUMMICODETEL_NUMdo_dateLATITUDEOPEN_24HPOSTCODEdo_labelAREANAME1AREANAME2AREANAME3AREANAME4BRANDNAMEGEORESULTLONGITUDESUB_CLASSAGENT_CODETRADE_NAMEYEAR_STARTSTATUS_CODEBUSINESS_LINECURRENCY_CODEEMPLOYEE_HEREEXCHANGE_NAMETICKER_SYMBOLEMPLOYEE_COUNTFAMILY_MEMBERSFRANCHISE_NAMEHIERARCHY_CODEPARENT_ADDRESSPARENT_COUNTRYTRADE_DIVISIONADDRESSLASTLINECONFIDENCE_CODEMAINADDRESSLINEPARENT_POSTCODEFORMATTEDADDRESSPARENT_AREANAME1PARENT_AREANAME3SIC8_DESCRIPTIONALT_INDUSTRY_CODELEGAL_STATUS_CODESALES_VOLUME_LOCALCOUNTRY_ACCESS_CODEPARENT_BUSINESS_NAMESUBSIDIARY_INDICATORPARENT_STREET_ADDRESSGLOBAL_ULTIMATE_ADDRESSGLOBAL_ULTIMATE_COUNTRYSALES_VOLUME_US_DOLLARSGLOBAL_ULTIMATE_POSTCODEDOMESTIC_ULTIMATE_ADDRESSGLOBAL_ULTIMATE_AREANAME1GLOBAL_ULTIMATE_AREANAME3GLOBAL_ULTIMATE_INDICATORDOMESTIC_ULTIMATE_POSTCODEDOMESTIC_ULTIMATE_AREANAME1DOMESTIC_ULTIMATE_AREANAME3GLOBAL_ULTIMATE_BUSINESS_NAMEGLOBAL_ULTIMATE_STREET_ADDRESSDOMESTIC_ULTIMATE_BUSINESS_NAMEDOMESTIC_ULTIMATE_STREET_ADDRESS
                                          0NoneESPEL SANTONone655250440000DRINKING PLACESNoneSHOPPING1173764019EX2107476034#1.1064478#41.1567659None10010314936 58 74 132020-11-0143.267950NoneAD700BBV PRIVANZA INTERNATIONALMADRIDVIZCAYAVILADECANSNoneNoneT202.164250DEPARTMENT STORESNoneBRICOR1994.0NoneNoneNoneNoneNoneNoneNone00000None00NoneNoneDIVISION I. - SERVICES10869, TORRECILLA DE LOS ANGELES, CÁCERESLOWNoneNoneNoneMALAGANoneFRUIT AND VEGETABLE MARKETSNoneNoneNaNNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneCARRETERA DE CADIZ 206
                                          1NoneESPLA FUENTENone655250440000DRINKING PLACESNoneSHOPPING1432760662MD2227609955#-6.378907#39.470747None10010314935 48 09 272020-11-0143.323898NoneGX11 1AASPRINGFIELD BANK AND TRUSTMADRIDBIZKAIABARCELONANoneNoneS8HPNTSCZA-1.639469DEPARTMENT STORESNoneNone2018.0NoneNoneNoneNoneNoneNoneNone00000None00NoneNoneDIVISION I. - SERVICES28911, LEGANES, MADRIDLOWNoneNoneNoneGUIPUZCOANoneFRUIT AND VEGETABLE MARKETSNoneNoneNaNNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNonePASEO DE MIRAMON 185
                                          2NoneESPSANT FRANCESC XAVIERNone654150440000DRINKING PLACESNoneSHOPPING1170864171CT2226191863#-8.5258399#42.8889816None10010314938 14 89 432020-11-0143.322003NoneAD700I D T FINANCIAL SERVICESBARCELONAVIZCAYASANT PERE DE RIBESNoneNoneT18-3.686817DEPARTMENT STORESNoneEL CORTE INGLÉS2008.0NoneNoneNoneNoneNoneNoneNone00000None00NoneNoneDIVISION I. - SERVICES08301, MATARO, BARCELONAMEDIUMNoneNoneNoneMADRIDNoneFRUIT AND VEGETABLE MARKETSNoneNoneNaNNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNonePASEO CASTELLANA, 120 - IZ BJ
                                          3NoneESPRUFINO BLANCONone655250440000DRINKING PLACESNoneSHOPPING1171185920MC2225636588#0.629133#41.6186896None10010314946 53 35 122020-11-0142.507879NoneGX11 1AAJYSKE BANK MANAGEMENTMADRIDVIZCAYAGETXONoneNoneT19-3.692750DEPARTMENT STORESNoneHIPERCOR2006.0NoneNoneNoneNoneNoneNoneNone00000None00NoneNoneDIVISION I. - SERVICES30009, MURCIA, MURCIAHIGHNoneNoneNoneMALAGANoneFRUIT AND VEGETABLE MARKETSNoneNoneNaNNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneAVENIDA DEL CARMEN (ED EL FARO), BL 3 LOC
                                          4NoneESPCASA CONVALESCÈNCIANoneNone50440000DRINKING PLACESNoneSHOPPING1173842007AR2219538595#-8.4077351#43.3661062None10010314661 78 11 332020-11-0143.318963NoneAD400OFFSEC SERVICESTENERIFEGIPUZKOASAN BARTOLOMÉNoneNoneT20-3.656440DEPARTMENT STORESNoneEL CORTE INGLÉS1988.0NoneNoneNoneNoneNoneNoneNone00000None00NoneNoneDIVISION I. - SERVICES50180, UTEBO, ZARAGOZALOWNoneNoneNoneLERIDANoneFRUIT AND VEGETABLE MARKETSNoneNoneNaNNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneCARRETERA PALAU (KM 1)
                                          5NoneESPROSALÍA DE CASTRONoneNone50440000DRINKING PLACESNonePERSONAL SERVICES1505524737AN2226659530#-5.6530505#43.5359533None10010314922 04 90 672020-11-0143.323258NoneAD500SOIAMLERIDAVIZCAYAPEDREGUERNoneNoneT17-3.806100DEPARTMENT STORESNoneEL CORTE INGLÉS2020.0NoneNoneNoneNoneNoneNoneNone00000None00NoneNoneDIVISION I. - SERVICES21006, HUELVA, HUELVAHIGHNoneNoneNoneSEVILLANoneFRUIT AND VEGETABLE MARKETSNoneNone59118.0NoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneCALLE MIGUEL VAZQUEZ DELGADO 71
                                          6NoneESPCENTRO DE FORMACIÓN Y EMPLEONoneNone50440000DRINKING PLACESNonePERSONAL SERVICES1173898606CT2225995739#-0.883421#41.647102None10010314968 70 11 502020-11-0143.265980NoneGX11 1AALABMADRIDBIZKAIACARAVACA DE LA CRUZNoneNoneT19-2.669666DEPARTMENT STORESNoneNoneNaNNoneNoneNoneNoneNoneNoneNone00000None00NoneNoneDIVISION I. - SERVICES08026, BARCELONA, BARCELONAMEDIUMNoneNoneNoneBARCELONANoneFRUIT AND VEGETABLE MARKETSNoneNone60384.0NoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneCALLE ANTIC CAMI DE XIMELIS 19
                                          7NoneESPEFA EL SOTONoneNone50440000DRINKING PLACESNonePERSONAL SERVICES1293842742CT2222921452#-2.79984#36.7689None10010314914 04 99 282020-11-0143.253290NoneAD500F.I.T.AMADRIDVIZCAYAMADRIDNoneNoneT162.127009DEPARTMENT STORESNoneNone2016.0NoneNoneNoneNoneNoneNoneNone00000None00NoneNoneDIVISION I. - SERVICES08030, BARCELONA, BARCELONALOWNoneNoneNoneNoneNoneFRUIT AND VEGETABLE MARKETSNoneNone61505.0NoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneAVENIDA GENERAL PERON (ED MASTER'S I), 38 - PI...
                                          8NoneESPO CASTIÑEIRONoneNone50440000DRINKING PLACESNonePERSONAL SERVICES1172241073AN2152151101#-8.644829#42.4307343944 46 13 4710010314943 61 95 402020-11-0142.851396NoneAD500P & C APARTAMENTSCASTILLA Y LEÓNANDORRAIRUNNoneNoneT16-3.689160DEPARTMENT STORESNoneEL CORTE INGLÉS2000.0NoneNoneNoneNoneNoneNoneNoneNoneNone00NoneNoneDIVISION I. - SERVICES29014, MALAGA, MÁLAGAHIGHNoneNoneNoneBARCELONANoneFRUIT AND VEGETABLE MARKETSNoneNone67464.0NoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneCALLE BRUC DEL MIG 8
                                          9NoneESPCPEB DE CABAÑAQUINTANoneNone50440000DRINKING PLACESNonePERSONAL SERVICES1171203786AN2221998958#-7.3611215#43.6618237None10010314953 58 03 672020-11-0143.247379NoneAD400ME VACANCESPAÍS VASCOBIZKAIAALCALÁ LA REALNoneNoneT202.127009DEPARTMENT STORESNoneNone1999.0NoneNoneNoneNoneNoneNoneNoneNoneNone00NoneNoneDIVISION I. - SERVICES41020, SEVILLA, SEVILLALOWNoneNoneNoneALBACETENoneFRUIT AND VEGETABLE MARKETSNoneNone60587.0NoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneNoneCALLE MAYOR, 32 - 1 A
                                          \n", + "
                                          " + ], + "text/plain": [ + " HTTP ISO3 NAME SIC1 SIC2 SIC8 \\\n", + "0 None ESP EL SANTO None 6552 50440000 \n", + "1 None ESP LA FUENTE None 6552 50440000 \n", + "2 None ESP SANT FRANCESC XAVIER None 6541 50440000 \n", + "3 None ESP RUFINO BLANCO None 6552 50440000 \n", + "4 None ESP CASA CONVALESCÈNCIA None None 50440000 \n", + "5 None ESP ROSALÍA DE CASTRO None None 50440000 \n", + "6 None ESP CENTRO DE FORMACIÓN Y EMPLEO None None 50440000 \n", + "7 None ESP EFA EL SOTO None None 50440000 \n", + "8 None ESP O CASTIÑEIRO None None 50440000 \n", + "9 None ESP CPEB DE CABAÑAQUINTA None None 50440000 \n", + "\n", + " CLASS EMAIL GROUP PB_ID STABB \\\n", + "0 DRINKING PLACES None SHOPPING 1173764019 EX \n", + "1 DRINKING PLACES None SHOPPING 1432760662 MD \n", + "2 DRINKING PLACES None SHOPPING 1170864171 CT \n", + "3 DRINKING PLACES None SHOPPING 1171185920 MC \n", + "4 DRINKING PLACES None SHOPPING 1173842007 AR \n", + "5 DRINKING PLACES None PERSONAL SERVICES 1505524737 AN \n", + "6 DRINKING PLACES None PERSONAL SERVICES 1173898606 CT \n", + "7 DRINKING PLACES None PERSONAL SERVICES 1293842742 CT \n", + "8 DRINKING PLACES None PERSONAL SERVICES 1172241073 AN \n", + "9 DRINKING PLACES None PERSONAL SERVICES 1171203786 AN \n", + "\n", + " geoid FAXNUM MICODE TEL_NUM \\\n", + "0 2107476034#1.1064478#41.1567659 None 10010314 936 58 74 13 \n", + "1 2227609955#-6.378907#39.470747 None 10010314 935 48 09 27 \n", + "2 2226191863#-8.5258399#42.8889816 None 10010314 938 14 89 43 \n", + "3 2225636588#0.629133#41.6186896 None 10010314 946 53 35 12 \n", + "4 2219538595#-8.4077351#43.3661062 None 10010314 661 78 11 33 \n", + "5 2226659530#-5.6530505#43.5359533 None 10010314 922 04 90 67 \n", + "6 2225995739#-0.883421#41.647102 None 10010314 968 70 11 50 \n", + "7 2222921452#-2.79984#36.7689 None 10010314 914 04 99 28 \n", + "8 2152151101#-8.644829#42.4307343 944 46 13 47 10010314 943 61 95 40 \n", + "9 2221998958#-7.3611215#43.6618237 None 10010314 953 58 03 67 \n", + "\n", + " do_date LATITUDE OPEN_24H POSTCODE do_label \\\n", + "0 2020-11-01 43.267950 None AD700 BBV PRIVANZA INTERNATIONAL \n", + "1 2020-11-01 43.323898 None GX11 1AA SPRINGFIELD BANK AND TRUST \n", + "2 2020-11-01 43.322003 None AD700 I D T FINANCIAL SERVICES \n", + "3 2020-11-01 42.507879 None GX11 1AA JYSKE BANK MANAGEMENT \n", + "4 2020-11-01 43.318963 None AD400 OFFSEC SERVICES \n", + "5 2020-11-01 43.323258 None AD500 SOIAM \n", + "6 2020-11-01 43.265980 None GX11 1AA LAB \n", + "7 2020-11-01 43.253290 None AD500 F.I.T.A \n", + "8 2020-11-01 42.851396 None AD500 P & C APARTAMENTS \n", + "9 2020-11-01 43.247379 None AD400 ME VACANCES \n", + "\n", + " AREANAME1 AREANAME2 AREANAME3 AREANAME4 BRANDNAME \\\n", + "0 MADRID VIZCAYA VILADECANS None None \n", + "1 MADRID BIZKAIA BARCELONA None None \n", + "2 BARCELONA VIZCAYA SANT PERE DE RIBES None None \n", + "3 MADRID VIZCAYA GETXO None None \n", + "4 TENERIFE GIPUZKOA SAN BARTOLOMÉ None None \n", + "5 LERIDA VIZCAYA PEDREGUER None None \n", + "6 MADRID BIZKAIA CARAVACA DE LA CRUZ None None \n", + "7 MADRID VIZCAYA MADRID None None \n", + "8 CASTILLA Y LEÓN ANDORRA IRUN None None \n", + "9 PAÍS VASCO BIZKAIA ALCALÁ LA REAL None None \n", + "\n", + " GEORESULT LONGITUDE SUB_CLASS AGENT_CODE TRADE_NAME \\\n", + "0 T20 2.164250 DEPARTMENT STORES None BRICOR \n", + "1 S8HPNTSCZA -1.639469 DEPARTMENT STORES None None \n", + "2 T18 -3.686817 DEPARTMENT STORES None EL CORTE INGLÉS \n", + "3 T19 -3.692750 DEPARTMENT STORES None HIPERCOR \n", + "4 T20 -3.656440 DEPARTMENT STORES None EL CORTE INGLÉS \n", + "5 T17 -3.806100 DEPARTMENT STORES None EL CORTE INGLÉS \n", + "6 T19 -2.669666 DEPARTMENT STORES None None \n", + "7 T16 2.127009 DEPARTMENT STORES None None \n", + "8 T16 -3.689160 DEPARTMENT STORES None EL CORTE INGLÉS \n", + "9 T20 2.127009 DEPARTMENT STORES None None \n", + "\n", + " YEAR_START STATUS_CODE BUSINESS_LINE CURRENCY_CODE EMPLOYEE_HERE \\\n", + "0 1994.0 None None None None \n", + "1 2018.0 None None None None \n", + "2 2008.0 None None None None \n", + "3 2006.0 None None None None \n", + "4 1988.0 None None None None \n", + "5 2020.0 None None None None \n", + "6 NaN None None None None \n", + "7 2016.0 None None None None \n", + "8 2000.0 None None None None \n", + "9 1999.0 None None None None \n", + "\n", + " EXCHANGE_NAME TICKER_SYMBOL EMPLOYEE_COUNT FAMILY_MEMBERS FRANCHISE_NAME \\\n", + "0 None None None 00000 None \n", + "1 None None None 00000 None \n", + "2 None None None 00000 None \n", + "3 None None None 00000 None \n", + "4 None None None 00000 None \n", + "5 None None None 00000 None \n", + "6 None None None 00000 None \n", + "7 None None None 00000 None \n", + "8 None None None None None \n", + "9 None None None None None \n", + "\n", + " HIERARCHY_CODE PARENT_ADDRESS PARENT_COUNTRY TRADE_DIVISION \\\n", + "0 00 None None DIVISION I. - SERVICES \n", + "1 00 None None DIVISION I. - SERVICES \n", + "2 00 None None DIVISION I. - SERVICES \n", + "3 00 None None DIVISION I. - SERVICES \n", + "4 00 None None DIVISION I. - SERVICES \n", + "5 00 None None DIVISION I. - SERVICES \n", + "6 00 None None DIVISION I. - SERVICES \n", + "7 00 None None DIVISION I. - SERVICES \n", + "8 00 None None DIVISION I. - SERVICES \n", + "9 00 None None DIVISION I. - SERVICES \n", + "\n", + " ADDRESSLASTLINE CONFIDENCE_CODE MAINADDRESSLINE \\\n", + "0 10869, TORRECILLA DE LOS ANGELES, CÁCERES LOW None \n", + "1 28911, LEGANES, MADRID LOW None \n", + "2 08301, MATARO, BARCELONA MEDIUM None \n", + "3 30009, MURCIA, MURCIA HIGH None \n", + "4 50180, UTEBO, ZARAGOZA LOW None \n", + "5 21006, HUELVA, HUELVA HIGH None \n", + "6 08026, BARCELONA, BARCELONA MEDIUM None \n", + "7 08030, BARCELONA, BARCELONA LOW None \n", + "8 29014, MALAGA, MÁLAGA HIGH None \n", + "9 41020, SEVILLA, SEVILLA LOW None \n", + "\n", + " PARENT_POSTCODE FORMATTEDADDRESS PARENT_AREANAME1 PARENT_AREANAME3 \\\n", + "0 None None MALAGA None \n", + "1 None None GUIPUZCOA None \n", + "2 None None MADRID None \n", + "3 None None MALAGA None \n", + "4 None None LERIDA None \n", + "5 None None SEVILLA None \n", + "6 None None BARCELONA None \n", + "7 None None None None \n", + "8 None None BARCELONA None \n", + "9 None None ALBACETE None \n", + "\n", + " SIC8_DESCRIPTION ALT_INDUSTRY_CODE LEGAL_STATUS_CODE \\\n", + "0 FRUIT AND VEGETABLE MARKETS None None \n", + "1 FRUIT AND VEGETABLE MARKETS None None \n", + "2 FRUIT AND VEGETABLE MARKETS None None \n", + "3 FRUIT AND VEGETABLE MARKETS None None \n", + "4 FRUIT AND VEGETABLE MARKETS None None \n", + "5 FRUIT AND VEGETABLE MARKETS None None \n", + "6 FRUIT AND VEGETABLE MARKETS None None \n", + "7 FRUIT AND VEGETABLE MARKETS None None \n", + "8 FRUIT AND VEGETABLE MARKETS None None \n", + "9 FRUIT AND VEGETABLE MARKETS None None \n", + "\n", + " SALES_VOLUME_LOCAL COUNTRY_ACCESS_CODE PARENT_BUSINESS_NAME \\\n", + "0 NaN None None \n", + "1 NaN None None \n", + "2 NaN None None \n", + "3 NaN None None \n", + "4 NaN None None \n", + "5 59118.0 None None \n", + "6 60384.0 None None \n", + "7 61505.0 None None \n", + "8 67464.0 None None \n", + "9 60587.0 None None \n", + "\n", + " SUBSIDIARY_INDICATOR PARENT_STREET_ADDRESS GLOBAL_ULTIMATE_ADDRESS \\\n", + "0 None None None \n", + "1 None None None \n", + "2 None None None \n", + "3 None None None \n", + "4 None None None \n", + "5 None None None \n", + "6 None None None \n", + "7 None None None \n", + "8 None None None \n", + "9 None None None \n", + "\n", + " GLOBAL_ULTIMATE_COUNTRY SALES_VOLUME_US_DOLLARS GLOBAL_ULTIMATE_POSTCODE \\\n", + "0 None None None \n", + "1 None None None \n", + "2 None None None \n", + "3 None None None \n", + "4 None None None \n", + "5 None None None \n", + "6 None None None \n", + "7 None None None \n", + "8 None None None \n", + "9 None None None \n", + "\n", + " DOMESTIC_ULTIMATE_ADDRESS GLOBAL_ULTIMATE_AREANAME1 \\\n", + "0 None None \n", + "1 None None \n", + "2 None None \n", + "3 None None \n", + "4 None None \n", + "5 None None \n", + "6 None None \n", + "7 None None \n", + "8 None None \n", + "9 None None \n", + "\n", + " GLOBAL_ULTIMATE_AREANAME3 GLOBAL_ULTIMATE_INDICATOR \\\n", + "0 None None \n", + "1 None None \n", + "2 None None \n", + "3 None None \n", + "4 None None \n", + "5 None None \n", + "6 None None \n", + "7 None None \n", + "8 None None \n", + "9 None None \n", + "\n", + " DOMESTIC_ULTIMATE_POSTCODE DOMESTIC_ULTIMATE_AREANAME1 \\\n", + "0 None None \n", + "1 None None \n", + "2 None None \n", + "3 None None \n", + "4 None None \n", + "5 None None \n", + "6 None None \n", + "7 None None \n", + "8 None None \n", + "9 None None \n", + "\n", + " DOMESTIC_ULTIMATE_AREANAME3 GLOBAL_ULTIMATE_BUSINESS_NAME \\\n", + "0 None None \n", + "1 None None \n", + "2 None None \n", + "3 None None \n", + "4 None None \n", + "5 None None \n", + "6 None None \n", + "7 None None \n", + "8 None None \n", + "9 None None \n", + "\n", + " GLOBAL_ULTIMATE_STREET_ADDRESS DOMESTIC_ULTIMATE_BUSINESS_NAME \\\n", + "0 None None \n", + "1 None None \n", + "2 None None \n", + "3 None None \n", + "4 None None \n", + "5 None None \n", + "6 None None \n", + "7 None None \n", + "8 None None \n", + "9 None None \n", + "\n", + " DOMESTIC_ULTIMATE_STREET_ADDRESS \n", + "0 CARRETERA DE CADIZ 206 \n", + "1 PASEO DE MIRAMON 185 \n", + "2 PASEO CASTELLANA, 120 - IZ BJ \n", + "3 AVENIDA DEL CARMEN (ED EL FARO), BL 3 LOC \n", + "4 CARRETERA PALAU (KM 1) \n", + "5 CALLE MIGUEL VAZQUEZ DELGADO 71 \n", + "6 CALLE ANTIC CAMI DE XIMELIS 19 \n", + "7 AVENIDA GENERAL PERON (ED MASTER'S I), 38 - PI... \n", + "8 CALLE BRUC DEL MIG 8 \n", + "9 CALLE MAYOR, 32 - 1 A " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pois_ds.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's make sure the dataset covers our area of interest." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 674 + }, + "id": "LtfCUHlIsJFu", + "outputId": "72c3c8f8-72cf-40f2-aee3-c2d8cfa51b9d" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                          \n", + "
                                          \n", + "
                                          \n", + " \n", + " \n", + "
                                          \n", + "
                                          \n", + "
                                          \n", + "\n", + " \n", + "\n", + "
                                          \n", + "
                                          \n", + " :\n", + "
                                          \n", + " \n", + " \n", + "
                                          \n", + "
                                          \n", + "\n", + "
                                          \n", + " StackTrace\n", + "
                                            \n", + "
                                            \n", + "
                                            \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pois_ds.geom_coverage()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "BkwHqIdcuJXK" + }, + "source": [ + "\n", + "#### Download a small sample of a dataset applying spatial filtering to explore it further\n", + "\n", + "We're only interested in tourism related POI's in Spain. Since we don't know exactly which variable to use in order to filter tourism POI's, we'll first download a small sample of the dataset to explore it. We'll filter by a bounding box covering Madrid downtown to make sure we have a good variety of POI's.\n", + "\n", + "We can use SQL queries to specify the bounding box or polygon we are interested in.\n", + "- If you'd like to filter by bounding box, you need to use the SQL geography function `ST_IntersectsBox`.\n", + "- If you'd like to filter by polygon, you need to use the SQL geography function `ST_Intersects`.\n", + "\n", + "In order to get the bounding box of interest we'll use [bboxfinder](https://bboxfinder.com)." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 376 + }, + "id": "hbce2yN8uNXZ", + "outputId": "5bf355a4-45e1-4a39-a360-374e35e3ca07" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                            \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                            NAMEgeoiddo_dateBRANDNAMEPB_IDTRADE_NAMEFRANCHISE_NAMEISO3AREANAME4AREANAME3AREANAME2AREANAME1STABBPOSTCODEFORMATTEDADDRESSMAINADDRESSLINEADDRESSLASTLINELONGITUDELATITUDEGEORESULTCONFIDENCE_CODECOUNTRY_ACCESS_CODETEL_NUMFAXNUMEMAILHTTPOPEN_24HBUSINESS_LINESIC1SIC2SIC8SIC8_DESCRIPTIONALT_INDUSTRY_CODEMICODETRADE_DIVISIONGROUPCLASSSUB_CLASSEMPLOYEE_HEREEMPLOYEE_COUNTYEAR_STARTSALES_VOLUME_LOCALSALES_VOLUME_US_DOLLARSCURRENCY_CODEAGENT_CODELEGAL_STATUS_CODESTATUS_CODESUBSIDIARY_INDICATORPARENT_BUSINESS_NAMEPARENT_ADDRESSPARENT_STREET_ADDRESSPARENT_AREANAME3PARENT_AREANAME1PARENT_COUNTRYPARENT_POSTCODEDOMESTIC_ULTIMATE_BUSINESS_NAMEDOMESTIC_ULTIMATE_ADDRESSDOMESTIC_ULTIMATE_STREET_ADDRESSDOMESTIC_ULTIMATE_AREANAME3DOMESTIC_ULTIMATE_AREANAME1DOMESTIC_ULTIMATE_POSTCODEGLOBAL_ULTIMATE_INDICATORGLOBAL_ULTIMATE_BUSINESS_NAMEGLOBAL_ULTIMATE_ADDRESSGLOBAL_ULTIMATE_STREET_ADDRESSGLOBAL_ULTIMATE_AREANAME3GLOBAL_ULTIMATE_AREANAME1GLOBAL_ULTIMATE_COUNTRYGLOBAL_ULTIMATE_POSTCODEFAMILY_MEMBERSHIERARCHY_CODETICKER_SYMBOLEXCHANGE_NAMEgeom
                                            0100 MONTADITOS2173220473#-3.70582#40.4162019-12-01NaN2173220473100 MONTADITOSNaNESPNaNMADRIDMADRIDCOMUNIDAD DE MADRIDMD28012.0CALLE POSTAS 12, 28012, MADRID, MADRIDCALLE POSTAS 1228012, MADRID, MADRID-3.70582040.416000S8HPNTSCZAHIGHNaN915 23 11 40913 51 90 03ATTCLIENTE@GRUPORESTALIA.COMSPAIN.100MONTADITOS.COMNaNNaNNaNNaNNaNTAPAS RESTAURANTSNaN10021076DIVISION G. - RETAIL TRADEEATING AND DRINKING PLACESEATING PLACES/RESTAURANTSEATING PLACES/RESTAURANTSNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-3.70582 40.41600)
                                            11005 DISTRIBUCION SL1277167953#-3.7055463461631111#40.4202951923090132019-12-01NaN1277167953NaNNaNESPNaNMADRIDMADRIDMADRIDMD28013.0CALLE GRAN VIA, 28013, MADRID, MADRIDCALLE GRAN VIA28013, MADRID, MADRID-3.70554640.420295S4-PNTSCZAMEDIUM34.0915 22 16 12NaNNaNNaNNaNMETALS SERVICE CENTERS AND OFFICES5051.0NaN50510000.0METALS SERVICE CENTERS AND OFFICES350.010035051DIVISION F. - WHOLESALE TRADEWHOLESALE TRADE - DURABLE GOODSMETALS AND MINERALS, EXCEPT PETROLEUMMETALS SERVICE CENTERS AND OFFICES1.01.02004.0149127.0170724.05080.0G3.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaN0.00.0NaNNaNPOINT (-3.70555 40.42030)
                                            215K ANGELS AND INVESTORS SL.1369422585#-3.70587#40.420482019-12-01NaN1369422585NaNNaNESPMADRIDMADRIDMADRIDMADRIDMD28013.0CALLE GRAN VIA 46, 28013, MADRID, MADRIDCALLE GRAN VIA 4628013, MADRID, MADRID-3.70587040.420480S8HPNTSCZAHIGH34.0NaNNaNNaNWWW.15KANGELS.COMNaNSECURITY AND COMMODITY SERVICES, NEC, NSK6289.0NaN62890000.0SECURITY AND COMMODITY SERVICE350.010010324DIVISION H. - FINANCE, INSURANCE, AND REAL ESTATESECURITY AND COMMODITY BROKERS, DEALERS, EXCHA...SERVICES ALLIED WITH THE EXCHANGE OF SECURITIE...SECURITY AND COMMODITY SERVICE2.02.02017.054756.061000.05080.0G3.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaN0.00.0NaNNaNPOINT (-3.70587 40.42048)
                                            31610 PLAZA DEL CARMEN 5 SL.1289731188#-3.7028#40.418922019-12-01NaN1289731188NaNNaNESPMADRIDMADRIDMADRIDMADRIDMD28013.0PLAZA CARMEN 5, 28013, MADRID, MADRIDPLAZA CARMEN 528013, MADRID, MADRID-3.70280040.418920S8HPNTSCZAHIGH34.0NaNNaNNaNNaNNaNEATING PLACES5812.0NaN58120000.0EATING PLACES350.010020100DIVISION G. - RETAIL TRADEEATING AND DRINKING PLACESEATING PLACES/RESTAURANTSEATING PLACES/RESTAURANTS - UNSPECIFIED35.035.02016.02766588.03167262.05080.0G3.00.00.0PUZZLE DE RESTAURANTES SL.CALLE BALLESTA, 32 - LOC DR, 28004, MADRID, MA...CALLE BALLESTA, 32 - LOC DRMADRIDMADRIDSPAIN28004PUZZLE DE RESTAURANTES SL.CALLE BALLESTA, 32 - LOC DR, 28004, MADRID, MA...CALLE BALLESTA, 32 - LOC DRMADRIDMADRID28004.0NPUZZLE DE RESTAURANTES SL.CALLE BALLESTA, 32 - LOC DR, 28004, MADRID, MA...CALLE BALLESTA, 32 - LOC DRMADRIDMADRIDSPAIN280040.00.0NaNNaNPOINT (-3.70280 40.41892)
                                            41ST WANDA SERVICE SERVICIOS INTEGRADOS DE CONT...1277282874#-3.70641#40.419562019-12-01NaN1277282874NaNNaNESPMADRIDMADRIDMADRIDMADRIDMD28013.0CALLE PRECIADOS, 29 - 5 A, 28013, MADRID, MADRIDCALLE PRECIADOS, 29 - 5 A28013, MADRID, MADRID-3.70641040.419560S8HPNTSCZAHIGH34.0NaNNaNNaNNaNNaNBUSINESS SERVICES, NEC, NSK7389.0NaN73890900.0FINANCIAL SERVICES350.010905900DIVISION I. - SERVICESBUSINESS SERVICESMISCELLANEOUS BUSINESS SERVICESBUSINESS SERVICES, NEC0.01.02003.058097.068508.05080.0G3.01.00.01ST WANDA SERVICE SERVICIOS INTEGRADOS DE CONT...CALLE PRECIADOS, 29 - 5 A, 28013, MADRID, MADR...CALLE PRECIADOS, 29 - 5 AMADRIDMADRIDSPAIN280131ST WANDA SERVICE SERVICIOS INTEGRADOS DE CONT...CALLE PRECIADOS, 29 - 5 A, 28013, MADRID, MADRIDCALLE PRECIADOS, 29 - 5 AMADRIDMADRID28013.0Y1ST WANDA SERVICE SERVICIOS INTEGRADOS DE CONT...CALLE PRECIADOS, 29 - 5 A, 28013, MADRID, MADR...CALLE PRECIADOS, 29 - 5 AMADRIDMADRIDSPAIN280132.01.0NaNNaNPOINT (-3.70641 40.41956)
                                            \n", + "
                                            " + ], + "text/plain": [ + " NAME \\\n", + "0 100 MONTADITOS \n", + "1 1005 DISTRIBUCION SL \n", + "2 15K ANGELS AND INVESTORS SL. \n", + "3 1610 PLAZA DEL CARMEN 5 SL. \n", + "4 1ST WANDA SERVICE SERVICIOS INTEGRADOS DE CONT... \n", + "\n", + " geoid do_date BRANDNAME \\\n", + "0 2173220473#-3.70582#40.416 2019-12-01 NaN \n", + "1 1277167953#-3.7055463461631111#40.420295192309013 2019-12-01 NaN \n", + "2 1369422585#-3.70587#40.42048 2019-12-01 NaN \n", + "3 1289731188#-3.7028#40.41892 2019-12-01 NaN \n", + "4 1277282874#-3.70641#40.41956 2019-12-01 NaN \n", + "\n", + " PB_ID TRADE_NAME FRANCHISE_NAME ISO3 AREANAME4 AREANAME3 \\\n", + "0 2173220473 100 MONTADITOS NaN ESP NaN MADRID \n", + "1 1277167953 NaN NaN ESP NaN MADRID \n", + "2 1369422585 NaN NaN ESP MADRID MADRID \n", + "3 1289731188 NaN NaN ESP MADRID MADRID \n", + "4 1277282874 NaN NaN ESP MADRID MADRID \n", + "\n", + " AREANAME2 AREANAME1 STABB POSTCODE \\\n", + "0 MADRID COMUNIDAD DE MADRID MD 28012.0 \n", + "1 MADRID MADRID MD 28013.0 \n", + "2 MADRID MADRID MD 28013.0 \n", + "3 MADRID MADRID MD 28013.0 \n", + "4 MADRID MADRID MD 28013.0 \n", + "\n", + " FORMATTEDADDRESS \\\n", + "0 CALLE POSTAS 12, 28012, MADRID, MADRID \n", + "1 CALLE GRAN VIA, 28013, MADRID, MADRID \n", + "2 CALLE GRAN VIA 46, 28013, MADRID, MADRID \n", + "3 PLAZA CARMEN 5, 28013, MADRID, MADRID \n", + "4 CALLE PRECIADOS, 29 - 5 A, 28013, MADRID, MADRID \n", + "\n", + " MAINADDRESSLINE ADDRESSLASTLINE LONGITUDE LATITUDE \\\n", + "0 CALLE POSTAS 12 28012, MADRID, MADRID -3.705820 40.416000 \n", + "1 CALLE GRAN VIA 28013, MADRID, MADRID -3.705546 40.420295 \n", + "2 CALLE GRAN VIA 46 28013, MADRID, MADRID -3.705870 40.420480 \n", + "3 PLAZA CARMEN 5 28013, MADRID, MADRID -3.702800 40.418920 \n", + "4 CALLE PRECIADOS, 29 - 5 A 28013, MADRID, MADRID -3.706410 40.419560 \n", + "\n", + " GEORESULT CONFIDENCE_CODE COUNTRY_ACCESS_CODE TEL_NUM \\\n", + "0 S8HPNTSCZA HIGH NaN 915 23 11 40 \n", + "1 S4-PNTSCZA MEDIUM 34.0 915 22 16 12 \n", + "2 S8HPNTSCZA HIGH 34.0 NaN \n", + "3 S8HPNTSCZA HIGH 34.0 NaN \n", + "4 S8HPNTSCZA HIGH 34.0 NaN \n", + "\n", + " FAXNUM EMAIL HTTP \\\n", + "0 913 51 90 03 ATTCLIENTE@GRUPORESTALIA.COM SPAIN.100MONTADITOS.COM \n", + "1 NaN NaN NaN \n", + "2 NaN NaN WWW.15KANGELS.COM \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " OPEN_24H BUSINESS_LINE SIC1 SIC2 \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN METALS SERVICE CENTERS AND OFFICES 5051.0 NaN \n", + "2 NaN SECURITY AND COMMODITY SERVICES, NEC, NSK 6289.0 NaN \n", + "3 NaN EATING PLACES 5812.0 NaN \n", + "4 NaN BUSINESS SERVICES, NEC, NSK 7389.0 NaN \n", + "\n", + " SIC8 SIC8_DESCRIPTION ALT_INDUSTRY_CODE \\\n", + "0 NaN TAPAS RESTAURANTS NaN \n", + "1 50510000.0 METALS SERVICE CENTERS AND OFFICES 350.0 \n", + "2 62890000.0 SECURITY AND COMMODITY SERVICE 350.0 \n", + "3 58120000.0 EATING PLACES 350.0 \n", + "4 73890900.0 FINANCIAL SERVICES 350.0 \n", + "\n", + " MICODE TRADE_DIVISION \\\n", + "0 10021076 DIVISION G. - RETAIL TRADE \n", + "1 10035051 DIVISION F. - WHOLESALE TRADE \n", + "2 10010324 DIVISION H. - FINANCE, INSURANCE, AND REAL ESTATE \n", + "3 10020100 DIVISION G. - RETAIL TRADE \n", + "4 10905900 DIVISION I. - SERVICES \n", + "\n", + " GROUP \\\n", + "0 EATING AND DRINKING PLACES \n", + "1 WHOLESALE TRADE - DURABLE GOODS \n", + "2 SECURITY AND COMMODITY BROKERS, DEALERS, EXCHA... \n", + "3 EATING AND DRINKING PLACES \n", + "4 BUSINESS SERVICES \n", + "\n", + " CLASS \\\n", + "0 EATING PLACES/RESTAURANTS \n", + "1 METALS AND MINERALS, EXCEPT PETROLEUM \n", + "2 SERVICES ALLIED WITH THE EXCHANGE OF SECURITIE... \n", + "3 EATING PLACES/RESTAURANTS \n", + "4 MISCELLANEOUS BUSINESS SERVICES \n", + "\n", + " SUB_CLASS EMPLOYEE_HERE EMPLOYEE_COUNT \\\n", + "0 EATING PLACES/RESTAURANTS NaN NaN \n", + "1 METALS SERVICE CENTERS AND OFFICES 1.0 1.0 \n", + "2 SECURITY AND COMMODITY SERVICE 2.0 2.0 \n", + "3 EATING PLACES/RESTAURANTS - UNSPECIFIED 35.0 35.0 \n", + "4 BUSINESS SERVICES, NEC 0.0 1.0 \n", + "\n", + " YEAR_START SALES_VOLUME_LOCAL SALES_VOLUME_US_DOLLARS CURRENCY_CODE \\\n", + "0 NaN NaN NaN NaN \n", + "1 2004.0 149127.0 170724.0 5080.0 \n", + "2 2017.0 54756.0 61000.0 5080.0 \n", + "3 2016.0 2766588.0 3167262.0 5080.0 \n", + "4 2003.0 58097.0 68508.0 5080.0 \n", + "\n", + " AGENT_CODE LEGAL_STATUS_CODE STATUS_CODE SUBSIDIARY_INDICATOR \\\n", + "0 NaN NaN NaN NaN \n", + "1 G 3.0 0.0 0.0 \n", + "2 G 3.0 0.0 0.0 \n", + "3 G 3.0 0.0 0.0 \n", + "4 G 3.0 1.0 0.0 \n", + "\n", + " PARENT_BUSINESS_NAME \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 PUZZLE DE RESTAURANTES SL. \n", + "4 1ST WANDA SERVICE SERVICIOS INTEGRADOS DE CONT... \n", + "\n", + " PARENT_ADDRESS \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 CALLE BALLESTA, 32 - LOC DR, 28004, MADRID, MA... \n", + "4 CALLE PRECIADOS, 29 - 5 A, 28013, MADRID, MADR... \n", + "\n", + " PARENT_STREET_ADDRESS PARENT_AREANAME3 PARENT_AREANAME1 \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 CALLE BALLESTA, 32 - LOC DR MADRID MADRID \n", + "4 CALLE PRECIADOS, 29 - 5 A MADRID MADRID \n", + "\n", + " PARENT_COUNTRY PARENT_POSTCODE \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 SPAIN 28004 \n", + "4 SPAIN 28013 \n", + "\n", + " DOMESTIC_ULTIMATE_BUSINESS_NAME \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 PUZZLE DE RESTAURANTES SL. \n", + "4 1ST WANDA SERVICE SERVICIOS INTEGRADOS DE CONT... \n", + "\n", + " DOMESTIC_ULTIMATE_ADDRESS \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 CALLE BALLESTA, 32 - LOC DR, 28004, MADRID, MA... \n", + "4 CALLE PRECIADOS, 29 - 5 A, 28013, MADRID, MADRID \n", + "\n", + " DOMESTIC_ULTIMATE_STREET_ADDRESS DOMESTIC_ULTIMATE_AREANAME3 \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 CALLE BALLESTA, 32 - LOC DR MADRID \n", + "4 CALLE PRECIADOS, 29 - 5 A MADRID \n", + "\n", + " DOMESTIC_ULTIMATE_AREANAME1 DOMESTIC_ULTIMATE_POSTCODE \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 MADRID 28004.0 \n", + "4 MADRID 28013.0 \n", + "\n", + " GLOBAL_ULTIMATE_INDICATOR \\\n", + "0 NaN \n", + "1 N \n", + "2 N \n", + "3 N \n", + "4 Y \n", + "\n", + " GLOBAL_ULTIMATE_BUSINESS_NAME \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 PUZZLE DE RESTAURANTES SL. \n", + "4 1ST WANDA SERVICE SERVICIOS INTEGRADOS DE CONT... \n", + "\n", + " GLOBAL_ULTIMATE_ADDRESS \\\n", + "0 NaN \n", + "1 NaN \n", + "2 NaN \n", + "3 CALLE BALLESTA, 32 - LOC DR, 28004, MADRID, MA... \n", + "4 CALLE PRECIADOS, 29 - 5 A, 28013, MADRID, MADR... \n", + "\n", + " GLOBAL_ULTIMATE_STREET_ADDRESS GLOBAL_ULTIMATE_AREANAME3 \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 CALLE BALLESTA, 32 - LOC DR MADRID \n", + "4 CALLE PRECIADOS, 29 - 5 A MADRID \n", + "\n", + " GLOBAL_ULTIMATE_AREANAME1 GLOBAL_ULTIMATE_COUNTRY GLOBAL_ULTIMATE_POSTCODE \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 MADRID SPAIN 28004 \n", + "4 MADRID SPAIN 28013 \n", + "\n", + " FAMILY_MEMBERS HIERARCHY_CODE TICKER_SYMBOL EXCHANGE_NAME \\\n", + "0 NaN NaN NaN NaN \n", + "1 0.0 0.0 NaN NaN \n", + "2 0.0 0.0 NaN NaN \n", + "3 0.0 0.0 NaN NaN \n", + "4 2.0 1.0 NaN NaN \n", + "\n", + " geom \n", + "0 POINT (-3.70582 40.41600) \n", + "1 POINT (-3.70555 40.42030) \n", + "2 POINT (-3.70587 40.42048) \n", + "3 POINT (-3.70280 40.41892) \n", + "4 POINT (-3.70641 40.41956) " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sql_query = \"SELECT * except(do_label) FROM $dataset$ WHERE ST_IntersectsBox(geom, -3.707628,40.415947,-3.700891,40.421403)\"\n", + "sample_df = pois_ds.to_dataframe(sql_query=sql_query)\n", + "\n", + "#To keep only most updated POI's (based on the do_date)\n", + "sample_df = sample_df.sort_values(['NAME', 'do_date']).groupby('NAME').first().reset_index()\n", + "\n", + "sample_df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After some exploration of the DataFrame, we find out `TRADE_DIVISION` is our variable. There is a category called `DIVISION L. - TOURISM`." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 265 + }, + "id": "ByHc8RilgDrk", + "outputId": "0c448b77-a030-47f6-ca2f-8919228aa7ec" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "DIVISION I. - SERVICES 1769\n", + "DIVISION G. - RETAIL TRADE 1370\n", + "DIVISION E. - TRANSPORTATION AND PUBLIC UTILITIES 724\n", + "DIVISION H. - FINANCE, INSURANCE, AND REAL ESTATE 613\n", + "DIVISION F. - WHOLESALE TRADE 205\n", + "DIVISION D. - MANUFACTURING 198\n", + "DIVISION C. - CONSTRUCTION 67\n", + "DIVISION J. - PUBLIC ADMINISTRATION 25\n", + "DIVISION L. - TOURISM 14\n", + "DIVISION A. - AGRICULTURE, FORESTRY, AND FISHING 10\n", + "DIVISION M. - SPORTS 8\n", + "Name: TRADE_DIVISION, dtype: int64" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample_df['TRADE_DIVISION'].value_counts()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Visualize the data sample" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 674 + }, + "id": "D1osAfHTFhJY", + "outputId": "debd318b-2994-4901-c9b0-b436f5be72a2" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                            \n", + "
                                            \n", + "
                                            \n", + " \n", + " \n", + "
                                            \n", + "
                                            \n", + " \n", + "\n", + "
                                            \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                            \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                            \n", + " \n", + " \n", + "
                                            \n", + "
                                            \n", + "
                                            \n", + "
                                            \n", + " \n", + "
                                            \n", + "
                                            \n", + "
                                            \n", + "\n", + " \n", + "\n", + "
                                            \n", + "
                                            \n", + " :\n", + "
                                            \n", + " \n", + " \n", + "
                                            \n", + "
                                            \n", + "\n", + "
                                            \n", + " StackTrace\n", + "
                                              \n", + "
                                              \n", + "
                                              \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Map(Layer(sample_df, \n", + " geom_col='geom',\n", + " style=color_category_style('TRADE_DIVISION', size=3, stroke_width=0.2), \n", + " encode_data=False))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "6rK2ORv0gVai" + }, + "source": [ + "\n", + "#### Download dataset filtering by column value and bounding box\n", + "\n", + "Once we know we can use column `TRADE_DIVISION` to filter tourism POIs, we'll add it to our query with a larger bounding box covering our area of interest." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 274 + }, + "id": "JJGGHvuggNs_", + "outputId": "f8be6686-d62a-4bc3-d561-801a1337cd5b" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                              \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                              NAMEgeoiddo_dateBRANDNAMEPB_IDTRADE_NAMEFRANCHISE_NAMEISO3AREANAME4AREANAME3AREANAME2AREANAME1STABBPOSTCODEFORMATTEDADDRESSMAINADDRESSLINEADDRESSLASTLINELONGITUDELATITUDEGEORESULTCONFIDENCE_CODECOUNTRY_ACCESS_CODETEL_NUMFAXNUMEMAILHTTPOPEN_24HBUSINESS_LINESIC1SIC2SIC8SIC8_DESCRIPTIONALT_INDUSTRY_CODEMICODETRADE_DIVISIONGROUPCLASSSUB_CLASSEMPLOYEE_HEREEMPLOYEE_COUNTYEAR_STARTSALES_VOLUME_LOCALSALES_VOLUME_US_DOLLARSCURRENCY_CODEAGENT_CODELEGAL_STATUS_CODESTATUS_CODESUBSIDIARY_INDICATORPARENT_BUSINESS_NAMEPARENT_ADDRESSPARENT_STREET_ADDRESSPARENT_AREANAME3PARENT_AREANAME1PARENT_COUNTRYPARENT_POSTCODEDOMESTIC_ULTIMATE_BUSINESS_NAMEDOMESTIC_ULTIMATE_ADDRESSDOMESTIC_ULTIMATE_STREET_ADDRESSDOMESTIC_ULTIMATE_AREANAME3DOMESTIC_ULTIMATE_AREANAME1DOMESTIC_ULTIMATE_POSTCODEGLOBAL_ULTIMATE_INDICATORGLOBAL_ULTIMATE_BUSINESS_NAMEGLOBAL_ULTIMATE_ADDRESSGLOBAL_ULTIMATE_STREET_ADDRESSGLOBAL_ULTIMATE_AREANAME3GLOBAL_ULTIMATE_AREANAME1GLOBAL_ULTIMATE_COUNTRYGLOBAL_ULTIMATE_POSTCODEFAMILY_MEMBERSHIERARCHY_CODETICKER_SYMBOLEXCHANGE_NAMEgeom
                                              0ARCO DE CUCHILLEROS2033946578#-3.708101#40.41479832019-12-01NaN2033946578NaNNaNESPNaNMADRIDMADRIDCOMUNIDAD DE MADRIDMD28012.0CALLE DE LOS CUCHILLEROS, 28012, MADRID, MADRIDCALLE DE LOS CUCHILLEROS28012, MADRID, MADRID-3.70810140.414798T20LOWNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNARCHNaN10110112DIVISION L. - TOURISMTOURISMIMPORTANT TOURIST ATTRACTIONARCHNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-3.70810 40.41480)
                                              1ATENEO DE MADRID2033838561#-3.6982188#40.41503082019-12-01NaN2033838561NaNNaNESPNaNMADRIDMADRIDCOMUNIDAD DE MADRIDMD28014.0CALLE DEL PRADO, 28014, MADRID, MADRIDCALLE DEL PRADO28014, MADRID, MADRID-3.69821940.415031T20LOWNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNTOURIST BUILDINGNaN10110200DIVISION L. - TOURISMTOURISMIMPORTANT TOURIST ATTRACTIONTOURIST BUILDINGNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-3.69822 40.41503)
                                              2BANCO DE ESPAÑA2022507776#-3.6939777#40.41897372019-12-01NaN2022507776NaNNaNESPNaNMADRIDMADRIDCOMUNIDAD DE MADRIDMDNaNMADRID, MADRIDNaNMADRID, MADRID-3.69397840.418974T1HIGHNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNTOURIST BUILDINGNaN10110200DIVISION L. - TOURISMTOURISMIMPORTANT TOURIST ATTRACTIONTOURIST BUILDINGNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-3.69398 40.41897)
                                              3BASÍLICA DE NUESTRO PADRE JESÚS DE MEDINACELI2033893910#-3.6957089#40.41419562019-12-01NaN2033893910NaNNaNESPNaNMADRIDMADRIDCOMUNIDAD DE MADRIDMD28014.0PLAZA DE JESÚS, 28014, MADRID, MADRIDPLAZA DE JESÚS28014, MADRID, MADRID-3.69570940.414196T20LOWNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNTOURIST BUILDINGNaN10110200DIVISION L. - TOURISMTOURISMIMPORTANT TOURIST ATTRACTIONTOURIST BUILDINGNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-3.69571 40.41420)
                                              4BIBLIOTECA NACIONAL DE ESPAÑA2033804926#-3.6906236#40.42385262019-12-01NaN2033804926NaNNaNESPNaNMADRIDMADRIDCOMUNIDAD DE MADRIDMD28001.0PASEO DE RECOLETOS, 28001, MADRID, MADRIDPASEO DE RECOLETOS28001, MADRID, MADRID-3.69062440.423853T20LOWNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNTOURIST BUILDINGNaN10110200DIVISION L. - TOURISMTOURISMIMPORTANT TOURIST ATTRACTIONTOURIST BUILDINGNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-3.69062 40.42385)
                                              \n", + "
                                              " + ], + "text/plain": [ + " NAME \\\n", + "0 ARCO DE CUCHILLEROS \n", + "1 ATENEO DE MADRID \n", + "2 BANCO DE ESPAÑA \n", + "3 BASÍLICA DE NUESTRO PADRE JESÚS DE MEDINACELI \n", + "4 BIBLIOTECA NACIONAL DE ESPAÑA \n", + "\n", + " geoid do_date BRANDNAME PB_ID \\\n", + "0 2033946578#-3.708101#40.4147983 2019-12-01 NaN 2033946578 \n", + "1 2033838561#-3.6982188#40.4150308 2019-12-01 NaN 2033838561 \n", + "2 2022507776#-3.6939777#40.4189737 2019-12-01 NaN 2022507776 \n", + "3 2033893910#-3.6957089#40.4141956 2019-12-01 NaN 2033893910 \n", + "4 2033804926#-3.6906236#40.4238526 2019-12-01 NaN 2033804926 \n", + "\n", + " TRADE_NAME FRANCHISE_NAME ISO3 AREANAME4 AREANAME3 AREANAME2 \\\n", + "0 NaN NaN ESP NaN MADRID MADRID \n", + "1 NaN NaN ESP NaN MADRID MADRID \n", + "2 NaN NaN ESP NaN MADRID MADRID \n", + "3 NaN NaN ESP NaN MADRID MADRID \n", + "4 NaN NaN ESP NaN MADRID MADRID \n", + "\n", + " AREANAME1 STABB POSTCODE \\\n", + "0 COMUNIDAD DE MADRID MD 28012.0 \n", + "1 COMUNIDAD DE MADRID MD 28014.0 \n", + "2 COMUNIDAD DE MADRID MD NaN \n", + "3 COMUNIDAD DE MADRID MD 28014.0 \n", + "4 COMUNIDAD DE MADRID MD 28001.0 \n", + "\n", + " FORMATTEDADDRESS MAINADDRESSLINE \\\n", + "0 CALLE DE LOS CUCHILLEROS, 28012, MADRID, MADRID CALLE DE LOS CUCHILLEROS \n", + "1 CALLE DEL PRADO, 28014, MADRID, MADRID CALLE DEL PRADO \n", + "2 MADRID, MADRID NaN \n", + "3 PLAZA DE JESÚS, 28014, MADRID, MADRID PLAZA DE JESÚS \n", + "4 PASEO DE RECOLETOS, 28001, MADRID, MADRID PASEO DE RECOLETOS \n", + "\n", + " ADDRESSLASTLINE LONGITUDE LATITUDE GEORESULT CONFIDENCE_CODE \\\n", + "0 28012, MADRID, MADRID -3.708101 40.414798 T20 LOW \n", + "1 28014, MADRID, MADRID -3.698219 40.415031 T20 LOW \n", + "2 MADRID, MADRID -3.693978 40.418974 T1 HIGH \n", + "3 28014, MADRID, MADRID -3.695709 40.414196 T20 LOW \n", + "4 28001, MADRID, MADRID -3.690624 40.423853 T20 LOW \n", + "\n", + " COUNTRY_ACCESS_CODE TEL_NUM FAXNUM EMAIL HTTP OPEN_24H BUSINESS_LINE \\\n", + "0 NaN NaN NaN NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN NaN NaN NaN \n", + "\n", + " SIC1 SIC2 SIC8 SIC8_DESCRIPTION ALT_INDUSTRY_CODE MICODE \\\n", + "0 NaN NaN NaN ARCH NaN 10110112 \n", + "1 NaN NaN NaN TOURIST BUILDING NaN 10110200 \n", + "2 NaN NaN NaN TOURIST BUILDING NaN 10110200 \n", + "3 NaN NaN NaN TOURIST BUILDING NaN 10110200 \n", + "4 NaN NaN NaN TOURIST BUILDING NaN 10110200 \n", + "\n", + " TRADE_DIVISION GROUP CLASS \\\n", + "0 DIVISION L. - TOURISM TOURISM IMPORTANT TOURIST ATTRACTION \n", + "1 DIVISION L. - TOURISM TOURISM IMPORTANT TOURIST ATTRACTION \n", + "2 DIVISION L. - TOURISM TOURISM IMPORTANT TOURIST ATTRACTION \n", + "3 DIVISION L. - TOURISM TOURISM IMPORTANT TOURIST ATTRACTION \n", + "4 DIVISION L. - TOURISM TOURISM IMPORTANT TOURIST ATTRACTION \n", + "\n", + " SUB_CLASS EMPLOYEE_HERE EMPLOYEE_COUNT YEAR_START \\\n", + "0 ARCH NaN NaN NaN \n", + "1 TOURIST BUILDING NaN NaN NaN \n", + "2 TOURIST BUILDING NaN NaN NaN \n", + "3 TOURIST BUILDING NaN NaN NaN \n", + "4 TOURIST BUILDING NaN NaN NaN \n", + "\n", + " SALES_VOLUME_LOCAL SALES_VOLUME_US_DOLLARS CURRENCY_CODE AGENT_CODE \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " LEGAL_STATUS_CODE STATUS_CODE SUBSIDIARY_INDICATOR PARENT_BUSINESS_NAME \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " PARENT_ADDRESS PARENT_STREET_ADDRESS PARENT_AREANAME3 PARENT_AREANAME1 \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " PARENT_COUNTRY PARENT_POSTCODE DOMESTIC_ULTIMATE_BUSINESS_NAME \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " DOMESTIC_ULTIMATE_ADDRESS DOMESTIC_ULTIMATE_STREET_ADDRESS \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " DOMESTIC_ULTIMATE_AREANAME3 DOMESTIC_ULTIMATE_AREANAME1 \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " DOMESTIC_ULTIMATE_POSTCODE GLOBAL_ULTIMATE_INDICATOR \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " GLOBAL_ULTIMATE_BUSINESS_NAME GLOBAL_ULTIMATE_ADDRESS \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " GLOBAL_ULTIMATE_STREET_ADDRESS GLOBAL_ULTIMATE_AREANAME3 \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " GLOBAL_ULTIMATE_AREANAME1 GLOBAL_ULTIMATE_COUNTRY \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " GLOBAL_ULTIMATE_POSTCODE FAMILY_MEMBERS HIERARCHY_CODE TICKER_SYMBOL \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " EXCHANGE_NAME geom \n", + "0 NaN POINT (-3.70810 40.41480) \n", + "1 NaN POINT (-3.69822 40.41503) \n", + "2 NaN POINT (-3.69398 40.41897) \n", + "3 NaN POINT (-3.69571 40.41420) \n", + "4 NaN POINT (-3.69062 40.42385) " + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sql_query = \"\"\"\n", + " SELECT * except(do_label) FROM $dataset$ \n", + " WHERE TRADE_DIVISION = 'DIVISION L. - TOURISM' \n", + " AND ST_IntersectsBox(geom, -3.716398,40.407437,-3.690477,40.425277)\n", + "\"\"\"\n", + "tourism_pois = pois_ds.to_dataframe(sql_query=sql_query)\n", + "\n", + "#To keep only most updated POIs (based on the do_date)\n", + "tourism_pois = tourism_pois.sort_values(['NAME', 'do_date']).groupby('NAME').first().reset_index()\n", + "\n", + "tourism_pois.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can classify the tourism POI's using the variable `SUB_CLASS`." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 176 + }, + "id": "tzJj21dQo9Kv", + "outputId": "b67bbcb9-4f85-411b-c5ab-efdd3811f3a6" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "TOURIST BUILDING 66\n", + "MONUMENT 20\n", + "IMPORTANT TOURIST ATTRACTION -UNSPECIFIED 16\n", + "SCENIC, PANORAMIC VIEW 4\n", + "STATUE 2\n", + "TOWER 2\n", + "IMPORTANT TOURIST ATTRACTION 2\n", + "MEMORIAL 1\n", + "ARCH 1\n", + "Name: SUB_CLASS, dtype: int64" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tourism_pois['SUB_CLASS'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 674 + }, + "id": "2IEOMMsZkUzY", + "outputId": "3f7b6f27-03e8-46a5-cc51-25613b0ddbbe" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                              \n", + "
                                              \n", + "
                                              \n", + " \n", + " \n", + "
                                              \n", + "
                                              \n", + " \n", + "\n", + "
                                              \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                              \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                              \n", + " \n", + " \n", + "
                                              \n", + "
                                              \n", + "
                                              \n", + "
                                              \n", + " \n", + "
                                              \n", + "
                                              \n", + "
                                              \n", + "\n", + " \n", + "\n", + "
                                              \n", + "
                                              \n", + " :\n", + "
                                              \n", + " \n", + " \n", + "
                                              \n", + "
                                              \n", + "\n", + "
                                              \n", + " StackTrace\n", + "
                                                \n", + "
                                                \n", + "
                                                \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Map(Layer(tourism_pois, \n", + " geom_col='geom',\n", + " style=color_category_style('SUB_CLASS', stroke_width=0.2)))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gnpItWtBFPke" + }, + "source": [ + "\n", + "#### Upload filtered dataset to your CARTO account\n", + "\n", + "Finally, we will save this filtered dataset on our CARTO account so that we can use it in the future. We can do this using the CARTOframes function `to_carto`." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "id": "TDHvu80KpcK7" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Success! Data uploaded to table \"demo_tourism_pois_madrid\" correctly\n" + ] + }, + { + "data": { + "text/plain": [ + "'demo_tourism_pois_madrid'" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "to_carto(tourism_pois, 'demo_tourism_pois_madrid', geom_col='geom')" + ] + } + ], + "metadata": { + "colab": { + "collapsed_sections": [], + "name": "CARTO | Data Observatory v2.0 - Access to Data.ipynb", + "provenance": [], + "toc_visible": true + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/docs/examples/templates/do_access_public_data.ipynb b/docs/examples/templates/do_access_public_data.ipynb new file mode 100644 index 000000000..94b03c1b8 --- /dev/null +++ b/docs/examples/templates/do_access_public_data.ipynb @@ -0,0 +1,13696 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "7LKLhQBzJMOz" + }, + "source": [ + "## CARTO Data Observatory. Access public data.\n", + "\n", + "This notebook shows how to use CARTOframes for discovering and downloading **public** datasets from CARTO's [Data Observatory](https://carto.com/spatial-data-catalog/).\n", + "\n", + "For more details please visit the [Guides](https://carto.com/developers/cartoframes/guides). If you'd like further detail on how to discover and explore datasets from the catalog, take a look at Explore CARTO Data Observatory notebook.\n", + "\n", + "The notebook is organized in the following sections:\n", + " - [Discover datasets applying the public filter](#section1)\n", + " - [Download a selection of variables of a dataset](#section2)\n", + " - [Download a dataset applying spatial filtering. Filter by bounding box or polygon](#section3)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "V4-0hJjiVsen" + }, + "source": [ + "### Setup" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Import packages" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "id": "6vLRH4fEEkms" + }, + "outputs": [], + "source": [ + "import geopandas as gpd\n", + "import pandas as pd\n", + "pd.set_option('display.max_columns', None)\n", + "\n", + "from cartoframes.auth import set_default_credentials\n", + "from cartoframes.data.observatory import *\n", + "from cartoframes.viz import *\n", + "from shapely.geometry import box" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Set CARTO default credentials" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to be able to use the Data Observatory via CARTOframes, you need to set your CARTO account credentials first.\n", + "\n", + "Please, visit the [Authentication guide](https://carto.com/developers/cartoframes/guides/Authentication/) for further detail." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('creds.json')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note about credentials**\n", + "\n", + "For security reasons, we recommend storing your credentials in an external file to prevent publishing them by accident when sharing your notebooks. You can get more information in the section _Setting your credentials_ of the [Authentication guide](https://carto.com/developers/cartoframes/guides/Authentication/)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gTkF0eWzjlOw" + }, + "source": [ + "### Discover and download a Public Dataset\n", + "\n", + "First, we'll discover the two public datasets applying the public filter:\n", + "1. Public dataset providing total population per county in US.\n", + "2. Public dataset providing sociodemographics data at the census tract level for the US." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "0Vhi0kdatNfG" + }, + "source": [ + "\n", + "#### Dicover datasets applying the public filter" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In addition to the country, category, provider, and geography filters, we can filter public datasets using the `public()` filter.\n", + "\n", + "We start by looking for the providers in the US providing public demographics data." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 105 + }, + "id": "iNDxjNRgr_FC", + "outputId": "bb1e4690-7918-485f-9924-ccd7e777d272" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You can find more entities with the Global country filter. To apply that filter run:\n", + "\tCatalog().country('glo')\n" + ] + }, + { + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ,\n", + " ]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Catalog().country('usa').category('demographics').public().providers" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can also discover public demographics datasets in the US.\n", + "\n", + "Note all datasets have the `is_public_data` flag that allows to identify public datasets." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "2bImQIlTqBzf", + "outputId": "b8b0b4f3-064d-4f60-bdd9-c3181360d00a" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You can find more entities with the Global country filter. To apply that filter run:\n", + "\tCatalog().country('glo')\n" + ] + }, + { + "data": { + "text/html": [ + "
                                                \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                slugnamedescriptioncategory_idcountry_iddata_source_idprovider_idgeography_namegeography_descriptiontemporal_aggregationtime_coverageupdate_frequencyis_public_datalangversioncategory_nameprovider_namegeography_idid
                                                0wp_population_704f6b75Population Mosaics - United States of America ...Mosaiced 1km resolution global datasets. The m...demographicsusapopulationworldpopGrid 1km - United States of AmericaGlobal grid at aprox. 1-kilometer resolution (...yearly[2020-01-01, 2021-01-01)yearlyTrueeng2020DemographicsWorldPopcarto-do-public-data.worldpop.geography_usa_gr...carto-do-public-data.worldpop.demographics_pop...
                                                1wp_population_22be8012Population Mosaics - United States of America ...Mosaiced 1km resolution global datasets. The m...demographicsusapopulationworldpopGrid 1km - United States of AmericaGlobal grid at aprox. 1-kilometer resolution (...yearly[2019-01-01, 2020-01-01)yearlyTrueeng2019DemographicsWorldPopcarto-do-public-data.worldpop.geography_usa_gr...carto-do-public-data.worldpop.demographics_pop...
                                                2wp_population_55b9b084Population Mosaics - United States of America ...Mosaiced 1km resolution global datasets. The m...demographicsusapopulationworldpopGrid 1km - United States of AmericaGlobal grid at aprox. 1-kilometer resolution (...yearly[2018-01-01, 2019-01-01)yearlyTrueeng2018DemographicsWorldPopcarto-do-public-data.worldpop.geography_usa_gr...carto-do-public-data.worldpop.demographics_pop...
                                                3wp_population_c506ad15Population Mosaics - United States of America ...Mosaiced 1km resolution global datasets. The m...demographicsusapopulationworldpopGrid 1km - United States of AmericaGlobal grid at aprox. 1-kilometer resolution (...yearly[2017-01-01, 2018-01-01)yearlyTrueeng2017DemographicsWorldPopcarto-do-public-data.worldpop.geography_usa_gr...carto-do-public-data.worldpop.demographics_pop...
                                                4wp_population_b2019d83Population Mosaics - United States of America ...Mosaiced 1km resolution global datasets. The m...demographicsusapopulationworldpopGrid 1km - United States of AmericaGlobal grid at aprox. 1-kilometer resolution (...yearly[2016-01-01, 2017-01-01)yearlyTrueeng2016DemographicsWorldPopcarto-do-public-data.worldpop.geography_usa_gr...carto-do-public-data.worldpop.demographics_pop...
                                                \n", + "
                                                " + ], + "text/plain": [ + " slug name \\\n", + "0 wp_population_704f6b75 Population Mosaics - United States of America ... \n", + "1 wp_population_22be8012 Population Mosaics - United States of America ... \n", + "2 wp_population_55b9b084 Population Mosaics - United States of America ... \n", + "3 wp_population_c506ad15 Population Mosaics - United States of America ... \n", + "4 wp_population_b2019d83 Population Mosaics - United States of America ... \n", + "\n", + " description category_id country_id \\\n", + "0 Mosaiced 1km resolution global datasets. The m... demographics usa \n", + "1 Mosaiced 1km resolution global datasets. The m... demographics usa \n", + "2 Mosaiced 1km resolution global datasets. The m... demographics usa \n", + "3 Mosaiced 1km resolution global datasets. The m... demographics usa \n", + "4 Mosaiced 1km resolution global datasets. The m... demographics usa \n", + "\n", + " data_source_id provider_id geography_name \\\n", + "0 population worldpop Grid 1km - United States of America \n", + "1 population worldpop Grid 1km - United States of America \n", + "2 population worldpop Grid 1km - United States of America \n", + "3 population worldpop Grid 1km - United States of America \n", + "4 population worldpop Grid 1km - United States of America \n", + "\n", + " geography_description temporal_aggregation \\\n", + "0 Global grid at aprox. 1-kilometer resolution (... yearly \n", + "1 Global grid at aprox. 1-kilometer resolution (... yearly \n", + "2 Global grid at aprox. 1-kilometer resolution (... yearly \n", + "3 Global grid at aprox. 1-kilometer resolution (... yearly \n", + "4 Global grid at aprox. 1-kilometer resolution (... yearly \n", + "\n", + " time_coverage update_frequency is_public_data lang version \\\n", + "0 [2020-01-01, 2021-01-01) yearly True eng 2020 \n", + "1 [2019-01-01, 2020-01-01) yearly True eng 2019 \n", + "2 [2018-01-01, 2019-01-01) yearly True eng 2018 \n", + "3 [2017-01-01, 2018-01-01) yearly True eng 2017 \n", + "4 [2016-01-01, 2017-01-01) yearly True eng 2016 \n", + "\n", + " category_name provider_name \\\n", + "0 Demographics WorldPop \n", + "1 Demographics WorldPop \n", + "2 Demographics WorldPop \n", + "3 Demographics WorldPop \n", + "4 Demographics WorldPop \n", + "\n", + " geography_id \\\n", + "0 carto-do-public-data.worldpop.geography_usa_gr... \n", + "1 carto-do-public-data.worldpop.geography_usa_gr... \n", + "2 carto-do-public-data.worldpop.geography_usa_gr... \n", + "3 carto-do-public-data.worldpop.geography_usa_gr... \n", + "4 carto-do-public-data.worldpop.geography_usa_gr... \n", + "\n", + " id \n", + "0 carto-do-public-data.worldpop.demographics_pop... \n", + "1 carto-do-public-data.worldpop.demographics_pop... \n", + "2 carto-do-public-data.worldpop.demographics_pop... \n", + "3 carto-do-public-data.worldpop.demographics_pop... \n", + "4 carto-do-public-data.worldpop.demographics_pop... " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Catalog().country('usa').category('demographics').public().datasets.to_dataframe().head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's now explore [ACS demographics datasets](https://carto.com/spatial-data-catalog/browser/?category=demographics&provider=usa_acs) further." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 467 + }, + "id": "_Ga6cYNb4vZC", + "outputId": "95cae3e0-3710-44ef-b126-06ea5ba85a0c" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You can find more entities with the Global country filter. To apply that filter run:\n", + "\tCatalog().country('glo')\n" + ] + }, + { + "data": { + "text/html": [ + "
                                                \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                slugnamedescriptioncategory_idcountry_iddata_source_idprovider_idgeography_namegeography_descriptiontemporal_aggregationtime_coverageupdate_frequencyis_public_datalangversioncategory_nameprovider_namegeography_idid
                                                0acs_sociodemogr_a0c48b07Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCounty - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...yearly[2007-01-01, 2008-01-01)yearlyTrueeng2007DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_count...carto-do-public-data.usa_acs.demographics_soci...
                                                1acs_sociodemogr_a03fb95fSociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCongressional District - United States of Amer...Shoreline clipped TIGER/Line boundaries. More ...yearly[2017-01-01, 2018-01-01)yearlyTrueeng2017DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_congr...carto-do-public-data.usa_acs.demographics_soci...
                                                2acs_sociodemogr_e7b702b0Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCore-based Statistical Area - United States of...Shoreline clipped TIGER/Line boundaries. More ...3yrs[2006-01-01, 2009-01-01)yearlyTrueeng20062008DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_cbsa_...carto-do-public-data.usa_acs.demographics_soci...
                                                3acs_sociodemogr_e1e92d8dSociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCore-based Statistical Area - United States of...Shoreline clipped TIGER/Line boundaries. More ...yearly[2013-01-01, 2014-01-01)yearlyTrueeng2013DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_cbsa_...carto-do-public-data.usa_acs.demographics_soci...
                                                4acs_sociodemogr_30a865f1Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCore-based Statistical Area - United States of...Shoreline clipped TIGER/Line boundaries. More ...3yrs[2005-01-01, 2008-01-01)yearlyTrueeng20052007DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_cbsa_...carto-do-public-data.usa_acs.demographics_soci...
                                                \n", + "
                                                " + ], + "text/plain": [ + " slug \\\n", + "0 acs_sociodemogr_a0c48b07 \n", + "1 acs_sociodemogr_a03fb95f \n", + "2 acs_sociodemogr_e7b702b0 \n", + "3 acs_sociodemogr_e1e92d8d \n", + "4 acs_sociodemogr_30a865f1 \n", + "\n", + " name \\\n", + "0 Sociodemographics - United States of America (... \n", + "1 Sociodemographics - United States of America (... \n", + "2 Sociodemographics - United States of America (... \n", + "3 Sociodemographics - United States of America (... \n", + "4 Sociodemographics - United States of America (... \n", + "\n", + " description category_id country_id \\\n", + "0 The American Community Survey (ACS) is an ongo... demographics usa \n", + "1 The American Community Survey (ACS) is an ongo... demographics usa \n", + "2 The American Community Survey (ACS) is an ongo... demographics usa \n", + "3 The American Community Survey (ACS) is an ongo... demographics usa \n", + "4 The American Community Survey (ACS) is an ongo... demographics usa \n", + "\n", + " data_source_id provider_id \\\n", + "0 sociodemographics usa_acs \n", + "1 sociodemographics usa_acs \n", + "2 sociodemographics usa_acs \n", + "3 sociodemographics usa_acs \n", + "4 sociodemographics usa_acs \n", + "\n", + " geography_name \\\n", + "0 County - United States of America (2015) \n", + "1 Congressional District - United States of Amer... \n", + "2 Core-based Statistical Area - United States of... \n", + "3 Core-based Statistical Area - United States of... \n", + "4 Core-based Statistical Area - United States of... \n", + "\n", + " geography_description temporal_aggregation \\\n", + "0 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "1 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "2 Shoreline clipped TIGER/Line boundaries. More ... 3yrs \n", + "3 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "4 Shoreline clipped TIGER/Line boundaries. More ... 3yrs \n", + "\n", + " time_coverage update_frequency is_public_data lang version \\\n", + "0 [2007-01-01, 2008-01-01) yearly True eng 2007 \n", + "1 [2017-01-01, 2018-01-01) yearly True eng 2017 \n", + "2 [2006-01-01, 2009-01-01) yearly True eng 20062008 \n", + "3 [2013-01-01, 2014-01-01) yearly True eng 2013 \n", + "4 [2005-01-01, 2008-01-01) yearly True eng 20052007 \n", + "\n", + " category_name provider_name \\\n", + "0 Demographics American Community Survey \n", + "1 Demographics American Community Survey \n", + "2 Demographics American Community Survey \n", + "3 Demographics American Community Survey \n", + "4 Demographics American Community Survey \n", + "\n", + " geography_id \\\n", + "0 carto-do-public-data.carto.geography_usa_count... \n", + "1 carto-do-public-data.carto.geography_usa_congr... \n", + "2 carto-do-public-data.carto.geography_usa_cbsa_... \n", + "3 carto-do-public-data.carto.geography_usa_cbsa_... \n", + "4 carto-do-public-data.carto.geography_usa_cbsa_... \n", + "\n", + " id \n", + "0 carto-do-public-data.usa_acs.demographics_soci... \n", + "1 carto-do-public-data.usa_acs.demographics_soci... \n", + "2 carto-do-public-data.usa_acs.demographics_soci... \n", + "3 carto-do-public-data.usa_acs.demographics_soci... \n", + "4 carto-do-public-data.usa_acs.demographics_soci... " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "datasets_df = Catalog().country('usa').category('demographics').provider('usa_acs').public().datasets.to_dataframe()\n", + "datasets_df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "T4sObEug51WI" + }, + "source": [ + "We are first interested in exploring which datasets provide data at the **county level** and with a **5 year temporal aggregation**.\n", + "\n", + "We select the latest [dataset](https://carto.com/spatial-data-catalog/browser/dataset/acs_sociodemogr_aeb99461/) `acs_sociodemogr_8c2655e0`.\n", + "\n", + "If you'd like to get a description of the dataset, you can use the Dataset functions `to_dict()`, `describe()`, `head()`, and `geom_coverage()`. You can also have access to all its variables as explained on the Explore CARTO Data Observatory notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "-850SlAx5QVg", + "outputId": "a670233b-97b5-4015-d9c1-4529282c0955" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                slugnamedescriptioncategory_idcountry_iddata_source_idprovider_idgeography_namegeography_descriptiontemporal_aggregationtime_coverageupdate_frequencyis_public_datalangversioncategory_nameprovider_namegeography_idid
                                                215acs_sociodemogr_8c2655e0Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCounty - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2013-01-01, 2018-01-01)yearlyTrueeng20132017DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_count...carto-do-public-data.usa_acs.demographics_soci...
                                                156acs_sociodemogr_c6414cc6Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCounty - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2012-01-01, 2017-01-01)yearlyTrueeng20122016DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_count...carto-do-public-data.usa_acs.demographics_soci...
                                                143acs_sociodemogr_18e867acSociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCounty - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2011-01-01, 2016-01-01)yearlyTrueeng20112015DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_count...carto-do-public-data.usa_acs.demographics_soci...
                                                182acs_sociodemogr_528f7e8aSociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCounty - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2010-01-01, 2015-01-01)yearlyTrueeng20102014DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_count...carto-do-public-data.usa_acs.demographics_soci...
                                                179acs_sociodemogr_aa75afdSociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCounty - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2009-01-01, 2014-01-01)yearlyTrueeng20092013DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_count...carto-do-public-data.usa_acs.demographics_soci...
                                                \n", + "
                                                " + ], + "text/plain": [ + " slug \\\n", + "215 acs_sociodemogr_8c2655e0 \n", + "156 acs_sociodemogr_c6414cc6 \n", + "143 acs_sociodemogr_18e867ac \n", + "182 acs_sociodemogr_528f7e8a \n", + "179 acs_sociodemogr_aa75afd \n", + "\n", + " name \\\n", + "215 Sociodemographics - United States of America (... \n", + "156 Sociodemographics - United States of America (... \n", + "143 Sociodemographics - United States of America (... \n", + "182 Sociodemographics - United States of America (... \n", + "179 Sociodemographics - United States of America (... \n", + "\n", + " description category_id \\\n", + "215 The American Community Survey (ACS) is an ongo... demographics \n", + "156 The American Community Survey (ACS) is an ongo... demographics \n", + "143 The American Community Survey (ACS) is an ongo... demographics \n", + "182 The American Community Survey (ACS) is an ongo... demographics \n", + "179 The American Community Survey (ACS) is an ongo... demographics \n", + "\n", + " country_id data_source_id provider_id \\\n", + "215 usa sociodemographics usa_acs \n", + "156 usa sociodemographics usa_acs \n", + "143 usa sociodemographics usa_acs \n", + "182 usa sociodemographics usa_acs \n", + "179 usa sociodemographics usa_acs \n", + "\n", + " geography_name \\\n", + "215 County - United States of America (2015) \n", + "156 County - United States of America (2015) \n", + "143 County - United States of America (2015) \n", + "182 County - United States of America (2015) \n", + "179 County - United States of America (2015) \n", + "\n", + " geography_description temporal_aggregation \\\n", + "215 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "156 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "143 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "182 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "179 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "\n", + " time_coverage update_frequency is_public_data lang version \\\n", + "215 [2013-01-01, 2018-01-01) yearly True eng 20132017 \n", + "156 [2012-01-01, 2017-01-01) yearly True eng 20122016 \n", + "143 [2011-01-01, 2016-01-01) yearly True eng 20112015 \n", + "182 [2010-01-01, 2015-01-01) yearly True eng 20102014 \n", + "179 [2009-01-01, 2014-01-01) yearly True eng 20092013 \n", + "\n", + " category_name provider_name \\\n", + "215 Demographics American Community Survey \n", + "156 Demographics American Community Survey \n", + "143 Demographics American Community Survey \n", + "182 Demographics American Community Survey \n", + "179 Demographics American Community Survey \n", + "\n", + " geography_id \\\n", + "215 carto-do-public-data.carto.geography_usa_count... \n", + "156 carto-do-public-data.carto.geography_usa_count... \n", + "143 carto-do-public-data.carto.geography_usa_count... \n", + "182 carto-do-public-data.carto.geography_usa_count... \n", + "179 carto-do-public-data.carto.geography_usa_count... \n", + "\n", + " id \n", + "215 carto-do-public-data.usa_acs.demographics_soci... \n", + "156 carto-do-public-data.usa_acs.demographics_soci... \n", + "143 carto-do-public-data.usa_acs.demographics_soci... \n", + "182 carto-do-public-data.usa_acs.demographics_soci... \n", + "179 carto-do-public-data.usa_acs.demographics_soci... " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "datasets_df[(datasets_df['geography_name'].str.contains('County')) & \n", + " (datasets_df['temporal_aggregation'].str.contains('5yrs'))]\\\n", + " .sort_values('time_coverage', ascending=False).head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "NSq6azNp6E6Z" + }, + "source": [ + "We are also interested in exploring which datasets provide data at the **census tract** level and with a **5 year temporal aggregation**.\n", + "\n", + "We select the latest [dataset](https://carto.com/spatial-data-catalog/browser/dataset/acs_sociodemogr_6bf5c7f4/) `acs_sociodemogr_496a0675`." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 707 + }, + "id": "rSgq4Ncy5y9r", + "outputId": "24ea831e-6218-41d9-87b6-95dd7ec18e36" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                slugnamedescriptioncategory_idcountry_iddata_source_idprovider_idgeography_namegeography_descriptiontemporal_aggregationtime_coverageupdate_frequencyis_public_datalangversioncategory_nameprovider_namegeography_idid
                                                41acs_sociodemogr_496a0675Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2013-01-01, 2018-01-01)yearlyTrueeng20132017DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                8acs_sociodemogr_30d1f53Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2012-01-01, 2017-01-01)yearlyTrueeng20122016DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                201acs_sociodemogr_dda43439Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2011-01-01, 2016-01-01)yearlyTrueeng20112015DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                169acs_sociodemogr_97c32d1fSociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2010-01-01, 2015-01-01)yearlyTrueeng20102014DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                9acs_sociodemogr_cfeb0968Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2009-01-01, 2014-01-01)yearlyTrueeng20092013DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                \n", + "
                                                " + ], + "text/plain": [ + " slug \\\n", + "41 acs_sociodemogr_496a0675 \n", + "8 acs_sociodemogr_30d1f53 \n", + "201 acs_sociodemogr_dda43439 \n", + "169 acs_sociodemogr_97c32d1f \n", + "9 acs_sociodemogr_cfeb0968 \n", + "\n", + " name \\\n", + "41 Sociodemographics - United States of America (... \n", + "8 Sociodemographics - United States of America (... \n", + "201 Sociodemographics - United States of America (... \n", + "169 Sociodemographics - United States of America (... \n", + "9 Sociodemographics - United States of America (... \n", + "\n", + " description category_id \\\n", + "41 The American Community Survey (ACS) is an ongo... demographics \n", + "8 The American Community Survey (ACS) is an ongo... demographics \n", + "201 The American Community Survey (ACS) is an ongo... demographics \n", + "169 The American Community Survey (ACS) is an ongo... demographics \n", + "9 The American Community Survey (ACS) is an ongo... demographics \n", + "\n", + " country_id data_source_id provider_id \\\n", + "41 usa sociodemographics usa_acs \n", + "8 usa sociodemographics usa_acs \n", + "201 usa sociodemographics usa_acs \n", + "169 usa sociodemographics usa_acs \n", + "9 usa sociodemographics usa_acs \n", + "\n", + " geography_name \\\n", + "41 Census Tract - United States of America (2015) \n", + "8 Census Tract - United States of America (2015) \n", + "201 Census Tract - United States of America (2015) \n", + "169 Census Tract - United States of America (2015) \n", + "9 Census Tract - United States of America (2015) \n", + "\n", + " geography_description temporal_aggregation \\\n", + "41 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "8 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "201 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "169 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "9 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "\n", + " time_coverage update_frequency is_public_data lang version \\\n", + "41 [2013-01-01, 2018-01-01) yearly True eng 20132017 \n", + "8 [2012-01-01, 2017-01-01) yearly True eng 20122016 \n", + "201 [2011-01-01, 2016-01-01) yearly True eng 20112015 \n", + "169 [2010-01-01, 2015-01-01) yearly True eng 20102014 \n", + "9 [2009-01-01, 2014-01-01) yearly True eng 20092013 \n", + "\n", + " category_name provider_name \\\n", + "41 Demographics American Community Survey \n", + "8 Demographics American Community Survey \n", + "201 Demographics American Community Survey \n", + "169 Demographics American Community Survey \n", + "9 Demographics American Community Survey \n", + "\n", + " geography_id \\\n", + "41 carto-do-public-data.carto.geography_usa_censu... \n", + "8 carto-do-public-data.carto.geography_usa_censu... \n", + "201 carto-do-public-data.carto.geography_usa_censu... \n", + "169 carto-do-public-data.carto.geography_usa_censu... \n", + "9 carto-do-public-data.carto.geography_usa_censu... \n", + "\n", + " id \n", + "41 carto-do-public-data.usa_acs.demographics_soci... \n", + "8 carto-do-public-data.usa_acs.demographics_soci... \n", + "201 carto-do-public-data.usa_acs.demographics_soci... \n", + "169 carto-do-public-data.usa_acs.demographics_soci... \n", + "9 carto-do-public-data.usa_acs.demographics_soci... " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "datasets_df[(datasets_df['geography_name'].str.contains('Census Tract')) & \n", + " (datasets_df['temporal_aggregation'].str.contains('5yrs'))]\\\n", + " .sort_values('time_coverage', ascending=False).head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "kVFwrN7BtAgW" + }, + "source": [ + "\n", + "#### Download a selection of variables of a dataset\n", + "\n", + "We'll use the county demographics dataset `acs_sociodemogr_8c2655e0` we identified above to show how to download only a selection of columns from a dataset. In particular, we'll download all counties with their population." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "id": "ItuC51LTs9RI" + }, + "outputs": [], + "source": [ + "dataset = Dataset.get('acs_sociodemogr_8c2655e0')" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 367 + }, + "id": "79_zTMLEzijt", + "outputId": "d08c7699-9f1a-4112-c59a-ce56749e190c" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                geoidno_cardo_datemale_20male_21no_carsone_carpovertychildrenmale_poptwo_carsasian_popblack_popfemale_20female_21in_schoolpop_25_64total_popwhite_popfemale_popgini_indexhouseholdsmale_60_61male_62_64median_agethree_carsmale_5_to_9median_rentpop_16_overpop_widowedarmed_forcesemployed_pophispanic_popmale_under_5mobile_homespop_divorcedfemale_5_to_9housing_unitsmale_10_to_14male_15_to_17male_18_to_19male_22_to_24male_25_to_29male_30_to_34male_35_to_39male_40_to_44male_45_to_49male_45_to_64male_50_to_54male_55_to_59male_65_to_66male_67_to_69male_70_to_74male_75_to_79male_80_to_84median_incomepop_separatedamerindian_popfemale_under_5four_more_carsgroup_quartersmasters_degreeother_race_popunemployed_popwalked_to_workworked_at_homefemale_10_to_14female_15_to_17female_18_to_19female_22_to_24female_25_to_29female_30_to_34female_35_to_39female_40_to_44female_45_to_49female_50_to_54female_55_to_59female_60_to_61female_62_to_64female_65_to_66female_67_to_69female_70_to_74female_75_to_79female_80_to_84pop_15_and_overpop_now_marriedasian_male_45_54asian_male_55_64bachelors_degreeblack_male_45_54black_male_55_64commute_5_9_minscommuters_by_busin_grades_1_to_4in_grades_5_to_8male_85_and_overnot_hispanic_poppop_5_years_overwhite_male_45_54white_male_55_64associates_degreecommuters_16_overdwellings_2_unitsfamily_householdshispanic_any_racein_grades_9_to_12income_less_10000income_per_capitapop_25_years_overpop_never_marriedbachelors_degree_2commute_10_14_minscommute_15_19_minscommute_20_24_minscommute_25_29_minscommute_30_34_minscommute_35_39_minscommute_35_44_minscommute_40_44_minscommute_45_59_minscommute_60_89_minsfemale_85_and_overincome_10000_14999income_15000_19999income_20000_24999income_25000_29999income_30000_34999income_35000_39999income_40000_44999income_45000_49999income_50000_59999income_60000_74999income_75000_99999married_householdsnot_in_labor_forcenot_us_citizen_poppop_in_labor_forcehigh_school_diplomahispanic_male_45_54hispanic_male_55_64occupation_servicesworkers_16_and_overcivilian_labor_forcecommute_60_more_minscommute_90_more_minscommute_less_10_minscommuters_by_carpoolemployed_informationin_undergrad_collegeincome_100000_124999income_125000_149999income_150000_199999male_male_householdsnonfamily_householdsrent_over_50_percentvacant_housing_unitscommuters_drove_aloneemployed_constructionemployed_retail_tradeincome_200000_or_moreless_one_year_collegemale_45_64_grade_9_12one_year_more_collegerent_10_to_15_percentrent_15_to_20_percentrent_20_to_25_percentrent_25_to_30_percentrent_30_to_35_percentrent_35_to_40_percentrent_40_to_50_percentrent_under_10_percentsales_office_employedspeak_spanish_at_hometwo_or_more_races_popdwellings_3_to_4_unitsdwellings_5_to_9_unitsemployed_manufacturingmale_45_64_high_schooloccupied_housing_unitsmale_45_64_some_collegemortgaged_housing_unitsoccupation_sales_officepopulation_3_years_overasian_including_hispanicblack_including_hispanicdwellings_10_to_19_unitsdwellings_20_to_49_unitsemployed_wholesale_tradefemale_female_householdsrent_burden_not_computedwhite_including_hispanichigh_school_including_gedcommuters_by_car_truck_vandwellings_1_units_attacheddwellings_1_units_detacheddwellings_50_or_more_unitshousing_built_2000_to_2004male_45_64_graduate_degreeoccupation_management_artspopulation_1_year_and_overspeak_only_english_at_homehousing_built_2005_or_latermale_45_64_bachelors_degreemedian_year_structure_builtchildren_in_single_female_hhfamilies_with_young_childrengraduate_professional_degreehouseholds_retirement_incomemale_45_64_associates_degreemale_45_64_less_than_9_grademillion_dollar_housing_unitsowner_occupied_housing_unitspercent_income_spent_on_rentaggregate_travel_time_to_workamerindian_including_hispanichousing_built_1939_or_earlierhousing_units_renter_occupiedpop_determined_poverty_statusvacant_housing_units_for_rentvacant_housing_units_for_saleemployed_public_administrationless_than_high_school_graduatecommuters_by_subway_or_elevatedbachelors_degree_or_higher_25_64employed_education_health_socialspeak_spanish_at_home_low_englishcommuters_by_public_transportationdifferent_house_year_ago_same_citysome_college_and_associates_degreehouseholds_public_asst_or_food_stampsmanagement_business_sci_arts_employedemployed_finance_insurance_real_estatedifferent_house_year_ago_different_cityemployed_science_management_admin_wasteone_parent_families_with_young_childrentwo_parent_families_with_young_childrenemployed_other_services_not_public_adminowner_occupied_housing_units_median_valueemployed_transportation_warehousing_utilitiesoccupation_production_transportation_materialfather_one_parent_families_with_young_childrenowner_occupied_housing_units_lower_value_quartileowner_occupied_housing_units_upper_value_quartileemployed_agriculture_forestry_fishing_hunting_miningoccupation_natural_resources_construction_maintenancetwo_parents_in_labor_force_families_with_young_childrenemployed_arts_entertainment_recreation_accommodation_foodrenter_occupied_housing_units_paying_cash_median_gross_renttwo_parents_not_in_labor_force_families_with_young_childrenfather_in_labor_force_one_parent_families_with_young_childrentwo_parents_father_in_labor_force_families_with_young_childrentwo_parents_mother_in_labor_force_families_with_young_children
                                                03000743.02013201732.020.065.0463.0448.01151.02896.0887.00.04.00.00.01017.02936.05755.05432.02859.00.44522405.0105.0196.046.3622.0132.0550.04762.0None0.02621.0152.0112.0377.0None207.02743.0196.0117.075.054.0135.0131.0160.0163.0184.0908.0210.0213.063.0171.0191.0129.066.055295.0None84.0146.0368.044.0293.00.0112.0135.0205.0124.0117.0123.090.091.0113.0165.0153.0218.0250.0196.0116.0137.074.0114.0173.0158.052.0NoneNone0.00.0866.00.00.0359.00.0253.0252.041.05603.0None369.0463.0268.02287.015.01552.0152.0336.096.032268.04210.0None866.0337.0132.0225.0159.0162.0214.0247.033.0271.0150.042.0135.096.0101.088.084.0210.0166.076.0305.0241.0267.01348.02029.020.02733.01366.00.05.0461.02492.02733.0203.053.0551.0267.031.079.0170.082.0186.00.0853.047.0338.01852.0370.0180.0102.0261.024.0683.094.022.052.015.045.05.032.06.0404.0None83.041.049.0215.0287.02405.0247.01122.0404.05553.00.04.041.00.042.00.067.05533.01564.02119.00.02208.00.061.087.0955.05634.0None16.0158.01987.0147.0335.0337.0625.092.013.026.02020.023.660655.084.097.0385.05711.011.034.0291.0231.00.0873.0380.0None0.032.01212.0179.0955.0141.0471.0141.064.0271.094.0195000.090.0310.00.0119800.0301300.0460.0491.090.0186.0640.018.00.0163.00.0
                                                119137106.02013201717.042.0291.01298.01653.02349.04931.01826.00.00.042.0103.02094.05037.010239.09640.05308.00.42704614.0149.0256.044.5774.0385.0482.08243.0None11.04838.0371.0259.0178.0None310.05231.0313.0238.0115.0182.0217.0239.0252.0323.0301.01449.0366.0377.0148.0162.0193.0146.0137.043674.0None40.0335.0425.0210.0227.00.0349.0194.0233.0302.0207.0127.0119.0220.0233.0262.0345.0320.0373.0452.0152.0200.0126.0168.0273.0233.0177.0NoneNone0.00.0867.00.00.01023.021.0569.0512.0114.09868.0None628.0782.0926.04560.0177.03080.0371.0530.0282.025005.07143.0None867.0568.0487.0485.0205.0236.039.082.043.0292.0205.0229.0419.0298.0345.0218.0343.0211.0226.0222.0433.0515.0485.02221.03045.0136.05198.02447.039.00.0824.04793.05187.0319.0114.01886.0453.0153.0176.0317.0121.093.00.01534.0246.0617.03813.0309.0641.086.0716.0111.0935.0180.0193.0164.0144.051.077.0168.075.01081.0None188.0291.0101.0870.0680.04614.0264.01552.01081.09869.00.00.049.040.0120.03.0185.09756.02785.04266.077.04318.00.027.032.01470.010138.0None5.0178.01952.0756.0662.0281.0807.0151.033.00.03131.026.386680.064.0181.01483.010014.0142.067.0122.0633.00.0856.01172.0None21.0550.02577.0831.01470.0170.0839.0173.0327.0335.0301.081800.0245.0949.029.049500.0126300.0349.0514.0248.0213.0664.012.025.064.011.0
                                                22010110.0201320178.00.036.0181.0181.0407.0864.0350.00.01.01.08.0332.0822.01702.01539.0838.00.4473828.010.027.041.5133.026.0345.01379.0None0.0885.0113.074.046.0None74.0991.046.054.022.045.059.026.076.049.056.0226.072.061.019.022.025.040.039.051765.0None39.048.0128.08.069.00.032.032.027.047.038.035.013.040.029.048.053.044.045.063.019.045.022.014.040.042.038.0NoneNone0.00.0206.00.00.0178.00.064.079.08.01589.0None121.096.0135.0817.00.0484.0113.067.062.029768.01163.0None206.098.093.064.038.047.015.015.00.09.035.032.042.050.067.067.035.032.035.012.079.0109.0139.0401.0462.012.0917.0302.06.02.0165.0844.0917.043.08.0410.042.010.048.045.011.018.00.0344.016.0163.0732.0112.073.025.0106.07.0207.027.016.018.013.019.08.00.010.0185.0None3.033.00.06.082.0828.061.0306.0185.01623.00.01.00.00.013.00.052.01649.0361.0774.022.0890.00.015.03.0264.01659.0None0.048.01957.043.0137.072.0107.022.03.00.0649.022.9NaN39.095.0179.01690.028.00.028.076.00.0211.0196.0None0.061.0448.061.0264.030.084.034.020.0117.051.076400.055.073.013.044300.0124400.0253.0198.065.024.0551.00.013.048.04.0
                                                348307133.0201320171.093.0220.0883.01296.01935.04171.01232.00.0161.039.014.01623.04096.08145.05067.03974.00.44953143.0240.0134.043.5510.0370.0471.06496.0None0.03658.02571.0327.0393.0None263.04302.0212.0220.033.0111.0284.0236.0272.0152.0206.01054.0310.0164.0106.0111.0296.094.0139.042367.0None1.0154.0298.0154.0213.0202.0122.0104.061.0258.0131.066.021.0340.082.0271.0321.0285.0188.0273.0121.0217.0147.0117.0228.0156.0134.0NoneNone0.00.0671.018.00.0867.02.0483.0334.060.05574.0None327.0391.0217.03389.0229.02164.02571.0453.0228.023398.05832.0None671.0535.0412.0410.023.0202.071.0117.046.075.052.0148.0265.0288.0127.0156.0203.0207.0137.0124.0259.0329.0385.01592.02716.0207.03780.01597.0164.0147.0770.03450.03780.0133.081.01482.0424.017.070.0176.0114.069.00.0979.0227.01159.02857.0171.0383.076.0500.0201.01092.064.0100.059.044.046.025.024.019.0809.0None143.0110.016.0214.0458.03143.0203.0889.0809.07863.00.0161.06.018.039.00.0137.06969.01862.03281.023.03498.00.078.017.0850.08140.0None39.093.01969.0396.0589.0261.0679.07.075.035.02398.032.053750.01.0551.0745.07955.031.057.0192.01229.00.0556.0647.0None2.0634.01809.0600.0850.0133.0829.0231.0206.0383.0363.082000.0401.0510.0165.041600.0165300.0602.0719.0214.0265.0721.00.0165.0169.00.0
                                                44612366.0201320178.021.0118.0544.01045.01237.02781.0649.00.00.09.059.01121.02688.05480.04500.02699.00.46332424.0133.0141.046.5639.0135.0341.04362.0None0.02859.018.0140.0496.0None125.03085.0222.0141.050.0127.0129.0143.0155.0116.0164.0881.0238.0205.034.0116.0112.0143.042.048409.0None729.0172.0474.0159.0112.00.052.0132.0223.0203.099.046.065.0122.0123.0133.097.0173.0242.0190.0108.076.087.084.0114.0174.055.0NoneNone0.00.0643.00.00.0878.037.0272.0269.066.05462.0None310.0392.0319.02592.024.01473.018.0273.0239.027613.03858.0None643.0347.0158.0167.0120.092.017.056.039.055.0143.0143.0174.0110.0132.0111.0119.0168.091.0124.0227.0270.0279.01217.01451.027.02911.01367.00.00.0393.02815.02911.0175.032.01422.0247.030.0102.0226.037.032.00.0951.0128.0661.02163.0271.0363.085.0196.031.0571.087.063.058.079.02.037.0104.064.0484.0None233.0108.070.041.0387.02424.0140.0663.0484.05334.00.00.038.052.075.00.0125.04500.01511.02410.016.02281.00.043.032.01217.05425.0None19.0152.01966.0220.0338.0210.0261.083.056.016.01677.027.540040.0747.0255.0747.05294.095.039.0118.0408.00.0580.0674.0None37.0182.01086.0340.01217.0184.0444.092.085.0253.0139.085800.052.0306.026.051600.0156600.0706.0459.0215.0114.0562.00.014.032.06.0
                                                529155308.02013201785.0189.0934.02639.04859.04597.08210.02043.00.04639.0197.0153.04301.08474.017344.011948.09134.00.48626875.0225.0238.037.7871.0566.0344.013251.0None0.06326.0421.0614.0742.0None496.08178.0747.0421.0226.0282.0479.0431.0449.0422.0526.02156.0567.0600.0227.0234.0239.0164.0153.032468.0None18.0671.0388.0202.0483.00.0756.0153.0109.0689.0393.0194.0209.0573.0521.0629.0452.0564.0593.0715.0199.0291.0159.0271.0397.0291.0254.0NoneNone0.00.0815.0239.0230.01273.023.0877.01260.0126.016923.0None824.0828.0660.06067.0517.04342.0421.01082.0956.018883.011212.0None815.0792.0998.0913.0366.0587.078.0167.089.0181.087.0223.0689.0583.0512.0504.0377.0385.0382.0336.0544.0392.0555.02758.06169.097.07082.03602.019.019.01441.06176.07082.0159.072.01904.0594.026.0492.0347.096.0143.06.02533.0641.01303.05259.0194.0741.074.0705.0408.01354.0263.0285.0371.0367.0188.0167.0267.0155.01164.0None316.0513.049.01328.0866.06875.0337.01652.01164.016514.00.04717.090.016.0110.05.0540.012113.04279.05853.054.06098.091.0206.025.01560.017033.0None20.0211.01968.02120.01330.0532.01138.058.0251.00.03631.028.8105750.018.0853.03244.017042.0313.089.0313.02867.00.01066.01780.0None23.01577.02719.02237.01560.0282.01594.0164.0813.0517.0304.073300.0299.01565.089.037000.0120900.0405.0596.0216.0380.0568.02.069.0299.00.0
                                                62115928.02013201769.089.0286.01464.03190.02498.06744.01695.00.0575.083.064.02290.06830.012175.011250.05431.00.44224316.0213.0261.039.0645.0326.0307.09909.0None0.03032.0226.0323.01911.0None342.05240.0432.0217.0125.0481.0485.0720.0476.0592.0430.01631.0433.0294.0123.0142.0247.0166.061.029239.0None9.0295.0226.01441.0225.00.0552.034.08.0334.0229.0101.0118.0303.0308.0384.0316.0401.0419.0466.074.0255.0158.0176.0203.0158.0150.0NoneNone0.00.0373.0159.017.0195.00.0554.0575.039.011949.0None657.0726.0728.02791.036.02940.0226.0481.0782.014914.08547.0None373.0117.0575.0297.0111.0235.0220.0384.0164.0358.0325.094.0288.0476.0430.0203.0138.0224.0365.0182.0271.0373.0356.02311.06325.034.03584.02353.033.017.0428.02799.03584.0447.0122.0267.0460.030.0292.0120.050.058.00.01376.0267.0924.02292.0197.0520.00.0360.0347.01107.0109.022.083.098.0107.049.035.071.0894.0None107.053.0105.045.0736.04316.0218.0958.0894.011860.00.0606.028.018.088.00.0361.011397.03313.02752.037.02976.054.0143.041.0875.012072.0None55.019.01985.0473.0787.0327.0987.0117.0153.00.03114.031.898955.09.0141.01202.010690.063.038.0164.02339.00.0553.0775.0None0.074.02195.01218.0875.0162.01449.085.0184.0603.0183.065500.0165.0319.024.030000.0117600.0392.0516.0275.0226.0483.078.024.0211.039.0
                                                7310050.0201320170.08.00.035.046.0132.0204.046.00.00.01.01.0149.0172.0421.0411.0217.00.4498177.09.03.043.354.027.0388.0298.0None0.0177.00.03.022.0None21.0261.020.04.02.013.08.01.06.018.017.050.08.013.02.05.08.010.017.041250.0None0.08.042.00.015.01.01.013.023.035.014.00.00.06.07.05.013.014.011.025.03.05.09.03.010.015.010.0NoneNone0.00.060.00.00.016.00.032.048.02.0421.0None24.025.033.0146.00.096.00.018.06.021799.0264.0None60.09.03.016.04.012.03.017.014.015.03.01.021.025.013.04.09.08.012.010.014.022.020.087.0120.02.0178.073.00.00.017.0169.0178.06.03.064.024.01.017.07.01.02.00.081.08.084.0109.015.013.03.026.00.034.013.03.01.03.02.05.00.00.020.0None9.00.00.013.021.0177.07.025.020.0415.00.00.00.00.03.00.030.0411.079.0133.010.0229.00.03.01.083.0421.0None0.06.01959.03.027.019.023.015.00.00.0112.025.83040.00.031.065.0421.02.00.03.013.00.059.037.0None0.01.093.06.083.01.054.03.02.025.06.0101500.09.021.02.057000.0162500.067.036.013.06.0658.00.02.012.00.0
                                                801067205.020132017124.074.0427.01953.02310.03581.08208.02346.00.04762.033.0120.03517.08535.017110.011757.08902.00.45296727.0176.0317.043.51373.0459.0398.013972.0None10.06949.0435.0468.02311.0None438.09055.0594.0307.0171.0396.0369.0350.0658.0418.0528.02232.0536.0675.0252.0324.0452.0293.0121.045569.0None5.0452.0628.0289.0835.00.0496.048.0176.0511.0352.0162.0326.0415.0465.0527.0598.0547.0617.0586.0222.0531.0166.0404.0567.0353.0222.0NoneNone0.00.01087.0291.0314.0605.00.0750.0892.0146.016675.0None757.0839.0925.06689.0291.04545.0435.0844.0552.023983.012123.0None1087.0694.0858.01025.0749.01067.0154.0395.0241.0445.0301.0288.0504.0566.0332.0278.0457.0308.0323.0412.0616.0694.0614.03625.06517.0169.07455.03398.013.00.01319.06865.07445.0431.0130.01025.0513.074.0595.0379.0287.0257.010.02182.0185.02328.05900.0386.0769.0148.0828.0237.01843.0149.096.0162.091.035.0109.075.051.01347.0None151.0163.00.0787.0918.06727.0540.02932.01347.016615.00.04762.052.012.0221.00.0243.012144.04105.06413.041.06183.02.0218.0113.02279.016964.0None102.0153.01983.0761.01033.0987.01480.0175.096.00.05531.026.0171195.05.0343.01196.016806.0222.0164.0196.02348.00.01485.01673.0None0.0378.03596.01129.02279.0279.0983.0495.0394.0639.0231.0112600.0788.01238.089.062700.0189100.0353.0766.0386.0697.0603.08.080.0245.00.0
                                                9410214.02013201719.016.025.0176.0188.0426.0962.0330.00.00.00.014.0396.0893.01910.01643.0948.00.4153805.028.061.047.0191.079.0537.01529.0None0.0751.0154.051.0146.0None51.01070.051.044.022.013.018.049.041.032.051.0283.086.057.047.029.077.048.029.039831.0None99.054.083.015.064.00.061.064.055.064.032.01.026.044.058.049.049.069.031.065.061.044.022.032.062.044.022.0NoneNone0.00.0200.00.00.0191.00.0102.0101.014.01756.0None114.0130.077.0684.015.0512.0154.096.052.024178.01373.0None200.0101.081.024.018.034.00.020.020.041.05.054.050.020.073.056.077.077.020.052.050.077.090.0420.0717.030.0812.0426.011.00.0113.0739.0812.024.019.0341.037.014.026.080.020.02.00.0293.026.0265.0575.074.057.09.090.014.0297.032.046.08.034.026.015.013.022.0156.0None0.06.06.022.0111.0805.085.0257.0156.01870.00.00.00.021.020.00.068.01783.0493.0612.07.0863.06.012.015.0233.01903.0None15.040.01957.0109.0128.064.0169.05.013.00.0515.025.411965.099.073.0290.01906.022.038.062.0152.00.0194.0121.0None0.0108.0464.099.0233.011.0114.089.049.079.017.0110900.096.0126.021.083300.0162900.096.0123.010.072.0814.00.021.067.02.0
                                                \n", + "
                                                " + ], + "text/plain": [ + " geoid no_car do_date male_20 male_21 no_cars one_car poverty \\\n", + "0 30007 43.0 20132017 32.0 20.0 65.0 463.0 448.0 \n", + "1 19137 106.0 20132017 17.0 42.0 291.0 1298.0 1653.0 \n", + "2 20101 10.0 20132017 8.0 0.0 36.0 181.0 181.0 \n", + "3 48307 133.0 20132017 1.0 93.0 220.0 883.0 1296.0 \n", + "4 46123 66.0 20132017 8.0 21.0 118.0 544.0 1045.0 \n", + "5 29155 308.0 20132017 85.0 189.0 934.0 2639.0 4859.0 \n", + "6 21159 28.0 20132017 69.0 89.0 286.0 1464.0 3190.0 \n", + "7 31005 0.0 20132017 0.0 8.0 0.0 35.0 46.0 \n", + "8 01067 205.0 20132017 124.0 74.0 427.0 1953.0 2310.0 \n", + "9 41021 4.0 20132017 19.0 16.0 25.0 176.0 188.0 \n", + "\n", + " children male_pop two_cars asian_pop black_pop female_20 female_21 \\\n", + "0 1151.0 2896.0 887.0 0.0 4.0 0.0 0.0 \n", + "1 2349.0 4931.0 1826.0 0.0 0.0 42.0 103.0 \n", + "2 407.0 864.0 350.0 0.0 1.0 1.0 8.0 \n", + "3 1935.0 4171.0 1232.0 0.0 161.0 39.0 14.0 \n", + "4 1237.0 2781.0 649.0 0.0 0.0 9.0 59.0 \n", + "5 4597.0 8210.0 2043.0 0.0 4639.0 197.0 153.0 \n", + "6 2498.0 6744.0 1695.0 0.0 575.0 83.0 64.0 \n", + "7 132.0 204.0 46.0 0.0 0.0 1.0 1.0 \n", + "8 3581.0 8208.0 2346.0 0.0 4762.0 33.0 120.0 \n", + "9 426.0 962.0 330.0 0.0 0.0 0.0 14.0 \n", + "\n", + " in_school pop_25_64 total_pop white_pop female_pop gini_index \\\n", + "0 1017.0 2936.0 5755.0 5432.0 2859.0 0.4452 \n", + "1 2094.0 5037.0 10239.0 9640.0 5308.0 0.4270 \n", + "2 332.0 822.0 1702.0 1539.0 838.0 0.4473 \n", + "3 1623.0 4096.0 8145.0 5067.0 3974.0 0.4495 \n", + "4 1121.0 2688.0 5480.0 4500.0 2699.0 0.4633 \n", + "5 4301.0 8474.0 17344.0 11948.0 9134.0 0.4862 \n", + "6 2290.0 6830.0 12175.0 11250.0 5431.0 0.4422 \n", + "7 149.0 172.0 421.0 411.0 217.0 0.4498 \n", + "8 3517.0 8535.0 17110.0 11757.0 8902.0 0.4529 \n", + "9 396.0 893.0 1910.0 1643.0 948.0 0.4153 \n", + "\n", + " households male_60_61 male_62_64 median_age three_cars male_5_to_9 \\\n", + "0 2405.0 105.0 196.0 46.3 622.0 132.0 \n", + "1 4614.0 149.0 256.0 44.5 774.0 385.0 \n", + "2 828.0 10.0 27.0 41.5 133.0 26.0 \n", + "3 3143.0 240.0 134.0 43.5 510.0 370.0 \n", + "4 2424.0 133.0 141.0 46.5 639.0 135.0 \n", + "5 6875.0 225.0 238.0 37.7 871.0 566.0 \n", + "6 4316.0 213.0 261.0 39.0 645.0 326.0 \n", + "7 177.0 9.0 3.0 43.3 54.0 27.0 \n", + "8 6727.0 176.0 317.0 43.5 1373.0 459.0 \n", + "9 805.0 28.0 61.0 47.0 191.0 79.0 \n", + "\n", + " median_rent pop_16_over pop_widowed armed_forces employed_pop \\\n", + "0 550.0 4762.0 None 0.0 2621.0 \n", + "1 482.0 8243.0 None 11.0 4838.0 \n", + "2 345.0 1379.0 None 0.0 885.0 \n", + "3 471.0 6496.0 None 0.0 3658.0 \n", + "4 341.0 4362.0 None 0.0 2859.0 \n", + "5 344.0 13251.0 None 0.0 6326.0 \n", + "6 307.0 9909.0 None 0.0 3032.0 \n", + "7 388.0 298.0 None 0.0 177.0 \n", + "8 398.0 13972.0 None 10.0 6949.0 \n", + "9 537.0 1529.0 None 0.0 751.0 \n", + "\n", + " hispanic_pop male_under_5 mobile_homes pop_divorced female_5_to_9 \\\n", + "0 152.0 112.0 377.0 None 207.0 \n", + "1 371.0 259.0 178.0 None 310.0 \n", + "2 113.0 74.0 46.0 None 74.0 \n", + "3 2571.0 327.0 393.0 None 263.0 \n", + "4 18.0 140.0 496.0 None 125.0 \n", + "5 421.0 614.0 742.0 None 496.0 \n", + "6 226.0 323.0 1911.0 None 342.0 \n", + "7 0.0 3.0 22.0 None 21.0 \n", + "8 435.0 468.0 2311.0 None 438.0 \n", + "9 154.0 51.0 146.0 None 51.0 \n", + "\n", + " housing_units male_10_to_14 male_15_to_17 male_18_to_19 male_22_to_24 \\\n", + "0 2743.0 196.0 117.0 75.0 54.0 \n", + "1 5231.0 313.0 238.0 115.0 182.0 \n", + "2 991.0 46.0 54.0 22.0 45.0 \n", + "3 4302.0 212.0 220.0 33.0 111.0 \n", + "4 3085.0 222.0 141.0 50.0 127.0 \n", + "5 8178.0 747.0 421.0 226.0 282.0 \n", + "6 5240.0 432.0 217.0 125.0 481.0 \n", + "7 261.0 20.0 4.0 2.0 13.0 \n", + "8 9055.0 594.0 307.0 171.0 396.0 \n", + "9 1070.0 51.0 44.0 22.0 13.0 \n", + "\n", + " male_25_to_29 male_30_to_34 male_35_to_39 male_40_to_44 male_45_to_49 \\\n", + "0 135.0 131.0 160.0 163.0 184.0 \n", + "1 217.0 239.0 252.0 323.0 301.0 \n", + "2 59.0 26.0 76.0 49.0 56.0 \n", + "3 284.0 236.0 272.0 152.0 206.0 \n", + "4 129.0 143.0 155.0 116.0 164.0 \n", + "5 479.0 431.0 449.0 422.0 526.0 \n", + "6 485.0 720.0 476.0 592.0 430.0 \n", + "7 8.0 1.0 6.0 18.0 17.0 \n", + "8 369.0 350.0 658.0 418.0 528.0 \n", + "9 18.0 49.0 41.0 32.0 51.0 \n", + "\n", + " male_45_to_64 male_50_to_54 male_55_to_59 male_65_to_66 male_67_to_69 \\\n", + "0 908.0 210.0 213.0 63.0 171.0 \n", + "1 1449.0 366.0 377.0 148.0 162.0 \n", + "2 226.0 72.0 61.0 19.0 22.0 \n", + "3 1054.0 310.0 164.0 106.0 111.0 \n", + "4 881.0 238.0 205.0 34.0 116.0 \n", + "5 2156.0 567.0 600.0 227.0 234.0 \n", + "6 1631.0 433.0 294.0 123.0 142.0 \n", + "7 50.0 8.0 13.0 2.0 5.0 \n", + "8 2232.0 536.0 675.0 252.0 324.0 \n", + "9 283.0 86.0 57.0 47.0 29.0 \n", + "\n", + " male_70_to_74 male_75_to_79 male_80_to_84 median_income pop_separated \\\n", + "0 191.0 129.0 66.0 55295.0 None \n", + "1 193.0 146.0 137.0 43674.0 None \n", + "2 25.0 40.0 39.0 51765.0 None \n", + "3 296.0 94.0 139.0 42367.0 None \n", + "4 112.0 143.0 42.0 48409.0 None \n", + "5 239.0 164.0 153.0 32468.0 None \n", + "6 247.0 166.0 61.0 29239.0 None \n", + "7 8.0 10.0 17.0 41250.0 None \n", + "8 452.0 293.0 121.0 45569.0 None \n", + "9 77.0 48.0 29.0 39831.0 None \n", + "\n", + " amerindian_pop female_under_5 four_more_cars group_quarters \\\n", + "0 84.0 146.0 368.0 44.0 \n", + "1 40.0 335.0 425.0 210.0 \n", + "2 39.0 48.0 128.0 8.0 \n", + "3 1.0 154.0 298.0 154.0 \n", + "4 729.0 172.0 474.0 159.0 \n", + "5 18.0 671.0 388.0 202.0 \n", + "6 9.0 295.0 226.0 1441.0 \n", + "7 0.0 8.0 42.0 0.0 \n", + "8 5.0 452.0 628.0 289.0 \n", + "9 99.0 54.0 83.0 15.0 \n", + "\n", + " masters_degree other_race_pop unemployed_pop walked_to_work \\\n", + "0 293.0 0.0 112.0 135.0 \n", + "1 227.0 0.0 349.0 194.0 \n", + "2 69.0 0.0 32.0 32.0 \n", + "3 213.0 202.0 122.0 104.0 \n", + "4 112.0 0.0 52.0 132.0 \n", + "5 483.0 0.0 756.0 153.0 \n", + "6 225.0 0.0 552.0 34.0 \n", + "7 15.0 1.0 1.0 13.0 \n", + "8 835.0 0.0 496.0 48.0 \n", + "9 64.0 0.0 61.0 64.0 \n", + "\n", + " worked_at_home female_10_to_14 female_15_to_17 female_18_to_19 \\\n", + "0 205.0 124.0 117.0 123.0 \n", + "1 233.0 302.0 207.0 127.0 \n", + "2 27.0 47.0 38.0 35.0 \n", + "3 61.0 258.0 131.0 66.0 \n", + "4 223.0 203.0 99.0 46.0 \n", + "5 109.0 689.0 393.0 194.0 \n", + "6 8.0 334.0 229.0 101.0 \n", + "7 23.0 35.0 14.0 0.0 \n", + "8 176.0 511.0 352.0 162.0 \n", + "9 55.0 64.0 32.0 1.0 \n", + "\n", + " female_22_to_24 female_25_to_29 female_30_to_34 female_35_to_39 \\\n", + "0 90.0 91.0 113.0 165.0 \n", + "1 119.0 220.0 233.0 262.0 \n", + "2 13.0 40.0 29.0 48.0 \n", + "3 21.0 340.0 82.0 271.0 \n", + "4 65.0 122.0 123.0 133.0 \n", + "5 209.0 573.0 521.0 629.0 \n", + "6 118.0 303.0 308.0 384.0 \n", + "7 0.0 6.0 7.0 5.0 \n", + "8 326.0 415.0 465.0 527.0 \n", + "9 26.0 44.0 58.0 49.0 \n", + "\n", + " female_40_to_44 female_45_to_49 female_50_to_54 female_55_to_59 \\\n", + "0 153.0 218.0 250.0 196.0 \n", + "1 345.0 320.0 373.0 452.0 \n", + "2 53.0 44.0 45.0 63.0 \n", + "3 321.0 285.0 188.0 273.0 \n", + "4 97.0 173.0 242.0 190.0 \n", + "5 452.0 564.0 593.0 715.0 \n", + "6 316.0 401.0 419.0 466.0 \n", + "7 13.0 14.0 11.0 25.0 \n", + "8 598.0 547.0 617.0 586.0 \n", + "9 49.0 69.0 31.0 65.0 \n", + "\n", + " female_60_to_61 female_62_to_64 female_65_to_66 female_67_to_69 \\\n", + "0 116.0 137.0 74.0 114.0 \n", + "1 152.0 200.0 126.0 168.0 \n", + "2 19.0 45.0 22.0 14.0 \n", + "3 121.0 217.0 147.0 117.0 \n", + "4 108.0 76.0 87.0 84.0 \n", + "5 199.0 291.0 159.0 271.0 \n", + "6 74.0 255.0 158.0 176.0 \n", + "7 3.0 5.0 9.0 3.0 \n", + "8 222.0 531.0 166.0 404.0 \n", + "9 61.0 44.0 22.0 32.0 \n", + "\n", + " female_70_to_74 female_75_to_79 female_80_to_84 pop_15_and_over \\\n", + "0 173.0 158.0 52.0 None \n", + "1 273.0 233.0 177.0 None \n", + "2 40.0 42.0 38.0 None \n", + "3 228.0 156.0 134.0 None \n", + "4 114.0 174.0 55.0 None \n", + "5 397.0 291.0 254.0 None \n", + "6 203.0 158.0 150.0 None \n", + "7 10.0 15.0 10.0 None \n", + "8 567.0 353.0 222.0 None \n", + "9 62.0 44.0 22.0 None \n", + "\n", + " pop_now_married asian_male_45_54 asian_male_55_64 bachelors_degree \\\n", + "0 None 0.0 0.0 866.0 \n", + "1 None 0.0 0.0 867.0 \n", + "2 None 0.0 0.0 206.0 \n", + "3 None 0.0 0.0 671.0 \n", + "4 None 0.0 0.0 643.0 \n", + "5 None 0.0 0.0 815.0 \n", + "6 None 0.0 0.0 373.0 \n", + "7 None 0.0 0.0 60.0 \n", + "8 None 0.0 0.0 1087.0 \n", + "9 None 0.0 0.0 200.0 \n", + "\n", + " black_male_45_54 black_male_55_64 commute_5_9_mins commuters_by_bus \\\n", + "0 0.0 0.0 359.0 0.0 \n", + "1 0.0 0.0 1023.0 21.0 \n", + "2 0.0 0.0 178.0 0.0 \n", + "3 18.0 0.0 867.0 2.0 \n", + "4 0.0 0.0 878.0 37.0 \n", + "5 239.0 230.0 1273.0 23.0 \n", + "6 159.0 17.0 195.0 0.0 \n", + "7 0.0 0.0 16.0 0.0 \n", + "8 291.0 314.0 605.0 0.0 \n", + "9 0.0 0.0 191.0 0.0 \n", + "\n", + " in_grades_1_to_4 in_grades_5_to_8 male_85_and_over not_hispanic_pop \\\n", + "0 253.0 252.0 41.0 5603.0 \n", + "1 569.0 512.0 114.0 9868.0 \n", + "2 64.0 79.0 8.0 1589.0 \n", + "3 483.0 334.0 60.0 5574.0 \n", + "4 272.0 269.0 66.0 5462.0 \n", + "5 877.0 1260.0 126.0 16923.0 \n", + "6 554.0 575.0 39.0 11949.0 \n", + "7 32.0 48.0 2.0 421.0 \n", + "8 750.0 892.0 146.0 16675.0 \n", + "9 102.0 101.0 14.0 1756.0 \n", + "\n", + " pop_5_years_over white_male_45_54 white_male_55_64 associates_degree \\\n", + "0 None 369.0 463.0 268.0 \n", + "1 None 628.0 782.0 926.0 \n", + "2 None 121.0 96.0 135.0 \n", + "3 None 327.0 391.0 217.0 \n", + "4 None 310.0 392.0 319.0 \n", + "5 None 824.0 828.0 660.0 \n", + "6 None 657.0 726.0 728.0 \n", + "7 None 24.0 25.0 33.0 \n", + "8 None 757.0 839.0 925.0 \n", + "9 None 114.0 130.0 77.0 \n", + "\n", + " commuters_16_over dwellings_2_units family_households hispanic_any_race \\\n", + "0 2287.0 15.0 1552.0 152.0 \n", + "1 4560.0 177.0 3080.0 371.0 \n", + "2 817.0 0.0 484.0 113.0 \n", + "3 3389.0 229.0 2164.0 2571.0 \n", + "4 2592.0 24.0 1473.0 18.0 \n", + "5 6067.0 517.0 4342.0 421.0 \n", + "6 2791.0 36.0 2940.0 226.0 \n", + "7 146.0 0.0 96.0 0.0 \n", + "8 6689.0 291.0 4545.0 435.0 \n", + "9 684.0 15.0 512.0 154.0 \n", + "\n", + " in_grades_9_to_12 income_less_10000 income_per_capita pop_25_years_over \\\n", + "0 336.0 96.0 32268.0 4210.0 \n", + "1 530.0 282.0 25005.0 7143.0 \n", + "2 67.0 62.0 29768.0 1163.0 \n", + "3 453.0 228.0 23398.0 5832.0 \n", + "4 273.0 239.0 27613.0 3858.0 \n", + "5 1082.0 956.0 18883.0 11212.0 \n", + "6 481.0 782.0 14914.0 8547.0 \n", + "7 18.0 6.0 21799.0 264.0 \n", + "8 844.0 552.0 23983.0 12123.0 \n", + "9 96.0 52.0 24178.0 1373.0 \n", + "\n", + " pop_never_married bachelors_degree_2 commute_10_14_mins \\\n", + "0 None 866.0 337.0 \n", + "1 None 867.0 568.0 \n", + "2 None 206.0 98.0 \n", + "3 None 671.0 535.0 \n", + "4 None 643.0 347.0 \n", + "5 None 815.0 792.0 \n", + "6 None 373.0 117.0 \n", + "7 None 60.0 9.0 \n", + "8 None 1087.0 694.0 \n", + "9 None 200.0 101.0 \n", + "\n", + " commute_15_19_mins commute_20_24_mins commute_25_29_mins \\\n", + "0 132.0 225.0 159.0 \n", + "1 487.0 485.0 205.0 \n", + "2 93.0 64.0 38.0 \n", + "3 412.0 410.0 23.0 \n", + "4 158.0 167.0 120.0 \n", + "5 998.0 913.0 366.0 \n", + "6 575.0 297.0 111.0 \n", + "7 3.0 16.0 4.0 \n", + "8 858.0 1025.0 749.0 \n", + "9 81.0 24.0 18.0 \n", + "\n", + " commute_30_34_mins commute_35_39_mins commute_35_44_mins \\\n", + "0 162.0 214.0 247.0 \n", + "1 236.0 39.0 82.0 \n", + "2 47.0 15.0 15.0 \n", + "3 202.0 71.0 117.0 \n", + "4 92.0 17.0 56.0 \n", + "5 587.0 78.0 167.0 \n", + "6 235.0 220.0 384.0 \n", + "7 12.0 3.0 17.0 \n", + "8 1067.0 154.0 395.0 \n", + "9 34.0 0.0 20.0 \n", + "\n", + " commute_40_44_mins commute_45_59_mins commute_60_89_mins \\\n", + "0 33.0 271.0 150.0 \n", + "1 43.0 292.0 205.0 \n", + "2 0.0 9.0 35.0 \n", + "3 46.0 75.0 52.0 \n", + "4 39.0 55.0 143.0 \n", + "5 89.0 181.0 87.0 \n", + "6 164.0 358.0 325.0 \n", + "7 14.0 15.0 3.0 \n", + "8 241.0 445.0 301.0 \n", + "9 20.0 41.0 5.0 \n", + "\n", + " female_85_and_over income_10000_14999 income_15000_19999 \\\n", + "0 42.0 135.0 96.0 \n", + "1 229.0 419.0 298.0 \n", + "2 32.0 42.0 50.0 \n", + "3 148.0 265.0 288.0 \n", + "4 143.0 174.0 110.0 \n", + "5 223.0 689.0 583.0 \n", + "6 94.0 288.0 476.0 \n", + "7 1.0 21.0 25.0 \n", + "8 288.0 504.0 566.0 \n", + "9 54.0 50.0 20.0 \n", + "\n", + " income_20000_24999 income_25000_29999 income_30000_34999 \\\n", + "0 101.0 88.0 84.0 \n", + "1 345.0 218.0 343.0 \n", + "2 67.0 67.0 35.0 \n", + "3 127.0 156.0 203.0 \n", + "4 132.0 111.0 119.0 \n", + "5 512.0 504.0 377.0 \n", + "6 430.0 203.0 138.0 \n", + "7 13.0 4.0 9.0 \n", + "8 332.0 278.0 457.0 \n", + "9 73.0 56.0 77.0 \n", + "\n", + " income_35000_39999 income_40000_44999 income_45000_49999 \\\n", + "0 210.0 166.0 76.0 \n", + "1 211.0 226.0 222.0 \n", + "2 32.0 35.0 12.0 \n", + "3 207.0 137.0 124.0 \n", + "4 168.0 91.0 124.0 \n", + "5 385.0 382.0 336.0 \n", + "6 224.0 365.0 182.0 \n", + "7 8.0 12.0 10.0 \n", + "8 308.0 323.0 412.0 \n", + "9 77.0 20.0 52.0 \n", + "\n", + " income_50000_59999 income_60000_74999 income_75000_99999 \\\n", + "0 305.0 241.0 267.0 \n", + "1 433.0 515.0 485.0 \n", + "2 79.0 109.0 139.0 \n", + "3 259.0 329.0 385.0 \n", + "4 227.0 270.0 279.0 \n", + "5 544.0 392.0 555.0 \n", + "6 271.0 373.0 356.0 \n", + "7 14.0 22.0 20.0 \n", + "8 616.0 694.0 614.0 \n", + "9 50.0 77.0 90.0 \n", + "\n", + " married_households not_in_labor_force not_us_citizen_pop \\\n", + "0 1348.0 2029.0 20.0 \n", + "1 2221.0 3045.0 136.0 \n", + "2 401.0 462.0 12.0 \n", + "3 1592.0 2716.0 207.0 \n", + "4 1217.0 1451.0 27.0 \n", + "5 2758.0 6169.0 97.0 \n", + "6 2311.0 6325.0 34.0 \n", + "7 87.0 120.0 2.0 \n", + "8 3625.0 6517.0 169.0 \n", + "9 420.0 717.0 30.0 \n", + "\n", + " pop_in_labor_force high_school_diploma hispanic_male_45_54 \\\n", + "0 2733.0 1366.0 0.0 \n", + "1 5198.0 2447.0 39.0 \n", + "2 917.0 302.0 6.0 \n", + "3 3780.0 1597.0 164.0 \n", + "4 2911.0 1367.0 0.0 \n", + "5 7082.0 3602.0 19.0 \n", + "6 3584.0 2353.0 33.0 \n", + "7 178.0 73.0 0.0 \n", + "8 7455.0 3398.0 13.0 \n", + "9 812.0 426.0 11.0 \n", + "\n", + " hispanic_male_55_64 occupation_services workers_16_and_over \\\n", + "0 5.0 461.0 2492.0 \n", + "1 0.0 824.0 4793.0 \n", + "2 2.0 165.0 844.0 \n", + "3 147.0 770.0 3450.0 \n", + "4 0.0 393.0 2815.0 \n", + "5 19.0 1441.0 6176.0 \n", + "6 17.0 428.0 2799.0 \n", + "7 0.0 17.0 169.0 \n", + "8 0.0 1319.0 6865.0 \n", + "9 0.0 113.0 739.0 \n", + "\n", + " civilian_labor_force commute_60_more_mins commute_90_more_mins \\\n", + "0 2733.0 203.0 53.0 \n", + "1 5187.0 319.0 114.0 \n", + "2 917.0 43.0 8.0 \n", + "3 3780.0 133.0 81.0 \n", + "4 2911.0 175.0 32.0 \n", + "5 7082.0 159.0 72.0 \n", + "6 3584.0 447.0 122.0 \n", + "7 178.0 6.0 3.0 \n", + "8 7445.0 431.0 130.0 \n", + "9 812.0 24.0 19.0 \n", + "\n", + " commute_less_10_mins commuters_by_carpool employed_information \\\n", + "0 551.0 267.0 31.0 \n", + "1 1886.0 453.0 153.0 \n", + "2 410.0 42.0 10.0 \n", + "3 1482.0 424.0 17.0 \n", + "4 1422.0 247.0 30.0 \n", + "5 1904.0 594.0 26.0 \n", + "6 267.0 460.0 30.0 \n", + "7 64.0 24.0 1.0 \n", + "8 1025.0 513.0 74.0 \n", + "9 341.0 37.0 14.0 \n", + "\n", + " in_undergrad_college income_100000_124999 income_125000_149999 \\\n", + "0 79.0 170.0 82.0 \n", + "1 176.0 317.0 121.0 \n", + "2 48.0 45.0 11.0 \n", + "3 70.0 176.0 114.0 \n", + "4 102.0 226.0 37.0 \n", + "5 492.0 347.0 96.0 \n", + "6 292.0 120.0 50.0 \n", + "7 17.0 7.0 1.0 \n", + "8 595.0 379.0 287.0 \n", + "9 26.0 80.0 20.0 \n", + "\n", + " income_150000_199999 male_male_households nonfamily_households \\\n", + "0 186.0 0.0 853.0 \n", + "1 93.0 0.0 1534.0 \n", + "2 18.0 0.0 344.0 \n", + "3 69.0 0.0 979.0 \n", + "4 32.0 0.0 951.0 \n", + "5 143.0 6.0 2533.0 \n", + "6 58.0 0.0 1376.0 \n", + "7 2.0 0.0 81.0 \n", + "8 257.0 10.0 2182.0 \n", + "9 2.0 0.0 293.0 \n", + "\n", + " rent_over_50_percent vacant_housing_units commuters_drove_alone \\\n", + "0 47.0 338.0 1852.0 \n", + "1 246.0 617.0 3813.0 \n", + "2 16.0 163.0 732.0 \n", + "3 227.0 1159.0 2857.0 \n", + "4 128.0 661.0 2163.0 \n", + "5 641.0 1303.0 5259.0 \n", + "6 267.0 924.0 2292.0 \n", + "7 8.0 84.0 109.0 \n", + "8 185.0 2328.0 5900.0 \n", + "9 26.0 265.0 575.0 \n", + "\n", + " employed_construction employed_retail_trade income_200000_or_more \\\n", + "0 370.0 180.0 102.0 \n", + "1 309.0 641.0 86.0 \n", + "2 112.0 73.0 25.0 \n", + "3 171.0 383.0 76.0 \n", + "4 271.0 363.0 85.0 \n", + "5 194.0 741.0 74.0 \n", + "6 197.0 520.0 0.0 \n", + "7 15.0 13.0 3.0 \n", + "8 386.0 769.0 148.0 \n", + "9 74.0 57.0 9.0 \n", + "\n", + " less_one_year_college male_45_64_grade_9_12 one_year_more_college \\\n", + "0 261.0 24.0 683.0 \n", + "1 716.0 111.0 935.0 \n", + "2 106.0 7.0 207.0 \n", + "3 500.0 201.0 1092.0 \n", + "4 196.0 31.0 571.0 \n", + "5 705.0 408.0 1354.0 \n", + "6 360.0 347.0 1107.0 \n", + "7 26.0 0.0 34.0 \n", + "8 828.0 237.0 1843.0 \n", + "9 90.0 14.0 297.0 \n", + "\n", + " rent_10_to_15_percent rent_15_to_20_percent rent_20_to_25_percent \\\n", + "0 94.0 22.0 52.0 \n", + "1 180.0 193.0 164.0 \n", + "2 27.0 16.0 18.0 \n", + "3 64.0 100.0 59.0 \n", + "4 87.0 63.0 58.0 \n", + "5 263.0 285.0 371.0 \n", + "6 109.0 22.0 83.0 \n", + "7 13.0 3.0 1.0 \n", + "8 149.0 96.0 162.0 \n", + "9 32.0 46.0 8.0 \n", + "\n", + " rent_25_to_30_percent rent_30_to_35_percent rent_35_to_40_percent \\\n", + "0 15.0 45.0 5.0 \n", + "1 144.0 51.0 77.0 \n", + "2 13.0 19.0 8.0 \n", + "3 44.0 46.0 25.0 \n", + "4 79.0 2.0 37.0 \n", + "5 367.0 188.0 167.0 \n", + "6 98.0 107.0 49.0 \n", + "7 3.0 2.0 5.0 \n", + "8 91.0 35.0 109.0 \n", + "9 34.0 26.0 15.0 \n", + "\n", + " rent_40_to_50_percent rent_under_10_percent sales_office_employed \\\n", + "0 32.0 6.0 404.0 \n", + "1 168.0 75.0 1081.0 \n", + "2 0.0 10.0 185.0 \n", + "3 24.0 19.0 809.0 \n", + "4 104.0 64.0 484.0 \n", + "5 267.0 155.0 1164.0 \n", + "6 35.0 71.0 894.0 \n", + "7 0.0 0.0 20.0 \n", + "8 75.0 51.0 1347.0 \n", + "9 13.0 22.0 156.0 \n", + "\n", + " speak_spanish_at_home two_or_more_races_pop dwellings_3_to_4_units \\\n", + "0 None 83.0 41.0 \n", + "1 None 188.0 291.0 \n", + "2 None 3.0 33.0 \n", + "3 None 143.0 110.0 \n", + "4 None 233.0 108.0 \n", + "5 None 316.0 513.0 \n", + "6 None 107.0 53.0 \n", + "7 None 9.0 0.0 \n", + "8 None 151.0 163.0 \n", + "9 None 0.0 6.0 \n", + "\n", + " dwellings_5_to_9_units employed_manufacturing male_45_64_high_school \\\n", + "0 49.0 215.0 287.0 \n", + "1 101.0 870.0 680.0 \n", + "2 0.0 6.0 82.0 \n", + "3 16.0 214.0 458.0 \n", + "4 70.0 41.0 387.0 \n", + "5 49.0 1328.0 866.0 \n", + "6 105.0 45.0 736.0 \n", + "7 0.0 13.0 21.0 \n", + "8 0.0 787.0 918.0 \n", + "9 6.0 22.0 111.0 \n", + "\n", + " occupied_housing_units male_45_64_some_college mortgaged_housing_units \\\n", + "0 2405.0 247.0 1122.0 \n", + "1 4614.0 264.0 1552.0 \n", + "2 828.0 61.0 306.0 \n", + "3 3143.0 203.0 889.0 \n", + "4 2424.0 140.0 663.0 \n", + "5 6875.0 337.0 1652.0 \n", + "6 4316.0 218.0 958.0 \n", + "7 177.0 7.0 25.0 \n", + "8 6727.0 540.0 2932.0 \n", + "9 805.0 85.0 257.0 \n", + "\n", + " occupation_sales_office population_3_years_over asian_including_hispanic \\\n", + "0 404.0 5553.0 0.0 \n", + "1 1081.0 9869.0 0.0 \n", + "2 185.0 1623.0 0.0 \n", + "3 809.0 7863.0 0.0 \n", + "4 484.0 5334.0 0.0 \n", + "5 1164.0 16514.0 0.0 \n", + "6 894.0 11860.0 0.0 \n", + "7 20.0 415.0 0.0 \n", + "8 1347.0 16615.0 0.0 \n", + "9 156.0 1870.0 0.0 \n", + "\n", + " black_including_hispanic dwellings_10_to_19_units \\\n", + "0 4.0 41.0 \n", + "1 0.0 49.0 \n", + "2 1.0 0.0 \n", + "3 161.0 6.0 \n", + "4 0.0 38.0 \n", + "5 4717.0 90.0 \n", + "6 606.0 28.0 \n", + "7 0.0 0.0 \n", + "8 4762.0 52.0 \n", + "9 0.0 0.0 \n", + "\n", + " dwellings_20_to_49_units employed_wholesale_trade \\\n", + "0 0.0 42.0 \n", + "1 40.0 120.0 \n", + "2 0.0 13.0 \n", + "3 18.0 39.0 \n", + "4 52.0 75.0 \n", + "5 16.0 110.0 \n", + "6 18.0 88.0 \n", + "7 0.0 3.0 \n", + "8 12.0 221.0 \n", + "9 21.0 20.0 \n", + "\n", + " female_female_households rent_burden_not_computed \\\n", + "0 0.0 67.0 \n", + "1 3.0 185.0 \n", + "2 0.0 52.0 \n", + "3 0.0 137.0 \n", + "4 0.0 125.0 \n", + "5 5.0 540.0 \n", + "6 0.0 361.0 \n", + "7 0.0 30.0 \n", + "8 0.0 243.0 \n", + "9 0.0 68.0 \n", + "\n", + " white_including_hispanic high_school_including_ged \\\n", + "0 5533.0 1564.0 \n", + "1 9756.0 2785.0 \n", + "2 1649.0 361.0 \n", + "3 6969.0 1862.0 \n", + "4 4500.0 1511.0 \n", + "5 12113.0 4279.0 \n", + "6 11397.0 3313.0 \n", + "7 411.0 79.0 \n", + "8 12144.0 4105.0 \n", + "9 1783.0 493.0 \n", + "\n", + " commuters_by_car_truck_van dwellings_1_units_attached \\\n", + "0 2119.0 0.0 \n", + "1 4266.0 77.0 \n", + "2 774.0 22.0 \n", + "3 3281.0 23.0 \n", + "4 2410.0 16.0 \n", + "5 5853.0 54.0 \n", + "6 2752.0 37.0 \n", + "7 133.0 10.0 \n", + "8 6413.0 41.0 \n", + "9 612.0 7.0 \n", + "\n", + " dwellings_1_units_detached dwellings_50_or_more_units \\\n", + "0 2208.0 0.0 \n", + "1 4318.0 0.0 \n", + "2 890.0 0.0 \n", + "3 3498.0 0.0 \n", + "4 2281.0 0.0 \n", + "5 6098.0 91.0 \n", + "6 2976.0 54.0 \n", + "7 229.0 0.0 \n", + "8 6183.0 2.0 \n", + "9 863.0 6.0 \n", + "\n", + " housing_built_2000_to_2004 male_45_64_graduate_degree \\\n", + "0 61.0 87.0 \n", + "1 27.0 32.0 \n", + "2 15.0 3.0 \n", + "3 78.0 17.0 \n", + "4 43.0 32.0 \n", + "5 206.0 25.0 \n", + "6 143.0 41.0 \n", + "7 3.0 1.0 \n", + "8 218.0 113.0 \n", + "9 12.0 15.0 \n", + "\n", + " occupation_management_arts population_1_year_and_over \\\n", + "0 955.0 5634.0 \n", + "1 1470.0 10138.0 \n", + "2 264.0 1659.0 \n", + "3 850.0 8140.0 \n", + "4 1217.0 5425.0 \n", + "5 1560.0 17033.0 \n", + "6 875.0 12072.0 \n", + "7 83.0 421.0 \n", + "8 2279.0 16964.0 \n", + "9 233.0 1903.0 \n", + "\n", + " speak_only_english_at_home housing_built_2005_or_later \\\n", + "0 None 16.0 \n", + "1 None 5.0 \n", + "2 None 0.0 \n", + "3 None 39.0 \n", + "4 None 19.0 \n", + "5 None 20.0 \n", + "6 None 55.0 \n", + "7 None 0.0 \n", + "8 None 102.0 \n", + "9 None 15.0 \n", + "\n", + " male_45_64_bachelors_degree median_year_structure_built \\\n", + "0 158.0 1987.0 \n", + "1 178.0 1952.0 \n", + "2 48.0 1957.0 \n", + "3 93.0 1969.0 \n", + "4 152.0 1966.0 \n", + "5 211.0 1968.0 \n", + "6 19.0 1985.0 \n", + "7 6.0 1959.0 \n", + "8 153.0 1983.0 \n", + "9 40.0 1957.0 \n", + "\n", + " children_in_single_female_hh families_with_young_children \\\n", + "0 147.0 335.0 \n", + "1 756.0 662.0 \n", + "2 43.0 137.0 \n", + "3 396.0 589.0 \n", + "4 220.0 338.0 \n", + "5 2120.0 1330.0 \n", + "6 473.0 787.0 \n", + "7 3.0 27.0 \n", + "8 761.0 1033.0 \n", + "9 109.0 128.0 \n", + "\n", + " graduate_professional_degree households_retirement_income \\\n", + "0 337.0 625.0 \n", + "1 281.0 807.0 \n", + "2 72.0 107.0 \n", + "3 261.0 679.0 \n", + "4 210.0 261.0 \n", + "5 532.0 1138.0 \n", + "6 327.0 987.0 \n", + "7 19.0 23.0 \n", + "8 987.0 1480.0 \n", + "9 64.0 169.0 \n", + "\n", + " male_45_64_associates_degree male_45_64_less_than_9_grade \\\n", + "0 92.0 13.0 \n", + "1 151.0 33.0 \n", + "2 22.0 3.0 \n", + "3 7.0 75.0 \n", + "4 83.0 56.0 \n", + "5 58.0 251.0 \n", + "6 117.0 153.0 \n", + "7 15.0 0.0 \n", + "8 175.0 96.0 \n", + "9 5.0 13.0 \n", + "\n", + " million_dollar_housing_units owner_occupied_housing_units \\\n", + "0 26.0 2020.0 \n", + "1 0.0 3131.0 \n", + "2 0.0 649.0 \n", + "3 35.0 2398.0 \n", + "4 16.0 1677.0 \n", + "5 0.0 3631.0 \n", + "6 0.0 3114.0 \n", + "7 0.0 112.0 \n", + "8 0.0 5531.0 \n", + "9 0.0 515.0 \n", + "\n", + " percent_income_spent_on_rent aggregate_travel_time_to_work \\\n", + "0 23.6 60655.0 \n", + "1 26.3 86680.0 \n", + "2 22.9 NaN \n", + "3 32.0 53750.0 \n", + "4 27.5 40040.0 \n", + "5 28.8 105750.0 \n", + "6 31.8 98955.0 \n", + "7 25.8 3040.0 \n", + "8 26.0 171195.0 \n", + "9 25.4 11965.0 \n", + "\n", + " amerindian_including_hispanic housing_built_1939_or_earlier \\\n", + "0 84.0 97.0 \n", + "1 64.0 181.0 \n", + "2 39.0 95.0 \n", + "3 1.0 551.0 \n", + "4 747.0 255.0 \n", + "5 18.0 853.0 \n", + "6 9.0 141.0 \n", + "7 0.0 31.0 \n", + "8 5.0 343.0 \n", + "9 99.0 73.0 \n", + "\n", + " housing_units_renter_occupied pop_determined_poverty_status \\\n", + "0 385.0 5711.0 \n", + "1 1483.0 10014.0 \n", + "2 179.0 1690.0 \n", + "3 745.0 7955.0 \n", + "4 747.0 5294.0 \n", + "5 3244.0 17042.0 \n", + "6 1202.0 10690.0 \n", + "7 65.0 421.0 \n", + "8 1196.0 16806.0 \n", + "9 290.0 1906.0 \n", + "\n", + " vacant_housing_units_for_rent vacant_housing_units_for_sale \\\n", + "0 11.0 34.0 \n", + "1 142.0 67.0 \n", + "2 28.0 0.0 \n", + "3 31.0 57.0 \n", + "4 95.0 39.0 \n", + "5 313.0 89.0 \n", + "6 63.0 38.0 \n", + "7 2.0 0.0 \n", + "8 222.0 164.0 \n", + "9 22.0 38.0 \n", + "\n", + " employed_public_administration less_than_high_school_graduate \\\n", + "0 291.0 231.0 \n", + "1 122.0 633.0 \n", + "2 28.0 76.0 \n", + "3 192.0 1229.0 \n", + "4 118.0 408.0 \n", + "5 313.0 2867.0 \n", + "6 164.0 2339.0 \n", + "7 3.0 13.0 \n", + "8 196.0 2348.0 \n", + "9 62.0 152.0 \n", + "\n", + " commuters_by_subway_or_elevated bachelors_degree_or_higher_25_64 \\\n", + "0 0.0 873.0 \n", + "1 0.0 856.0 \n", + "2 0.0 211.0 \n", + "3 0.0 556.0 \n", + "4 0.0 580.0 \n", + "5 0.0 1066.0 \n", + "6 0.0 553.0 \n", + "7 0.0 59.0 \n", + "8 0.0 1485.0 \n", + "9 0.0 194.0 \n", + "\n", + " employed_education_health_social speak_spanish_at_home_low_english \\\n", + "0 380.0 None \n", + "1 1172.0 None \n", + "2 196.0 None \n", + "3 647.0 None \n", + "4 674.0 None \n", + "5 1780.0 None \n", + "6 775.0 None \n", + "7 37.0 None \n", + "8 1673.0 None \n", + "9 121.0 None \n", + "\n", + " commuters_by_public_transportation different_house_year_ago_same_city \\\n", + "0 0.0 32.0 \n", + "1 21.0 550.0 \n", + "2 0.0 61.0 \n", + "3 2.0 634.0 \n", + "4 37.0 182.0 \n", + "5 23.0 1577.0 \n", + "6 0.0 74.0 \n", + "7 0.0 1.0 \n", + "8 0.0 378.0 \n", + "9 0.0 108.0 \n", + "\n", + " some_college_and_associates_degree households_public_asst_or_food_stamps \\\n", + "0 1212.0 179.0 \n", + "1 2577.0 831.0 \n", + "2 448.0 61.0 \n", + "3 1809.0 600.0 \n", + "4 1086.0 340.0 \n", + "5 2719.0 2237.0 \n", + "6 2195.0 1218.0 \n", + "7 93.0 6.0 \n", + "8 3596.0 1129.0 \n", + "9 464.0 99.0 \n", + "\n", + " management_business_sci_arts_employed \\\n", + "0 955.0 \n", + "1 1470.0 \n", + "2 264.0 \n", + "3 850.0 \n", + "4 1217.0 \n", + "5 1560.0 \n", + "6 875.0 \n", + "7 83.0 \n", + "8 2279.0 \n", + "9 233.0 \n", + "\n", + " employed_finance_insurance_real_estate \\\n", + "0 141.0 \n", + "1 170.0 \n", + "2 30.0 \n", + "3 133.0 \n", + "4 184.0 \n", + "5 282.0 \n", + "6 162.0 \n", + "7 1.0 \n", + "8 279.0 \n", + "9 11.0 \n", + "\n", + " different_house_year_ago_different_city \\\n", + "0 471.0 \n", + "1 839.0 \n", + "2 84.0 \n", + "3 829.0 \n", + "4 444.0 \n", + "5 1594.0 \n", + "6 1449.0 \n", + "7 54.0 \n", + "8 983.0 \n", + "9 114.0 \n", + "\n", + " employed_science_management_admin_waste \\\n", + "0 141.0 \n", + "1 173.0 \n", + "2 34.0 \n", + "3 231.0 \n", + "4 92.0 \n", + "5 164.0 \n", + "6 85.0 \n", + "7 3.0 \n", + "8 495.0 \n", + "9 89.0 \n", + "\n", + " one_parent_families_with_young_children \\\n", + "0 64.0 \n", + "1 327.0 \n", + "2 20.0 \n", + "3 206.0 \n", + "4 85.0 \n", + "5 813.0 \n", + "6 184.0 \n", + "7 2.0 \n", + "8 394.0 \n", + "9 49.0 \n", + "\n", + " two_parent_families_with_young_children \\\n", + "0 271.0 \n", + "1 335.0 \n", + "2 117.0 \n", + "3 383.0 \n", + "4 253.0 \n", + "5 517.0 \n", + "6 603.0 \n", + "7 25.0 \n", + "8 639.0 \n", + "9 79.0 \n", + "\n", + " employed_other_services_not_public_admin \\\n", + "0 94.0 \n", + "1 301.0 \n", + "2 51.0 \n", + "3 363.0 \n", + "4 139.0 \n", + "5 304.0 \n", + "6 183.0 \n", + "7 6.0 \n", + "8 231.0 \n", + "9 17.0 \n", + "\n", + " owner_occupied_housing_units_median_value \\\n", + "0 195000.0 \n", + "1 81800.0 \n", + "2 76400.0 \n", + "3 82000.0 \n", + "4 85800.0 \n", + "5 73300.0 \n", + "6 65500.0 \n", + "7 101500.0 \n", + "8 112600.0 \n", + "9 110900.0 \n", + "\n", + " employed_transportation_warehousing_utilities \\\n", + "0 90.0 \n", + "1 245.0 \n", + "2 55.0 \n", + "3 401.0 \n", + "4 52.0 \n", + "5 299.0 \n", + "6 165.0 \n", + "7 9.0 \n", + "8 788.0 \n", + "9 96.0 \n", + "\n", + " occupation_production_transportation_material \\\n", + "0 310.0 \n", + "1 949.0 \n", + "2 73.0 \n", + "3 510.0 \n", + "4 306.0 \n", + "5 1565.0 \n", + "6 319.0 \n", + "7 21.0 \n", + "8 1238.0 \n", + "9 126.0 \n", + "\n", + " father_one_parent_families_with_young_children \\\n", + "0 0.0 \n", + "1 29.0 \n", + "2 13.0 \n", + "3 165.0 \n", + "4 26.0 \n", + "5 89.0 \n", + "6 24.0 \n", + "7 2.0 \n", + "8 89.0 \n", + "9 21.0 \n", + "\n", + " owner_occupied_housing_units_lower_value_quartile \\\n", + "0 119800.0 \n", + "1 49500.0 \n", + "2 44300.0 \n", + "3 41600.0 \n", + "4 51600.0 \n", + "5 37000.0 \n", + "6 30000.0 \n", + "7 57000.0 \n", + "8 62700.0 \n", + "9 83300.0 \n", + "\n", + " owner_occupied_housing_units_upper_value_quartile \\\n", + "0 301300.0 \n", + "1 126300.0 \n", + "2 124400.0 \n", + "3 165300.0 \n", + "4 156600.0 \n", + "5 120900.0 \n", + "6 117600.0 \n", + "7 162500.0 \n", + "8 189100.0 \n", + "9 162900.0 \n", + "\n", + " employed_agriculture_forestry_fishing_hunting_mining \\\n", + "0 460.0 \n", + "1 349.0 \n", + "2 253.0 \n", + "3 602.0 \n", + "4 706.0 \n", + "5 405.0 \n", + "6 392.0 \n", + "7 67.0 \n", + "8 353.0 \n", + "9 96.0 \n", + "\n", + " occupation_natural_resources_construction_maintenance \\\n", + "0 491.0 \n", + "1 514.0 \n", + "2 198.0 \n", + "3 719.0 \n", + "4 459.0 \n", + "5 596.0 \n", + "6 516.0 \n", + "7 36.0 \n", + "8 766.0 \n", + "9 123.0 \n", + "\n", + " two_parents_in_labor_force_families_with_young_children \\\n", + "0 90.0 \n", + "1 248.0 \n", + "2 65.0 \n", + "3 214.0 \n", + "4 215.0 \n", + "5 216.0 \n", + "6 275.0 \n", + "7 13.0 \n", + "8 386.0 \n", + "9 10.0 \n", + "\n", + " employed_arts_entertainment_recreation_accommodation_food \\\n", + "0 186.0 \n", + "1 213.0 \n", + "2 24.0 \n", + "3 265.0 \n", + "4 114.0 \n", + "5 380.0 \n", + "6 226.0 \n", + "7 6.0 \n", + "8 697.0 \n", + "9 72.0 \n", + "\n", + " renter_occupied_housing_units_paying_cash_median_gross_rent \\\n", + "0 640.0 \n", + "1 664.0 \n", + "2 551.0 \n", + "3 721.0 \n", + "4 562.0 \n", + "5 568.0 \n", + "6 483.0 \n", + "7 658.0 \n", + "8 603.0 \n", + "9 814.0 \n", + "\n", + " two_parents_not_in_labor_force_families_with_young_children \\\n", + "0 18.0 \n", + "1 12.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 2.0 \n", + "6 78.0 \n", + "7 0.0 \n", + "8 8.0 \n", + "9 0.0 \n", + "\n", + " father_in_labor_force_one_parent_families_with_young_children \\\n", + "0 0.0 \n", + "1 25.0 \n", + "2 13.0 \n", + "3 165.0 \n", + "4 14.0 \n", + "5 69.0 \n", + "6 24.0 \n", + "7 2.0 \n", + "8 80.0 \n", + "9 21.0 \n", + "\n", + " two_parents_father_in_labor_force_families_with_young_children \\\n", + "0 163.0 \n", + "1 64.0 \n", + "2 48.0 \n", + "3 169.0 \n", + "4 32.0 \n", + "5 299.0 \n", + "6 211.0 \n", + "7 12.0 \n", + "8 245.0 \n", + "9 67.0 \n", + "\n", + " two_parents_mother_in_labor_force_families_with_young_children \n", + "0 0.0 \n", + "1 11.0 \n", + "2 4.0 \n", + "3 0.0 \n", + "4 6.0 \n", + "5 0.0 \n", + "6 39.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 2.0 " + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 993 + }, + "id": "Teww9Hmuzodp", + "outputId": "99138fca-7bdc-446d-fe3d-b4c43033b11e" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                slugnamedescriptiondb_typeagg_methodcolumn_namevariable_group_iddataset_idid
                                                0geoid_9d24d904geoidUS Census Block Groups GeoidsSTRINGNonegeoidNonecarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                1do_date_69c292c1do_dateFirst day of the year the survey was issuedDATENonedo_dateNonecarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                2total_pop_9ba05abfTotal PopulationTotal Population. The total number of all peop...FLOATSUMtotal_popNonecarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                3households_51ae36c8Number of householdsHouseholds. A count of the number of household...FLOATSUMhouseholdsNonecarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                4male_pop_73e15d04male_popMale Population. The number of people within e...FLOATSUMmale_popcarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                \n", + "
                                                " + ], + "text/plain": [ + " slug name \\\n", + "0 geoid_9d24d904 geoid \n", + "1 do_date_69c292c1 do_date \n", + "2 total_pop_9ba05abf Total Population \n", + "3 households_51ae36c8 Number of households \n", + "4 male_pop_73e15d04 male_pop \n", + "\n", + " description db_type agg_method \\\n", + "0 US Census Block Groups Geoids STRING None \n", + "1 First day of the year the survey was issued DATE None \n", + "2 Total Population. The total number of all peop... FLOAT SUM \n", + "3 Households. A count of the number of household... FLOAT SUM \n", + "4 Male Population. The number of people within e... FLOAT SUM \n", + "\n", + " column_name variable_group_id \\\n", + "0 geoid None \n", + "1 do_date None \n", + "2 total_pop None \n", + "3 households None \n", + "4 male_pop carto-do-public-data.usa_acs.demographics_soci... \n", + "\n", + " dataset_id \\\n", + "0 carto-do-public-data.usa_acs.demographics_soci... \n", + "1 carto-do-public-data.usa_acs.demographics_soci... \n", + "2 carto-do-public-data.usa_acs.demographics_soci... \n", + "3 carto-do-public-data.usa_acs.demographics_soci... \n", + "4 carto-do-public-data.usa_acs.demographics_soci... \n", + "\n", + " id \n", + "0 carto-do-public-data.usa_acs.demographics_soci... \n", + "1 carto-do-public-data.usa_acs.demographics_soci... \n", + "2 carto-do-public-data.usa_acs.demographics_soci... \n", + "3 carto-do-public-data.usa_acs.demographics_soci... \n", + "4 carto-do-public-data.usa_acs.demographics_soci... " + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.variables.to_dataframe().head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can explore the variable names in the previous dataframe using the column `column_name`. The variable names we are interested in are `total_pop` and `geom`.\n", + "\n", + "In order to download a dataset, we will use the Dataset function `to_dataframe()`. Since we are only interested in downloading two variables of the dataset, we can use a SQL query to express this as shown in the following line of code." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "id": "Jce9Hfys0td6" + }, + "outputs": [], + "source": [ + "county_pop_df = dataset.to_dataframe(sql_query=\"select total_pop, geom from $dataset$\")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 197 + }, + "id": "Zu1A2UET2fY7", + "outputId": "ce64b55c-1b7b-4ecc-cac6-6d1acd34683a" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                total_popgeom
                                                091518.0POLYGON ((-97.03319 29.06433, -97.25027 28.905...
                                                116275.0POLYGON ((-116.15359 46.34831, -116.12716 46.2...
                                                27113.0POLYGON ((-79.45176 37.76645, -79.42082 37.789...
                                                313843.0POLYGON ((-77.18885 38.89627, -77.18972 38.878...
                                                424741.0POLYGON ((-92.55449 42.64231, -92.31808 42.642...
                                                \n", + "
                                                " + ], + "text/plain": [ + " total_pop geom\n", + "0 91518.0 POLYGON ((-97.03319 29.06433, -97.25027 28.905...\n", + "1 16275.0 POLYGON ((-116.15359 46.34831, -116.12716 46.2...\n", + "2 7113.0 POLYGON ((-79.45176 37.76645, -79.42082 37.789...\n", + "3 13843.0 POLYGON ((-77.18885 38.89627, -77.18972 38.878...\n", + "4 24741.0 POLYGON ((-92.55449 42.64231, -92.31808 42.642..." + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "county_pop_df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Xvmj4nXV_p-w" + }, + "source": [ + "##### Visualize dataset\n", + "\n", + "We can now visualize the data." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 674 + }, + "id": "LXld0r-G2mS7", + "outputId": "276dce9d-65af-4de1-f0b8-ec4ca407fc91" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                                \n", + "
                                                \n", + "
                                                \n", + " \n", + " \n", + "
                                                \n", + "
                                                \n", + " \n", + "\n", + "
                                                \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                \n", + " \n", + " \n", + "
                                                \n", + "
                                                \n", + "
                                                \n", + "
                                                \n", + " \n", + "
                                                \n", + "
                                                \n", + "
                                                \n", + "\n", + " \n", + "\n", + "
                                                \n", + "
                                                \n", + " :\n", + "
                                                \n", + " \n", + " \n", + "
                                                \n", + "
                                                \n", + "\n", + "
                                                \n", + " StackTrace\n", + "
                                                  \n", + "
                                                  \n", + "
                                                  \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Map(Layer(county_pop_df, \n", + " geom_col='geom',\n", + " style=color_bins_style('total_pop'),\n", + " legends=color_bins_legend('Population'),\n", + " encode_data=False),\n", + " viewport={'zoom': 3.56, 'lat': 38.521492, 'lng': -99.224130})" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Vwildiv-tKf_" + }, + "source": [ + "\n", + "#### Download a dataset applying spatial filtering. Filter by bounding box or polygon\n", + "\n", + "We will now work with the ACS census tract demographics dataset identified previously `acs_sociodemogr_496a0675`.\n", + "\n", + "In this case, we are interested in all variables, but we don't want the data for the whole US. We can filter a dataset by bounding box or polygon very easily.\n", + "\n", + "You can use the following link to calculate the bounding box you want to use as filter:\n", + " http://bboxfinder.com" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "id": "LyMTJKjp_L-O" + }, + "outputs": [], + "source": [ + "dataset = Dataset.get('acs_sociodemogr_496a0675')" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 367 + }, + "id": "dTCHAaQpAEe8", + "outputId": "0f1afacd-e4ad-472b-be7d-0f7ad4c5df25" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                  \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                  geoidno_cardo_datemale_20male_21no_carsone_carpovertychildrenmale_poptwo_carsasian_popblack_popfemale_20female_21in_schoolpop_25_64total_popwhite_popfemale_popgini_indexhouseholdsmale_60_61male_62_64median_agethree_carsmale_5_to_9median_rentpop_16_overpop_widowedarmed_forcesemployed_pophispanic_popmale_under_5mobile_homespop_divorcedfemale_5_to_9housing_unitsmale_10_to_14male_15_to_17male_18_to_19male_22_to_24male_25_to_29male_30_to_34male_35_to_39male_40_to_44male_45_to_49male_45_to_64male_50_to_54male_55_to_59male_65_to_66male_67_to_69male_70_to_74male_75_to_79male_80_to_84median_incomepop_separatedamerindian_popfemale_under_5four_more_carsgroup_quartersmasters_degreeother_race_popunemployed_popwalked_to_workworked_at_homefemale_10_to_14female_15_to_17female_18_to_19female_22_to_24female_25_to_29female_30_to_34female_35_to_39female_40_to_44female_45_to_49female_50_to_54female_55_to_59female_60_to_61female_62_to_64female_65_to_66female_67_to_69female_70_to_74female_75_to_79female_80_to_84pop_15_and_overpop_now_marriedasian_male_45_54asian_male_55_64bachelors_degreeblack_male_45_54black_male_55_64commute_5_9_minscommuters_by_busin_grades_1_to_4in_grades_5_to_8male_85_and_overnot_hispanic_poppop_5_years_overwhite_male_45_54white_male_55_64associates_degreecommuters_16_overdwellings_2_unitsfamily_householdshispanic_any_racein_grades_9_to_12income_less_10000income_per_capitapop_25_years_overpop_never_marriedbachelors_degree_2commute_10_14_minscommute_15_19_minscommute_20_24_minscommute_25_29_minscommute_30_34_minscommute_35_39_minscommute_35_44_minscommute_40_44_minscommute_45_59_minscommute_60_89_minsfemale_85_and_overincome_10000_14999income_15000_19999income_20000_24999income_25000_29999income_30000_34999income_35000_39999income_40000_44999income_45000_49999income_50000_59999income_60000_74999income_75000_99999married_householdsnot_in_labor_forcenot_us_citizen_poppop_in_labor_forcehigh_school_diplomahispanic_male_45_54hispanic_male_55_64occupation_servicesworkers_16_and_overcivilian_labor_forcecommute_60_more_minscommute_90_more_minscommute_less_10_minscommuters_by_carpoolemployed_informationin_undergrad_collegeincome_100000_124999income_125000_149999income_150000_199999male_male_householdsnonfamily_householdsrent_over_50_percentvacant_housing_unitscommuters_drove_aloneemployed_constructionemployed_retail_tradeincome_200000_or_moreless_one_year_collegemale_45_64_grade_9_12one_year_more_collegerent_10_to_15_percentrent_15_to_20_percentrent_20_to_25_percentrent_25_to_30_percentrent_30_to_35_percentrent_35_to_40_percentrent_40_to_50_percentrent_under_10_percentsales_office_employedspeak_spanish_at_hometwo_or_more_races_popdwellings_3_to_4_unitsdwellings_5_to_9_unitsemployed_manufacturingmale_45_64_high_schooloccupied_housing_unitsmale_45_64_some_collegemortgaged_housing_unitsoccupation_sales_officepopulation_3_years_overasian_including_hispanicblack_including_hispanicdwellings_10_to_19_unitsdwellings_20_to_49_unitsemployed_wholesale_tradefemale_female_householdsrent_burden_not_computedwhite_including_hispanichigh_school_including_gedcommuters_by_car_truck_vandwellings_1_units_attacheddwellings_1_units_detacheddwellings_50_or_more_unitshousing_built_2000_to_2004male_45_64_graduate_degreeoccupation_management_artspopulation_1_year_and_overspeak_only_english_at_homehousing_built_2005_or_latermale_45_64_bachelors_degreemedian_year_structure_builtchildren_in_single_female_hhfamilies_with_young_childrengraduate_professional_degreehouseholds_retirement_incomemale_45_64_associates_degreemale_45_64_less_than_9_grademillion_dollar_housing_unitsowner_occupied_housing_unitspercent_income_spent_on_rentaggregate_travel_time_to_workamerindian_including_hispanichousing_built_1939_or_earlierhousing_units_renter_occupiedpop_determined_poverty_statusvacant_housing_units_for_rentvacant_housing_units_for_saleemployed_public_administrationless_than_high_school_graduatecommuters_by_subway_or_elevatedbachelors_degree_or_higher_25_64employed_education_health_socialspeak_spanish_at_home_low_englishcommuters_by_public_transportationdifferent_house_year_ago_same_citysome_college_and_associates_degreehouseholds_public_asst_or_food_stampsmanagement_business_sci_arts_employedemployed_finance_insurance_real_estatedifferent_house_year_ago_different_cityemployed_science_management_admin_wasteone_parent_families_with_young_childrentwo_parent_families_with_young_childrenemployed_other_services_not_public_adminowner_occupied_housing_units_median_valueemployed_transportation_warehousing_utilitiesoccupation_production_transportation_materialfather_one_parent_families_with_young_childrenowner_occupied_housing_units_lower_value_quartileowner_occupied_housing_units_upper_value_quartileemployed_agriculture_forestry_fishing_hunting_miningoccupation_natural_resources_construction_maintenancetwo_parents_in_labor_force_families_with_young_childrenemployed_arts_entertainment_recreation_accommodation_foodrenter_occupied_housing_units_paying_cash_median_gross_renttwo_parents_not_in_labor_force_families_with_young_childrenfather_in_labor_force_one_parent_families_with_young_childrentwo_parents_father_in_labor_force_families_with_young_childrentwo_parents_mother_in_labor_force_families_with_young_children
                                                  04715700500076.0201320170.00.0151.0122.0552.0316.0415.064.00.01004.019.042.0331.0328.01042.016.0627.00.4372343.00.02.028.90.038.0391.0749.0None0.0233.00.044.05.0None76.0465.027.026.030.022.011.013.031.011.015.079.021.041.00.05.026.05.031.014410.0None0.024.06.045.013.00.071.07.00.047.034.017.032.034.013.038.019.025.026.022.00.06.022.038.036.013.06.0NoneNone0.00.00.023.035.07.052.090.041.016.01042.0None13.03.028.0233.013.0183.00.0111.079.08747.0564.0None0.04.059.0108.010.020.00.07.07.013.00.038.0105.044.038.013.018.011.00.00.07.010.018.026.0445.00.0304.0188.00.00.058.0233.0304.05.05.07.021.00.063.00.00.00.00.0160.038.0122.0141.024.019.00.022.018.085.011.042.039.033.047.09.041.00.030.0None22.063.069.016.041.0343.010.020.030.0999.00.01004.040.025.02.00.018.016.0235.0162.00.0195.055.010.01.054.01019.0None0.00.01981.0278.075.013.047.07.02.00.065.030.5None0.081.0278.01042.014.00.04.0181.00.01.057.0None52.038.0135.0147.054.00.015.033.075.00.014.0None43.080.00.026600.0231300.00.011.00.021.0507.00.00.00.00.0
                                                  1720519900210.0201320170.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.0NaN0.00.0NaN0.0None0.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.0NaN0.0NoneNaN0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.00.00.00.00.0NaNNone0.00.0NaN0.00.0NaN0.00.00.00.00.0NaNNone0.00.00.00.00.00.00.0NaN0.00.00.0None0.0NaNNaN0.00.00.0NaN0.00.00.00.0None0.00.00.0NaNNaN0.00.00.00.0NaN0.00.00.00.0
                                                  2720719900000.0201320170.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.0NaN0.00.0NaN0.0None0.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.0NaN0.0NoneNaN0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.00.00.00.00.0NaNNone0.00.0NaN0.00.0NaN0.00.00.00.00.0NaNNone0.00.00.00.00.00.00.0NaN0.00.00.0None0.0NaNNaN0.00.00.0NaN0.00.00.00.0None0.00.00.0NaNNaN0.00.00.00.0NaN0.00.00.00.0
                                                  3010979900000.0201320170.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.0NaN0.00.0NaN0.0None0.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.0NaN0.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.0NaN0.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.0NaNNaN0.00.00.00.0NaN0.00.00.00.0
                                                  4181279800010.0201320170.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.0NaN0.00.0NaN0.0None0.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.0NaN0.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.0NaN0.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.0NaNNaN0.00.00.00.0NaN0.00.00.00.0
                                                  5471579801000.0201320170.06.00.00.058.00.038.00.00.04.00.00.00.054.074.070.036.0NaN0.00.00.031.30.00.0NaN74.0None0.00.00.00.00.0None0.00.00.00.06.00.00.06.012.04.00.00.00.00.00.00.00.04.00.0NaNNone0.00.00.074.00.00.00.00.00.00.00.00.04.018.06.00.00.00.05.03.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.00.00.00.00.074.0None0.00.00.00.00.00.00.00.00.05896.058.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.074.00.00.06.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.018.00.04.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.074.00.04.00.00.00.00.00.070.018.00.00.00.00.00.00.00.074.0None0.00.0NaN0.00.00.00.00.00.00.00.0NaNNone0.00.00.074.00.00.00.018.00.00.00.0None0.00.022.00.00.00.063.00.00.00.00.0None0.00.00.0NaNNaN0.00.00.00.0NaN0.00.00.00.0
                                                  6550719900000.0201320170.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.0NaN0.00.0NaN0.0None0.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.0NaN0.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.0NaN0.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.0NaNNaN0.00.00.00.0NaN0.00.00.00.0
                                                  7250259901010.0201320170.00.00.00.00.00.058.00.00.00.00.00.029.023.071.00.013.0NaN13.00.00.024.013.00.0NaN71.0None0.071.071.00.00.0None0.013.00.00.016.019.00.00.00.00.00.023.00.023.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.00.013.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.071.00.00.00.00.0None0.00.00.071.00.013.071.00.00.017785.023.0None0.00.00.00.00.036.00.00.00.00.035.00.00.00.00.00.00.00.00.00.00.013.00.00.00.071.071.023.00.023.013.071.071.035.00.00.00.00.029.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.013.00.00.00.00.00.00.00.0None0.013.00.00.023.013.00.00.00.071.00.019.00.00.00.00.00.052.023.00.00.00.00.00.00.016.071.0None0.00.0NaN0.00.00.00.00.00.00.00.0NaNNone0.00.013.071.00.00.00.00.00.00.029.0None71.00.00.013.016.00.019.00.00.00.023.0None19.019.00.0NaNNaN0.023.00.00.0NaN0.00.00.00.0
                                                  8550259917030.0201320170.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.0NaN0.00.0NaN0.0None0.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.0NaN0.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.0NaN0.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.0NaNNaN0.00.00.00.0NaN0.00.00.00.0
                                                  9260419900000.0201320170.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.0NaN0.00.0NaN0.0None0.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.0NaN0.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.0NaN0.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.0NaNNaN0.00.00.00.0NaN0.00.00.00.0
                                                  \n", + "
                                                  " + ], + "text/plain": [ + " geoid no_car do_date male_20 male_21 no_cars one_car poverty \\\n", + "0 47157005000 76.0 20132017 0.0 0.0 151.0 122.0 552.0 \n", + "1 72051990021 0.0 20132017 0.0 0.0 0.0 0.0 0.0 \n", + "2 72071990000 0.0 20132017 0.0 0.0 0.0 0.0 0.0 \n", + "3 01097990000 0.0 20132017 0.0 0.0 0.0 0.0 0.0 \n", + "4 18127980001 0.0 20132017 0.0 0.0 0.0 0.0 0.0 \n", + "5 47157980100 0.0 20132017 0.0 6.0 0.0 0.0 58.0 \n", + "6 55071990000 0.0 20132017 0.0 0.0 0.0 0.0 0.0 \n", + "7 25025990101 0.0 20132017 0.0 0.0 0.0 0.0 0.0 \n", + "8 55025991703 0.0 20132017 0.0 0.0 0.0 0.0 0.0 \n", + "9 26041990000 0.0 20132017 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " children male_pop two_cars asian_pop black_pop female_20 female_21 \\\n", + "0 316.0 415.0 64.0 0.0 1004.0 19.0 42.0 \n", + "1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "5 0.0 38.0 0.0 0.0 4.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "7 0.0 58.0 0.0 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " in_school pop_25_64 total_pop white_pop female_pop gini_index \\\n", + "0 331.0 328.0 1042.0 16.0 627.0 0.4372 \n", + "1 0.0 0.0 0.0 0.0 0.0 NaN \n", + "2 0.0 0.0 0.0 0.0 0.0 NaN \n", + "3 0.0 0.0 0.0 0.0 0.0 NaN \n", + "4 0.0 0.0 0.0 0.0 0.0 NaN \n", + "5 0.0 54.0 74.0 70.0 36.0 NaN \n", + "6 0.0 0.0 0.0 0.0 0.0 NaN \n", + "7 29.0 23.0 71.0 0.0 13.0 NaN \n", + "8 0.0 0.0 0.0 0.0 0.0 NaN \n", + "9 0.0 0.0 0.0 0.0 0.0 NaN \n", + "\n", + " households male_60_61 male_62_64 median_age three_cars male_5_to_9 \\\n", + "0 343.0 0.0 2.0 28.9 0.0 38.0 \n", + "1 0.0 0.0 0.0 NaN 0.0 0.0 \n", + "2 0.0 0.0 0.0 NaN 0.0 0.0 \n", + "3 0.0 0.0 0.0 NaN 0.0 0.0 \n", + "4 0.0 0.0 0.0 NaN 0.0 0.0 \n", + "5 0.0 0.0 0.0 31.3 0.0 0.0 \n", + "6 0.0 0.0 0.0 NaN 0.0 0.0 \n", + "7 13.0 0.0 0.0 24.0 13.0 0.0 \n", + "8 0.0 0.0 0.0 NaN 0.0 0.0 \n", + "9 0.0 0.0 0.0 NaN 0.0 0.0 \n", + "\n", + " median_rent pop_16_over pop_widowed armed_forces employed_pop \\\n", + "0 391.0 749.0 None 0.0 233.0 \n", + "1 NaN 0.0 None 0.0 0.0 \n", + "2 NaN 0.0 None 0.0 0.0 \n", + "3 NaN 0.0 None 0.0 0.0 \n", + "4 NaN 0.0 None 0.0 0.0 \n", + "5 NaN 74.0 None 0.0 0.0 \n", + "6 NaN 0.0 None 0.0 0.0 \n", + "7 NaN 71.0 None 0.0 71.0 \n", + "8 NaN 0.0 None 0.0 0.0 \n", + "9 NaN 0.0 None 0.0 0.0 \n", + "\n", + " hispanic_pop male_under_5 mobile_homes pop_divorced female_5_to_9 \\\n", + "0 0.0 44.0 5.0 None 76.0 \n", + "1 0.0 0.0 0.0 None 0.0 \n", + "2 0.0 0.0 0.0 None 0.0 \n", + "3 0.0 0.0 0.0 None 0.0 \n", + "4 0.0 0.0 0.0 None 0.0 \n", + "5 0.0 0.0 0.0 None 0.0 \n", + "6 0.0 0.0 0.0 None 0.0 \n", + "7 71.0 0.0 0.0 None 0.0 \n", + "8 0.0 0.0 0.0 None 0.0 \n", + "9 0.0 0.0 0.0 None 0.0 \n", + "\n", + " housing_units male_10_to_14 male_15_to_17 male_18_to_19 male_22_to_24 \\\n", + "0 465.0 27.0 26.0 30.0 22.0 \n", + "1 0.0 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 6.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 0.0 \n", + "7 13.0 0.0 0.0 16.0 19.0 \n", + "8 0.0 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " male_25_to_29 male_30_to_34 male_35_to_39 male_40_to_44 male_45_to_49 \\\n", + "0 11.0 13.0 31.0 11.0 15.0 \n", + "1 0.0 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 0.0 \n", + "5 0.0 6.0 12.0 4.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " male_45_to_64 male_50_to_54 male_55_to_59 male_65_to_66 male_67_to_69 \\\n", + "0 79.0 21.0 41.0 0.0 5.0 \n", + "1 0.0 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 0.0 \n", + "7 23.0 0.0 23.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " male_70_to_74 male_75_to_79 male_80_to_84 median_income pop_separated \\\n", + "0 26.0 5.0 31.0 14410.0 None \n", + "1 0.0 0.0 0.0 NaN None \n", + "2 0.0 0.0 0.0 NaN None \n", + "3 0.0 0.0 0.0 NaN None \n", + "4 0.0 0.0 0.0 NaN None \n", + "5 0.0 4.0 0.0 NaN None \n", + "6 0.0 0.0 0.0 NaN None \n", + "7 0.0 0.0 0.0 NaN None \n", + "8 0.0 0.0 0.0 NaN None \n", + "9 0.0 0.0 0.0 NaN None \n", + "\n", + " amerindian_pop female_under_5 four_more_cars group_quarters \\\n", + "0 0.0 24.0 6.0 45.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 74.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " masters_degree other_race_pop unemployed_pop walked_to_work \\\n", + "0 13.0 0.0 71.0 7.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " worked_at_home female_10_to_14 female_15_to_17 female_18_to_19 \\\n", + "0 0.0 47.0 34.0 17.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " female_22_to_24 female_25_to_29 female_30_to_34 female_35_to_39 \\\n", + "0 32.0 34.0 13.0 38.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 4.0 18.0 6.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 13.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " female_40_to_44 female_45_to_49 female_50_to_54 female_55_to_59 \\\n", + "0 19.0 25.0 26.0 22.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 5.0 3.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " female_60_to_61 female_62_to_64 female_65_to_66 female_67_to_69 \\\n", + "0 0.0 6.0 22.0 38.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " female_70_to_74 female_75_to_79 female_80_to_84 pop_15_and_over \\\n", + "0 36.0 13.0 6.0 None \n", + "1 0.0 0.0 0.0 None \n", + "2 0.0 0.0 0.0 None \n", + "3 0.0 0.0 0.0 None \n", + "4 0.0 0.0 0.0 None \n", + "5 0.0 0.0 0.0 None \n", + "6 0.0 0.0 0.0 None \n", + "7 0.0 0.0 0.0 None \n", + "8 0.0 0.0 0.0 None \n", + "9 0.0 0.0 0.0 None \n", + "\n", + " pop_now_married asian_male_45_54 asian_male_55_64 bachelors_degree \\\n", + "0 None 0.0 0.0 0.0 \n", + "1 None 0.0 0.0 0.0 \n", + "2 None 0.0 0.0 0.0 \n", + "3 None 0.0 0.0 0.0 \n", + "4 None 0.0 0.0 0.0 \n", + "5 None 0.0 0.0 0.0 \n", + "6 None 0.0 0.0 0.0 \n", + "7 None 0.0 0.0 0.0 \n", + "8 None 0.0 0.0 0.0 \n", + "9 None 0.0 0.0 0.0 \n", + "\n", + " black_male_45_54 black_male_55_64 commute_5_9_mins commuters_by_bus \\\n", + "0 23.0 35.0 7.0 52.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 71.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " in_grades_1_to_4 in_grades_5_to_8 male_85_and_over not_hispanic_pop \\\n", + "0 90.0 41.0 16.0 1042.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 74.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " pop_5_years_over white_male_45_54 white_male_55_64 associates_degree \\\n", + "0 None 13.0 3.0 28.0 \n", + "1 None 0.0 0.0 0.0 \n", + "2 None 0.0 0.0 0.0 \n", + "3 None 0.0 0.0 0.0 \n", + "4 None 0.0 0.0 0.0 \n", + "5 None 0.0 0.0 0.0 \n", + "6 None 0.0 0.0 0.0 \n", + "7 None 0.0 0.0 0.0 \n", + "8 None 0.0 0.0 0.0 \n", + "9 None 0.0 0.0 0.0 \n", + "\n", + " commuters_16_over dwellings_2_units family_households hispanic_any_race \\\n", + "0 233.0 13.0 183.0 0.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 71.0 0.0 13.0 71.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " in_grades_9_to_12 income_less_10000 income_per_capita pop_25_years_over \\\n", + "0 111.0 79.0 8747.0 564.0 \n", + "1 0.0 0.0 NaN 0.0 \n", + "2 0.0 0.0 NaN 0.0 \n", + "3 0.0 0.0 NaN 0.0 \n", + "4 0.0 0.0 NaN 0.0 \n", + "5 0.0 0.0 5896.0 58.0 \n", + "6 0.0 0.0 NaN 0.0 \n", + "7 0.0 0.0 17785.0 23.0 \n", + "8 0.0 0.0 NaN 0.0 \n", + "9 0.0 0.0 NaN 0.0 \n", + "\n", + " pop_never_married bachelors_degree_2 commute_10_14_mins \\\n", + "0 None 0.0 4.0 \n", + "1 None NaN 0.0 \n", + "2 None NaN 0.0 \n", + "3 None 0.0 0.0 \n", + "4 None 0.0 0.0 \n", + "5 None 0.0 0.0 \n", + "6 None 0.0 0.0 \n", + "7 None 0.0 0.0 \n", + "8 None 0.0 0.0 \n", + "9 None 0.0 0.0 \n", + "\n", + " commute_15_19_mins commute_20_24_mins commute_25_29_mins \\\n", + "0 59.0 108.0 10.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " commute_30_34_mins commute_35_39_mins commute_35_44_mins \\\n", + "0 20.0 0.0 7.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 36.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " commute_40_44_mins commute_45_59_mins commute_60_89_mins \\\n", + "0 7.0 13.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 35.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " female_85_and_over income_10000_14999 income_15000_19999 \\\n", + "0 38.0 105.0 44.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " income_20000_24999 income_25000_29999 income_30000_34999 \\\n", + "0 38.0 13.0 18.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " income_35000_39999 income_40000_44999 income_45000_49999 \\\n", + "0 11.0 0.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " income_50000_59999 income_60000_74999 income_75000_99999 \\\n", + "0 7.0 10.0 18.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 13.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " married_households not_in_labor_force not_us_citizen_pop \\\n", + "0 26.0 445.0 0.0 \n", + "1 0.0 0.0 NaN \n", + "2 0.0 0.0 NaN \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 74.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 71.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " pop_in_labor_force high_school_diploma hispanic_male_45_54 \\\n", + "0 304.0 188.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 6.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 71.0 23.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " hispanic_male_55_64 occupation_services workers_16_and_over \\\n", + "0 0.0 58.0 233.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 23.0 13.0 71.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " civilian_labor_force commute_60_more_mins commute_90_more_mins \\\n", + "0 304.0 5.0 5.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 71.0 35.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " commute_less_10_mins commuters_by_carpool employed_information \\\n", + "0 7.0 21.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " in_undergrad_college income_100000_124999 income_125000_149999 \\\n", + "0 63.0 0.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 29.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " income_150000_199999 male_male_households nonfamily_households \\\n", + "0 0.0 0.0 160.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " rent_over_50_percent vacant_housing_units commuters_drove_alone \\\n", + "0 38.0 122.0 141.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " employed_construction employed_retail_trade income_200000_or_more \\\n", + "0 24.0 19.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " less_one_year_college male_45_64_grade_9_12 one_year_more_college \\\n", + "0 22.0 18.0 85.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 18.0 0.0 4.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " rent_10_to_15_percent rent_15_to_20_percent rent_20_to_25_percent \\\n", + "0 11.0 42.0 39.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 13.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " rent_25_to_30_percent rent_30_to_35_percent rent_35_to_40_percent \\\n", + "0 33.0 47.0 9.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " rent_40_to_50_percent rent_under_10_percent sales_office_employed \\\n", + "0 41.0 0.0 30.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " speak_spanish_at_home two_or_more_races_pop dwellings_3_to_4_units \\\n", + "0 None 22.0 63.0 \n", + "1 None 0.0 0.0 \n", + "2 None 0.0 0.0 \n", + "3 None 0.0 0.0 \n", + "4 None 0.0 0.0 \n", + "5 None 0.0 0.0 \n", + "6 None 0.0 0.0 \n", + "7 None 0.0 13.0 \n", + "8 None 0.0 0.0 \n", + "9 None 0.0 0.0 \n", + "\n", + " dwellings_5_to_9_units employed_manufacturing male_45_64_high_school \\\n", + "0 69.0 16.0 41.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 23.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " occupied_housing_units male_45_64_some_college mortgaged_housing_units \\\n", + "0 343.0 10.0 20.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 13.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " occupation_sales_office population_3_years_over asian_including_hispanic \\\n", + "0 30.0 999.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 74.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 71.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " black_including_hispanic dwellings_10_to_19_units \\\n", + "0 1004.0 40.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 4.0 0.0 \n", + "6 0.0 0.0 \n", + "7 19.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " dwellings_20_to_49_units employed_wholesale_trade \\\n", + "0 25.0 2.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " female_female_households rent_burden_not_computed \\\n", + "0 0.0 18.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " white_including_hispanic high_school_including_ged \\\n", + "0 16.0 235.0 \n", + "1 0.0 NaN \n", + "2 0.0 NaN \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 70.0 18.0 \n", + "6 0.0 0.0 \n", + "7 52.0 23.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " commuters_by_car_truck_van dwellings_1_units_attached \\\n", + "0 162.0 0.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " dwellings_1_units_detached dwellings_50_or_more_units \\\n", + "0 195.0 55.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " housing_built_2000_to_2004 male_45_64_graduate_degree \\\n", + "0 10.0 1.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " occupation_management_arts population_1_year_and_over \\\n", + "0 54.0 1019.0 \n", + "1 0.0 NaN \n", + "2 0.0 NaN \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 74.0 \n", + "6 0.0 0.0 \n", + "7 16.0 71.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " speak_only_english_at_home housing_built_2005_or_later \\\n", + "0 None 0.0 \n", + "1 None 0.0 \n", + "2 None 0.0 \n", + "3 None 0.0 \n", + "4 None 0.0 \n", + "5 None 0.0 \n", + "6 None 0.0 \n", + "7 None 0.0 \n", + "8 None 0.0 \n", + "9 None 0.0 \n", + "\n", + " male_45_64_bachelors_degree median_year_structure_built \\\n", + "0 0.0 1981.0 \n", + "1 0.0 NaN \n", + "2 0.0 NaN \n", + "3 0.0 NaN \n", + "4 0.0 NaN \n", + "5 0.0 NaN \n", + "6 0.0 NaN \n", + "7 0.0 NaN \n", + "8 0.0 NaN \n", + "9 0.0 NaN \n", + "\n", + " children_in_single_female_hh families_with_young_children \\\n", + "0 278.0 75.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " graduate_professional_degree households_retirement_income \\\n", + "0 13.0 47.0 \n", + "1 NaN 0.0 \n", + "2 NaN 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " male_45_64_associates_degree male_45_64_less_than_9_grade \\\n", + "0 7.0 2.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " million_dollar_housing_units owner_occupied_housing_units \\\n", + "0 0.0 65.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " percent_income_spent_on_rent aggregate_travel_time_to_work \\\n", + "0 30.5 None \n", + "1 NaN None \n", + "2 NaN None \n", + "3 NaN None \n", + "4 NaN None \n", + "5 NaN None \n", + "6 NaN None \n", + "7 NaN None \n", + "8 NaN None \n", + "9 NaN None \n", + "\n", + " amerindian_including_hispanic housing_built_1939_or_earlier \\\n", + "0 0.0 81.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " housing_units_renter_occupied pop_determined_poverty_status \\\n", + "0 278.0 1042.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 74.0 \n", + "6 0.0 0.0 \n", + "7 13.0 71.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " vacant_housing_units_for_rent vacant_housing_units_for_sale \\\n", + "0 14.0 0.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " employed_public_administration less_than_high_school_graduate \\\n", + "0 4.0 181.0 \n", + "1 0.0 NaN \n", + "2 0.0 NaN \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 18.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " commuters_by_subway_or_elevated bachelors_degree_or_higher_25_64 \\\n", + "0 0.0 1.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " employed_education_health_social speak_spanish_at_home_low_english \\\n", + "0 57.0 None \n", + "1 0.0 None \n", + "2 0.0 None \n", + "3 0.0 None \n", + "4 0.0 None \n", + "5 0.0 None \n", + "6 0.0 None \n", + "7 29.0 None \n", + "8 0.0 None \n", + "9 0.0 None \n", + "\n", + " commuters_by_public_transportation different_house_year_ago_same_city \\\n", + "0 52.0 38.0 \n", + "1 0.0 NaN \n", + "2 0.0 NaN \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 71.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " some_college_and_associates_degree households_public_asst_or_food_stamps \\\n", + "0 135.0 147.0 \n", + "1 NaN 0.0 \n", + "2 NaN 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 22.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 13.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " management_business_sci_arts_employed \\\n", + "0 54.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 16.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " employed_finance_insurance_real_estate \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " different_house_year_ago_different_city \\\n", + "0 15.0 \n", + "1 NaN \n", + "2 NaN \n", + "3 0.0 \n", + "4 0.0 \n", + "5 63.0 \n", + "6 0.0 \n", + "7 19.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " employed_science_management_admin_waste \\\n", + "0 33.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " one_parent_families_with_young_children \\\n", + "0 75.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " two_parent_families_with_young_children \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " employed_other_services_not_public_admin \\\n", + "0 14.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 23.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " owner_occupied_housing_units_median_value \\\n", + "0 None \n", + "1 None \n", + "2 None \n", + "3 None \n", + "4 None \n", + "5 None \n", + "6 None \n", + "7 None \n", + "8 None \n", + "9 None \n", + "\n", + " employed_transportation_warehousing_utilities \\\n", + "0 43.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 19.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " occupation_production_transportation_material \\\n", + "0 80.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 19.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " father_one_parent_families_with_young_children \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " owner_occupied_housing_units_lower_value_quartile \\\n", + "0 26600.0 \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "5 NaN \n", + "6 NaN \n", + "7 NaN \n", + "8 NaN \n", + "9 NaN \n", + "\n", + " owner_occupied_housing_units_upper_value_quartile \\\n", + "0 231300.0 \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "5 NaN \n", + "6 NaN \n", + "7 NaN \n", + "8 NaN \n", + "9 NaN \n", + "\n", + " employed_agriculture_forestry_fishing_hunting_mining \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " occupation_natural_resources_construction_maintenance \\\n", + "0 11.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 23.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " two_parents_in_labor_force_families_with_young_children \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " employed_arts_entertainment_recreation_accommodation_food \\\n", + "0 21.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " renter_occupied_housing_units_paying_cash_median_gross_rent \\\n", + "0 507.0 \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "5 NaN \n", + "6 NaN \n", + "7 NaN \n", + "8 NaN \n", + "9 NaN \n", + "\n", + " two_parents_not_in_labor_force_families_with_young_children \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " father_in_labor_force_one_parent_families_with_young_children \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " two_parents_father_in_labor_force_families_with_young_children \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " two_parents_mother_in_labor_force_families_with_young_children \n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 " + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_o3YCUYnAJQw" + }, + "source": [ + "Just like we did in the previous section, we can use SQL queries to specify the bounding box or polygon we are interested in.\n", + "\n", + "- If you'd like to filter by bounding box, you need to use the SQL geography function `ST_IntersectsBox`.\n", + "- If you'd like to filter by polygon, you need to use the SQL geography function `ST_Intersects`." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 257 + }, + "id": "q0RKwncP3KUo", + "outputId": "cb081331-0b6a-4ad9-9150-daa1c0edc37d" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                  \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                  geoiddo_datetotal_pophouseholdsmale_popfemale_popmedian_agemale_under_5male_5_to_9male_10_to_14male_15_to_17male_18_to_19male_20male_21male_22_to_24male_25_to_29male_30_to_34male_35_to_39male_40_to_44male_45_to_49male_50_to_54male_55_to_59male_60_to_61male_62_to_64male_65_to_66male_67_to_69male_70_to_74male_75_to_79male_80_to_84male_85_and_overfemale_under_5female_5_to_9female_10_to_14female_15_to_17female_18_to_19female_20female_21female_22_to_24female_25_to_29female_30_to_34female_35_to_39female_40_to_44female_45_to_49female_50_to_54female_55_to_59female_60_to_61female_62_to_64female_65_to_66female_67_to_69female_70_to_74female_75_to_79female_80_to_84female_85_and_overwhite_poppopulation_1_year_and_overpopulation_3_years_overpop_5_years_overpop_15_and_overpop_16_overpop_25_years_overpop_25_64pop_never_marriedpop_now_marriedpop_separatedpop_widowedpop_divorcednot_us_citizen_popblack_popasian_pophispanic_popamerindian_popother_race_poptwo_or_more_races_popwhite_including_hispanicblack_including_hispanicasian_including_hispanicamerindian_including_hispanichispanic_any_racenot_hispanic_popasian_male_45_54asian_male_55_64black_male_45_54black_male_55_64hispanic_male_45_54hispanic_male_55_64white_male_45_54white_male_55_64median_incomeincome_per_capitaincome_less_10000income_10000_14999income_15000_19999income_20000_24999income_25000_29999income_30000_34999income_35000_39999income_40000_44999income_45000_49999income_50000_59999income_60000_74999income_75000_99999income_100000_124999income_125000_149999income_150000_199999income_200000_or_morehouseholds_retirement_incomepop_determined_poverty_statuspovertygini_indexhousing_unitsrenter_occupied_housing_units_paying_cash_median_gross_rentowner_occupied_housing_units_lower_value_quartileowner_occupied_housing_units_median_valueowner_occupied_housing_units_upper_value_quartileoccupied_housing_unitshousing_units_renter_occupiedvacant_housing_unitsvacant_housing_units_for_rentvacant_housing_units_for_saledwellings_1_units_detacheddwellings_1_units_attacheddwellings_2_unitsdwellings_3_to_4_unitsdwellings_5_to_9_unitsdwellings_10_to_19_unitsdwellings_20_to_49_unitsdwellings_50_or_more_unitsmobile_homeshousing_built_2005_or_laterhousing_built_2000_to_2004housing_built_1939_or_earliermedian_year_structure_builtmarried_householdsnonfamily_householdsfamily_householdshouseholds_public_asst_or_food_stampsmale_male_householdsfemale_female_householdschildrenchildren_in_single_female_hhmedian_rentpercent_income_spent_on_rentrent_burden_not_computedrent_over_50_percentrent_40_to_50_percentrent_35_to_40_percentrent_30_to_35_percentrent_25_to_30_percentrent_20_to_25_percentrent_15_to_20_percentrent_10_to_15_percentrent_under_10_percentowner_occupied_housing_unitsmillion_dollar_housing_unitsmortgaged_housing_unitsdifferent_house_year_ago_different_citydifferent_house_year_ago_same_cityfamilies_with_young_childrentwo_parent_families_with_young_childrentwo_parents_in_labor_force_families_with_young_childrentwo_parents_father_in_labor_force_families_with_young_childrentwo_parents_mother_in_labor_force_families_with_young_childrentwo_parents_not_in_labor_force_families_with_young_childrenone_parent_families_with_young_childrenfather_one_parent_families_with_young_childrenfather_in_labor_force_one_parent_families_with_young_childrencommute_5_9_minscommute_less_10_minscommute_10_14_minscommute_15_19_minscommute_20_24_minscommute_25_29_minscommute_30_34_minscommute_35_39_minscommute_40_44_minscommute_35_44_minscommute_45_59_minscommute_60_more_minscommute_60_89_minscommute_90_more_minscommuters_16_overwalked_to_workworked_at_homeno_carno_carsone_cartwo_carsthree_carsfour_more_carsaggregate_travel_time_to_workcommuters_by_public_transportationcommuters_by_buscommuters_by_car_truck_vancommuters_by_carpoolcommuters_by_subway_or_elevatedcommuters_drove_alonegroup_quartersassociates_degreebachelors_degreehigh_school_diplomaless_one_year_collegemasters_degreeone_year_more_collegeless_than_high_school_graduatehigh_school_including_gedbachelors_degree_2bachelors_degree_or_higher_25_64graduate_professional_degreesome_college_and_associates_degreemale_45_64_associates_degreemale_45_64_bachelors_degreemale_45_64_graduate_degreemale_45_64_less_than_9_grademale_45_64_grade_9_12male_45_64_high_schoolmale_45_64_some_collegemale_45_to_64employed_popunemployed_poppop_in_labor_forcenot_in_labor_forceworkers_16_and_overarmed_forcescivilian_labor_forceemployed_agriculture_forestry_fishing_hunting_miningemployed_arts_entertainment_recreation_accommodation_foodemployed_constructionemployed_education_health_socialemployed_finance_insurance_real_estateemployed_informationemployed_manufacturingemployed_other_services_not_public_adminemployed_public_administrationemployed_retail_tradeemployed_science_management_admin_wasteemployed_transportation_warehousing_utilitiesemployed_wholesale_tradeoccupation_management_artsoccupation_natural_resources_construction_maintenanceoccupation_production_transportation_materialoccupation_sales_officeoccupation_servicesmanagement_business_sci_arts_employedsales_office_employedin_grades_1_to_4in_grades_5_to_8in_grades_9_to_12in_schoolin_undergrad_collegespeak_only_english_at_homespeak_spanish_at_homespeak_spanish_at_home_low_englishdo_labeldo_perimeterdo_areado_num_verticesgeom
                                                  0360470535002013-01-014053.01052.02072.01981.020.2554.0258.0120.079.061.00.051.0192.0185.067.049.057.016.031.0140.06.051.031.056.00.059.00.09.0466.0308.086.070.016.039.033.0226.0140.088.020.060.027.044.0139.013.051.053.036.00.052.014.00.03705.03854.03407.0NaNNaN2241.01494.01184.0NaNNaNNaNNaNNaN136.0197.00.0137.014.00.00.03745.0197.00.014.0137.03916.00.00.00.00.00.034.047.0163.027027.09140.034.0243.076.0113.092.0105.0118.052.021.035.069.041.035.018.00.00.047.04053.02042.00.38011110.01150.0312500.0740400.0905400.01052.0953.058.037.00.012.012.0138.0357.047.0101.0352.091.00.00.00.066.01939.0773.0170.0882.0633.00.00.01941.0126.01053.049.734.0456.0117.079.032.052.099.038.046.00.099.010.014.038.0112.01211.01064.0223.0732.0109.00.0147.00.00.0128.0140.0299.0235.0161.024.064.014.020.034.090.037.012.025.01084.0674.0101.0909.0797.0214.041.00.00.0NaN135.036.0275.064.099.0211.00.00.023.0611.083.071.0150.0486.0656.023.0110.096.0233.00.00.012.037.041.0104.050.0244.01196.055.01251.0990.01185.00.01251.00.0179.045.0301.034.011.058.0133.00.0225.066.077.067.0351.044.0110.0527.0164.0351.0527.0427.0170.0200.01462.0135.0NaNNaNNaN535.01588.147129710.3728POLYGON ((-73.96328 40.70773, -73.96485 40.707...
                                                  1360610113002013-01-01115.062.090.025.030.80.00.00.00.00.00.00.022.015.019.06.010.00.04.07.07.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.08.08.05.04.00.00.00.00.00.00.00.00.00.00.00.021.0115.0115.0NaNNaN115.093.093.0NaNNaNNaNNaNNaN37.026.065.00.00.00.03.021.026.065.00.00.0115.00.00.00.014.00.00.04.00.0110000.0108737.03.04.00.00.00.00.00.00.09.00.04.011.00.010.05.016.00.0115.028.00.567678.03021.0797800.0904400.01023400.062.033.016.00.00.00.00.00.03.05.04.08.058.00.00.05.00.02001.00.062.00.03.00.00.00.00.03021.022.50.03.04.00.00.08.03.011.00.04.029.08.012.05.019.00.00.00.00.00.00.00.00.00.05.05.027.021.015.014.04.00.00.00.00.00.00.00.086.052.04.069.054.08.00.00.00.0NaN34.00.00.00.034.00.032.03.048.00.07.03.00.019.06.048.058.010.010.00.04.00.07.00.00.07.018.090.06.096.019.090.00.096.00.013.04.04.020.07.00.00.00.04.027.011.00.067.00.04.016.03.067.016.00.00.00.08.00.0NaNNaNNaN113.01737.382175691.8375POLYGON ((-73.99163 40.75471, -73.98595 40.752...
                                                  2360810199002013-01-01830.0193.0652.0178.036.25.00.026.00.016.013.018.022.096.0102.057.089.051.062.025.010.05.026.09.00.011.05.04.00.013.031.08.00.00.03.016.027.05.020.00.047.00.00.04.00.00.04.00.00.00.00.0140.0830.0825.0NaNNaN755.0659.0600.0NaNNaNNaNNaNNaN103.0196.068.0426.00.00.00.0241.0224.068.08.0426.0404.06.00.026.09.032.023.049.08.038977.015956.08.013.00.012.012.023.033.00.05.05.013.046.00.015.00.08.021.0467.039.00.4302287.01309.0327100.0387500.0659700.0193.0164.094.013.00.00.027.041.0116.084.05.010.04.00.00.00.051.01939.066.073.0120.021.00.00.083.00.01196.026.813.045.00.011.05.023.05.038.020.04.029.00.012.0203.088.05.05.00.05.00.00.00.00.00.021.021.055.014.023.00.060.026.028.054.029.042.022.020.0298.043.00.0118.094.089.010.00.00.0NaN173.039.082.00.0134.082.0363.035.052.0169.027.04.093.0184.0264.052.056.04.0155.011.020.00.06.029.069.018.0153.0298.036.0334.0421.0298.00.0334.00.060.04.066.010.04.05.065.00.06.00.078.00.031.042.085.033.0107.031.033.018.039.034.0124.020.0NaNNaNNaN199.06528.5381679379.83729POLYGON ((-73.94216 40.73568, -73.94037 40.733...
                                                  \n", + "
                                                  " + ], + "text/plain": [ + " geoid do_date total_pop households male_pop female_pop \\\n", + "0 36047053500 2013-01-01 4053.0 1052.0 2072.0 1981.0 \n", + "1 36061011300 2013-01-01 115.0 62.0 90.0 25.0 \n", + "2 36081019900 2013-01-01 830.0 193.0 652.0 178.0 \n", + "\n", + " median_age male_under_5 male_5_to_9 male_10_to_14 male_15_to_17 \\\n", + "0 20.2 554.0 258.0 120.0 79.0 \n", + "1 30.8 0.0 0.0 0.0 0.0 \n", + "2 36.2 5.0 0.0 26.0 0.0 \n", + "\n", + " male_18_to_19 male_20 male_21 male_22_to_24 male_25_to_29 \\\n", + "0 61.0 0.0 51.0 192.0 185.0 \n", + "1 0.0 0.0 0.0 22.0 15.0 \n", + "2 16.0 13.0 18.0 22.0 96.0 \n", + "\n", + " male_30_to_34 male_35_to_39 male_40_to_44 male_45_to_49 male_50_to_54 \\\n", + "0 67.0 49.0 57.0 16.0 31.0 \n", + "1 19.0 6.0 10.0 0.0 4.0 \n", + "2 102.0 57.0 89.0 51.0 62.0 \n", + "\n", + " male_55_to_59 male_60_to_61 male_62_to_64 male_65_to_66 male_67_to_69 \\\n", + "0 140.0 6.0 51.0 31.0 56.0 \n", + "1 7.0 7.0 0.0 0.0 0.0 \n", + "2 25.0 10.0 5.0 26.0 9.0 \n", + "\n", + " male_70_to_74 male_75_to_79 male_80_to_84 male_85_and_over \\\n", + "0 0.0 59.0 0.0 9.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 11.0 5.0 4.0 \n", + "\n", + " female_under_5 female_5_to_9 female_10_to_14 female_15_to_17 \\\n", + "0 466.0 308.0 86.0 70.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 13.0 31.0 8.0 \n", + "\n", + " female_18_to_19 female_20 female_21 female_22_to_24 female_25_to_29 \\\n", + "0 16.0 39.0 33.0 226.0 140.0 \n", + "1 0.0 0.0 0.0 0.0 8.0 \n", + "2 0.0 0.0 3.0 16.0 27.0 \n", + "\n", + " female_30_to_34 female_35_to_39 female_40_to_44 female_45_to_49 \\\n", + "0 88.0 20.0 60.0 27.0 \n", + "1 8.0 5.0 4.0 0.0 \n", + "2 5.0 20.0 0.0 47.0 \n", + "\n", + " female_50_to_54 female_55_to_59 female_60_to_61 female_62_to_64 \\\n", + "0 44.0 139.0 13.0 51.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 4.0 0.0 \n", + "\n", + " female_65_to_66 female_67_to_69 female_70_to_74 female_75_to_79 \\\n", + "0 53.0 36.0 0.0 52.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 4.0 0.0 0.0 \n", + "\n", + " female_80_to_84 female_85_and_over white_pop population_1_year_and_over \\\n", + "0 14.0 0.0 3705.0 3854.0 \n", + "1 0.0 0.0 21.0 115.0 \n", + "2 0.0 0.0 140.0 830.0 \n", + "\n", + " population_3_years_over pop_5_years_over pop_15_and_over pop_16_over \\\n", + "0 3407.0 NaN NaN 2241.0 \n", + "1 115.0 NaN NaN 115.0 \n", + "2 825.0 NaN NaN 755.0 \n", + "\n", + " pop_25_years_over pop_25_64 pop_never_married pop_now_married \\\n", + "0 1494.0 1184.0 NaN NaN \n", + "1 93.0 93.0 NaN NaN \n", + "2 659.0 600.0 NaN NaN \n", + "\n", + " pop_separated pop_widowed pop_divorced not_us_citizen_pop black_pop \\\n", + "0 NaN NaN NaN 136.0 197.0 \n", + "1 NaN NaN NaN 37.0 26.0 \n", + "2 NaN NaN NaN 103.0 196.0 \n", + "\n", + " asian_pop hispanic_pop amerindian_pop other_race_pop \\\n", + "0 0.0 137.0 14.0 0.0 \n", + "1 65.0 0.0 0.0 0.0 \n", + "2 68.0 426.0 0.0 0.0 \n", + "\n", + " two_or_more_races_pop white_including_hispanic black_including_hispanic \\\n", + "0 0.0 3745.0 197.0 \n", + "1 3.0 21.0 26.0 \n", + "2 0.0 241.0 224.0 \n", + "\n", + " asian_including_hispanic amerindian_including_hispanic hispanic_any_race \\\n", + "0 0.0 14.0 137.0 \n", + "1 65.0 0.0 0.0 \n", + "2 68.0 8.0 426.0 \n", + "\n", + " not_hispanic_pop asian_male_45_54 asian_male_55_64 black_male_45_54 \\\n", + "0 3916.0 0.0 0.0 0.0 \n", + "1 115.0 0.0 0.0 0.0 \n", + "2 404.0 6.0 0.0 26.0 \n", + "\n", + " black_male_55_64 hispanic_male_45_54 hispanic_male_55_64 \\\n", + "0 0.0 0.0 34.0 \n", + "1 14.0 0.0 0.0 \n", + "2 9.0 32.0 23.0 \n", + "\n", + " white_male_45_54 white_male_55_64 median_income income_per_capita \\\n", + "0 47.0 163.0 27027.0 9140.0 \n", + "1 4.0 0.0 110000.0 108737.0 \n", + "2 49.0 8.0 38977.0 15956.0 \n", + "\n", + " income_less_10000 income_10000_14999 income_15000_19999 \\\n", + "0 34.0 243.0 76.0 \n", + "1 3.0 4.0 0.0 \n", + "2 8.0 13.0 0.0 \n", + "\n", + " income_20000_24999 income_25000_29999 income_30000_34999 \\\n", + "0 113.0 92.0 105.0 \n", + "1 0.0 0.0 0.0 \n", + "2 12.0 12.0 23.0 \n", + "\n", + " income_35000_39999 income_40000_44999 income_45000_49999 \\\n", + "0 118.0 52.0 21.0 \n", + "1 0.0 0.0 9.0 \n", + "2 33.0 0.0 5.0 \n", + "\n", + " income_50000_59999 income_60000_74999 income_75000_99999 \\\n", + "0 35.0 69.0 41.0 \n", + "1 0.0 4.0 11.0 \n", + "2 5.0 13.0 46.0 \n", + "\n", + " income_100000_124999 income_125000_149999 income_150000_199999 \\\n", + "0 35.0 18.0 0.0 \n", + "1 0.0 10.0 5.0 \n", + "2 0.0 15.0 0.0 \n", + "\n", + " income_200000_or_more households_retirement_income \\\n", + "0 0.0 47.0 \n", + "1 16.0 0.0 \n", + "2 8.0 21.0 \n", + "\n", + " pop_determined_poverty_status poverty gini_index housing_units \\\n", + "0 4053.0 2042.0 0.3801 1110.0 \n", + "1 115.0 28.0 0.5676 78.0 \n", + "2 467.0 39.0 0.4302 287.0 \n", + "\n", + " renter_occupied_housing_units_paying_cash_median_gross_rent \\\n", + "0 1150.0 \n", + "1 3021.0 \n", + "2 1309.0 \n", + "\n", + " owner_occupied_housing_units_lower_value_quartile \\\n", + "0 312500.0 \n", + "1 797800.0 \n", + "2 327100.0 \n", + "\n", + " owner_occupied_housing_units_median_value \\\n", + "0 740400.0 \n", + "1 904400.0 \n", + "2 387500.0 \n", + "\n", + " owner_occupied_housing_units_upper_value_quartile occupied_housing_units \\\n", + "0 905400.0 1052.0 \n", + "1 1023400.0 62.0 \n", + "2 659700.0 193.0 \n", + "\n", + " housing_units_renter_occupied vacant_housing_units \\\n", + "0 953.0 58.0 \n", + "1 33.0 16.0 \n", + "2 164.0 94.0 \n", + "\n", + " vacant_housing_units_for_rent vacant_housing_units_for_sale \\\n", + "0 37.0 0.0 \n", + "1 0.0 0.0 \n", + "2 13.0 0.0 \n", + "\n", + " dwellings_1_units_detached dwellings_1_units_attached dwellings_2_units \\\n", + "0 12.0 12.0 138.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 27.0 41.0 \n", + "\n", + " dwellings_3_to_4_units dwellings_5_to_9_units dwellings_10_to_19_units \\\n", + "0 357.0 47.0 101.0 \n", + "1 3.0 5.0 4.0 \n", + "2 116.0 84.0 5.0 \n", + "\n", + " dwellings_20_to_49_units dwellings_50_or_more_units mobile_homes \\\n", + "0 352.0 91.0 0.0 \n", + "1 8.0 58.0 0.0 \n", + "2 10.0 4.0 0.0 \n", + "\n", + " housing_built_2005_or_later housing_built_2000_to_2004 \\\n", + "0 0.0 0.0 \n", + "1 0.0 5.0 \n", + "2 0.0 0.0 \n", + "\n", + " housing_built_1939_or_earlier median_year_structure_built \\\n", + "0 66.0 1939.0 \n", + "1 0.0 2001.0 \n", + "2 51.0 1939.0 \n", + "\n", + " married_households nonfamily_households family_households \\\n", + "0 773.0 170.0 882.0 \n", + "1 0.0 62.0 0.0 \n", + "2 66.0 73.0 120.0 \n", + "\n", + " households_public_asst_or_food_stamps male_male_households \\\n", + "0 633.0 0.0 \n", + "1 3.0 0.0 \n", + "2 21.0 0.0 \n", + "\n", + " female_female_households children children_in_single_female_hh \\\n", + "0 0.0 1941.0 126.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 83.0 0.0 \n", + "\n", + " median_rent percent_income_spent_on_rent rent_burden_not_computed \\\n", + "0 1053.0 49.7 34.0 \n", + "1 3021.0 22.5 0.0 \n", + "2 1196.0 26.8 13.0 \n", + "\n", + " rent_over_50_percent rent_40_to_50_percent rent_35_to_40_percent \\\n", + "0 456.0 117.0 79.0 \n", + "1 3.0 4.0 0.0 \n", + "2 45.0 0.0 11.0 \n", + "\n", + " rent_30_to_35_percent rent_25_to_30_percent rent_20_to_25_percent \\\n", + "0 32.0 52.0 99.0 \n", + "1 0.0 8.0 3.0 \n", + "2 5.0 23.0 5.0 \n", + "\n", + " rent_15_to_20_percent rent_10_to_15_percent rent_under_10_percent \\\n", + "0 38.0 46.0 0.0 \n", + "1 11.0 0.0 4.0 \n", + "2 38.0 20.0 4.0 \n", + "\n", + " owner_occupied_housing_units million_dollar_housing_units \\\n", + "0 99.0 10.0 \n", + "1 29.0 8.0 \n", + "2 29.0 0.0 \n", + "\n", + " mortgaged_housing_units different_house_year_ago_different_city \\\n", + "0 14.0 38.0 \n", + "1 12.0 5.0 \n", + "2 12.0 203.0 \n", + "\n", + " different_house_year_ago_same_city families_with_young_children \\\n", + "0 112.0 1211.0 \n", + "1 19.0 0.0 \n", + "2 88.0 5.0 \n", + "\n", + " two_parent_families_with_young_children \\\n", + "0 1064.0 \n", + "1 0.0 \n", + "2 5.0 \n", + "\n", + " two_parents_in_labor_force_families_with_young_children \\\n", + "0 223.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "\n", + " two_parents_father_in_labor_force_families_with_young_children \\\n", + "0 732.0 \n", + "1 0.0 \n", + "2 5.0 \n", + "\n", + " two_parents_mother_in_labor_force_families_with_young_children \\\n", + "0 109.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "\n", + " two_parents_not_in_labor_force_families_with_young_children \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "\n", + " one_parent_families_with_young_children \\\n", + "0 147.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "\n", + " father_one_parent_families_with_young_children \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "\n", + " father_in_labor_force_one_parent_families_with_young_children \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "\n", + " commute_5_9_mins commute_less_10_mins commute_10_14_mins \\\n", + "0 128.0 140.0 299.0 \n", + "1 5.0 5.0 27.0 \n", + "2 21.0 21.0 55.0 \n", + "\n", + " commute_15_19_mins commute_20_24_mins commute_25_29_mins \\\n", + "0 235.0 161.0 24.0 \n", + "1 21.0 15.0 14.0 \n", + "2 14.0 23.0 0.0 \n", + "\n", + " commute_30_34_mins commute_35_39_mins commute_40_44_mins \\\n", + "0 64.0 14.0 20.0 \n", + "1 4.0 0.0 0.0 \n", + "2 60.0 26.0 28.0 \n", + "\n", + " commute_35_44_mins commute_45_59_mins commute_60_more_mins \\\n", + "0 34.0 90.0 37.0 \n", + "1 0.0 0.0 0.0 \n", + "2 54.0 29.0 42.0 \n", + "\n", + " commute_60_89_mins commute_90_more_mins commuters_16_over \\\n", + "0 12.0 25.0 1084.0 \n", + "1 0.0 0.0 86.0 \n", + "2 22.0 20.0 298.0 \n", + "\n", + " walked_to_work worked_at_home no_car no_cars one_car two_cars \\\n", + "0 674.0 101.0 909.0 797.0 214.0 41.0 \n", + "1 52.0 4.0 69.0 54.0 8.0 0.0 \n", + "2 43.0 0.0 118.0 94.0 89.0 10.0 \n", + "\n", + " three_cars four_more_cars aggregate_travel_time_to_work \\\n", + "0 0.0 0.0 NaN \n", + "1 0.0 0.0 NaN \n", + "2 0.0 0.0 NaN \n", + "\n", + " commuters_by_public_transportation commuters_by_bus \\\n", + "0 135.0 36.0 \n", + "1 34.0 0.0 \n", + "2 173.0 39.0 \n", + "\n", + " commuters_by_car_truck_van commuters_by_carpool \\\n", + "0 275.0 64.0 \n", + "1 0.0 0.0 \n", + "2 82.0 0.0 \n", + "\n", + " commuters_by_subway_or_elevated commuters_drove_alone group_quarters \\\n", + "0 99.0 211.0 0.0 \n", + "1 34.0 0.0 32.0 \n", + "2 134.0 82.0 363.0 \n", + "\n", + " associates_degree bachelors_degree high_school_diploma \\\n", + "0 0.0 23.0 611.0 \n", + "1 3.0 48.0 0.0 \n", + "2 35.0 52.0 169.0 \n", + "\n", + " less_one_year_college masters_degree one_year_more_college \\\n", + "0 83.0 71.0 150.0 \n", + "1 7.0 3.0 0.0 \n", + "2 27.0 4.0 93.0 \n", + "\n", + " less_than_high_school_graduate high_school_including_ged \\\n", + "0 486.0 656.0 \n", + "1 19.0 6.0 \n", + "2 184.0 264.0 \n", + "\n", + " bachelors_degree_2 bachelors_degree_or_higher_25_64 \\\n", + "0 23.0 110.0 \n", + "1 48.0 58.0 \n", + "2 52.0 56.0 \n", + "\n", + " graduate_professional_degree some_college_and_associates_degree \\\n", + "0 96.0 233.0 \n", + "1 10.0 10.0 \n", + "2 4.0 155.0 \n", + "\n", + " male_45_64_associates_degree male_45_64_bachelors_degree \\\n", + "0 0.0 0.0 \n", + "1 0.0 4.0 \n", + "2 11.0 20.0 \n", + "\n", + " male_45_64_graduate_degree male_45_64_less_than_9_grade \\\n", + "0 12.0 37.0 \n", + "1 0.0 7.0 \n", + "2 0.0 6.0 \n", + "\n", + " male_45_64_grade_9_12 male_45_64_high_school male_45_64_some_college \\\n", + "0 41.0 104.0 50.0 \n", + "1 0.0 0.0 7.0 \n", + "2 29.0 69.0 18.0 \n", + "\n", + " male_45_to_64 employed_pop unemployed_pop pop_in_labor_force \\\n", + "0 244.0 1196.0 55.0 1251.0 \n", + "1 18.0 90.0 6.0 96.0 \n", + "2 153.0 298.0 36.0 334.0 \n", + "\n", + " not_in_labor_force workers_16_and_over armed_forces \\\n", + "0 990.0 1185.0 0.0 \n", + "1 19.0 90.0 0.0 \n", + "2 421.0 298.0 0.0 \n", + "\n", + " civilian_labor_force employed_agriculture_forestry_fishing_hunting_mining \\\n", + "0 1251.0 0.0 \n", + "1 96.0 0.0 \n", + "2 334.0 0.0 \n", + "\n", + " employed_arts_entertainment_recreation_accommodation_food \\\n", + "0 179.0 \n", + "1 13.0 \n", + "2 60.0 \n", + "\n", + " employed_construction employed_education_health_social \\\n", + "0 45.0 301.0 \n", + "1 4.0 4.0 \n", + "2 4.0 66.0 \n", + "\n", + " employed_finance_insurance_real_estate employed_information \\\n", + "0 34.0 11.0 \n", + "1 20.0 7.0 \n", + "2 10.0 4.0 \n", + "\n", + " employed_manufacturing employed_other_services_not_public_admin \\\n", + "0 58.0 133.0 \n", + "1 0.0 0.0 \n", + "2 5.0 65.0 \n", + "\n", + " employed_public_administration employed_retail_trade \\\n", + "0 0.0 225.0 \n", + "1 0.0 4.0 \n", + "2 0.0 6.0 \n", + "\n", + " employed_science_management_admin_waste \\\n", + "0 66.0 \n", + "1 27.0 \n", + "2 0.0 \n", + "\n", + " employed_transportation_warehousing_utilities employed_wholesale_trade \\\n", + "0 77.0 67.0 \n", + "1 11.0 0.0 \n", + "2 78.0 0.0 \n", + "\n", + " occupation_management_arts \\\n", + "0 351.0 \n", + "1 67.0 \n", + "2 31.0 \n", + "\n", + " occupation_natural_resources_construction_maintenance \\\n", + "0 44.0 \n", + "1 0.0 \n", + "2 42.0 \n", + "\n", + " occupation_production_transportation_material occupation_sales_office \\\n", + "0 110.0 527.0 \n", + "1 4.0 16.0 \n", + "2 85.0 33.0 \n", + "\n", + " occupation_services management_business_sci_arts_employed \\\n", + "0 164.0 351.0 \n", + "1 3.0 67.0 \n", + "2 107.0 31.0 \n", + "\n", + " sales_office_employed in_grades_1_to_4 in_grades_5_to_8 \\\n", + "0 527.0 427.0 170.0 \n", + "1 16.0 0.0 0.0 \n", + "2 33.0 18.0 39.0 \n", + "\n", + " in_grades_9_to_12 in_school in_undergrad_college \\\n", + "0 200.0 1462.0 135.0 \n", + "1 0.0 8.0 0.0 \n", + "2 34.0 124.0 20.0 \n", + "\n", + " speak_only_english_at_home speak_spanish_at_home \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "\n", + " speak_spanish_at_home_low_english do_label do_perimeter do_area \\\n", + "0 NaN 535.0 1588.147 129710.372 \n", + "1 NaN 113.0 1737.382 175691.837 \n", + "2 NaN 199.0 6528.538 1679379.837 \n", + "\n", + " do_num_vertices geom \n", + "0 8 POLYGON ((-73.96328 40.70773, -73.96485 40.707... \n", + "1 5 POLYGON ((-73.99163 40.75471, -73.98595 40.752... \n", + "2 29 POLYGON ((-73.94216 40.73568, -73.94037 40.733... " + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sql_query = \"SELECT * FROM $dataset$ WHERE ST_IntersectsBox(geom, -74.044467,40.706128,-73.891345,40.837690)\"\n", + "ct_demog_df = dataset.to_dataframe(sql_query=sql_query)\n", + "ct_demog_df.head(3)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "I85IxaWNASib" + }, + "source": [ + "##### Visualize dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 674 + }, + "id": "jdpXmibP34Yx", + "outputId": "e8276b0c-a1d8-4625-9e84-0ce14fcbacd3" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                                  \n", + "
                                                  \n", + "
                                                  \n", + " \n", + " \n", + "
                                                  \n", + "
                                                  \n", + " \n", + "\n", + "
                                                  \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                  \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                  \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                  \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                  \n", + " \n", + " \n", + "
                                                  \n", + "
                                                  \n", + "
                                                  \n", + "
                                                  \n", + " \n", + "
                                                  \n", + "
                                                  \n", + "
                                                  \n", + "\n", + " \n", + "\n", + "
                                                  \n", + "
                                                  \n", + " :\n", + "
                                                  \n", + " \n", + " \n", + "
                                                  \n", + "
                                                  \n", + "\n", + "
                                                  \n", + " StackTrace\n", + "
                                                    \n", + "
                                                    \n", + "
                                                    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Map([Layer(ct_demog_df, \n", + " geom_col='geom',\n", + " style=color_bins_style('total_pop', palette=palettes.emrld),\n", + " legends=color_bins_legend('Total Population')),\n", + " Layer(gpd.GeoDataFrame(data={'geometry':[box(-74.044467,40.706128,-73.891345,40.837690)]}),\n", + " style= basic_style(opacity=0, stroke_width=2, stroke_color='black'),\n", + " legends=basic_legend('Bounding box'))]\n", + ")" + ] + } + ], + "metadata": { + "colab": { + "collapsed_sections": [], + "name": "CARTO | Data Observatory v2.0 - Access to Data.ipynb", + "provenance": [], + "toc_visible": true + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/docs/examples/templates/do_data_discovery.ipynb b/docs/examples/templates/do_data_discovery.ipynb new file mode 100644 index 000000000..336a0a1a3 --- /dev/null +++ b/docs/examples/templates/do_data_discovery.ipynb @@ -0,0 +1,11434 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "7LKLhQBzJMOz" + }, + "source": [ + "## CARTO Data Observatory. How to explore the data catalog. Data discovery.\n", + "\n", + "This notebook shows how to use CARTOframes to discover and explore datasets from CARTO's [Data Observatory](https://carto.com/spatial-data-catalog/).\n", + "\n", + "If you haven't installed CARTOframes yet, please visit our [installation guide](https://carto.com/developers/cartoframes/guides/Installation/).\n", + "\n", + "The notebook is organized in the following sections:\n", + "\n", + "0. [Setup](#section0)\n", + "\n", + " 0.1. [Import packages](#section0.1)\n", + " \n", + " 0.2. [Set CARTO default credentials](#section0.2)\n", + "\n", + "\n", + "1. [Data discovery](#section1)\n", + " \n", + " 1.1. [Data catalog structure](#section1.1)\n", + " \n", + " 1.2. [Combining filters](#section1.2)\n", + " \n", + " 1.3. [Filter datasets by the type of geography](#section1.3)\n", + " \n", + " 1.4. [Get a first glimpse of a dataset](#section1.3)\n", + " \n", + " \n", + "**Want to learn more?** Learn how to access and download datasets on the following notebooks Access Public Data and Access Premium Data." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "V4-0hJjiVsen" + }, + "source": [ + "\n", + "### 0. Setup" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "#### 0.1. Import packages" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "id": "6vLRH4fEEkms" + }, + "outputs": [], + "source": [ + "import geopandas as gpd\n", + "import pandas as pd\n", + "pd.set_option('display.max_columns', None)\n", + "\n", + "from cartoframes.auth import set_default_credentials\n", + "from cartoframes.data.observatory import *" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "#### 0.2. Set CARTO default credentials\n", + "\n", + "In order to be able to use the Data Observatory via CARTOframes, you need to set your CARTO account credentials first.\n", + "\n", + "Please, visit the [Authentication guide](https://carto.com/developers/cartoframes/guides/Authentication/) for further detail." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "id": "2E7lg3CDV2ge" + }, + "outputs": [], + "source": [ + "set_default_credentials('creds.json')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note about credentials**\n", + "\n", + "For security reasons, we recommend storing your credentials in an external file to prevent publishing them by accident when sharing your notebooks. You can get more information in the section _Setting your credentials_ of the [Authentication guide](https://carto.com/developers/cartoframes/guides/Authentication/)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "uwAtCjyeV3QI" + }, + "source": [ + "\n", + "### 1. Data Discovery\n", + "\n", + "CARTO's data catalog consists of a set of datasets organized by:\n", + " - Country\n", + " - Category\n", + " - Provider\n", + " - Geography\n", + " \n", + "In addition, datasets are classified in public and premium data.\n", + "\n", + "This classification can be used to explore the Catalog and narrow down your search for the dataset most suitable for your analysis.\n", + "\n", + "For example, you may start exploring by country, then filter by category and finally select a dataset based on the provider. Alternatively, you could start exploring by category or provider." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "#### 1.1. Data catalog structure\n", + "\n", + "In this subsection we explore each of the four classification categories.\n", + "\n", + "**Note** results can be displayed in Python list format or in Pandas DataFrame format." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### 1.1.1. Countries" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "bowL1MIBgLbX", + "outputId": "6f897e48-0238-48bc-f9b9-12b7c0c87d6f" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                    idname
                                                    0abwAruba
                                                    1afgAfghanistan
                                                    2agoAngola
                                                    3aiaAnguilla
                                                    4albAlbania
                                                    5andAndorra
                                                    6areUnited Arab Emirates
                                                    7argArgentina
                                                    8armArmenia
                                                    9asmAmerican Samoa
                                                    \n", + "
                                                    " + ], + "text/plain": [ + " id name\n", + "0 abw Aruba\n", + "1 afg Afghanistan\n", + "2 ago Angola\n", + "3 aia Anguilla\n", + "4 alb Albania\n", + "5 and Andorra\n", + "6 are United Arab Emirates\n", + "7 arg Argentina\n", + "8 arm Armenia\n", + "9 asm American Samoa" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Catalog().countries.to_dataframe().head(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### 1.1.2. Categories" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 194 + }, + "id": "rQqNGRQ_oqdr", + "outputId": "1ceae746-0e6e-46ca-fe6c-171ee6542a2f" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                    idname
                                                    0behavioralBehavioral
                                                    1covid19Covid-19
                                                    2demographicsDemographics
                                                    3derivedDerived
                                                    4environmentalEnvironmental
                                                    5financialFinancial
                                                    6housingHousing
                                                    7human_mobilityHuman Mobility
                                                    8points_of_interestPoints of Interest
                                                    9road_trafficRoad Traffic
                                                    \n", + "
                                                    " + ], + "text/plain": [ + " id name\n", + "0 behavioral Behavioral\n", + "1 covid19 Covid-19\n", + "2 demographics Demographics\n", + "3 derived Derived\n", + "4 environmental Environmental\n", + "5 financial Financial\n", + "6 housing Housing\n", + "7 human_mobility Human Mobility\n", + "8 points_of_interest Points of Interest\n", + "9 road_traffic Road Traffic" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Catalog().categories.to_dataframe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### 1.1.3. Providers" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 514 + }, + "id": "FSYAZfjMoucY", + "outputId": "dde40bfe-f9ab-4c47-b614-6c0b3e5a823b" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                    idname
                                                    0lifesightLifesight
                                                    1tomtomTomTom
                                                    2home_junctionHome Junction
                                                    3mastercardMastercard
                                                    4usa_blsBureau of Labor Statistics
                                                    5dstilleryDstillery
                                                    6usa_acsAmerican Community Survey
                                                    7safegraphSafeGraph
                                                    8vodafoneVodafone
                                                    9can_statisticsStatistics Canada
                                                    \n", + "
                                                    " + ], + "text/plain": [ + " id name\n", + "0 lifesight Lifesight\n", + "1 tomtom TomTom\n", + "2 home_junction Home Junction\n", + "3 mastercard Mastercard\n", + "4 usa_bls Bureau of Labor Statistics\n", + "5 dstillery Dstillery\n", + "6 usa_acs American Community Survey\n", + "7 safegraph SafeGraph\n", + "8 vodafone Vodafone\n", + "9 can_statistics Statistics Canada" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Catalog().providers.to_dataframe().head(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### 1.1.4. Geographies" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 960 + }, + "id": "HuKsB4E5o1Th", + "outputId": "f5ad1d4f-f36c-47ea-f03f-bd7cbb34b1bc" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                    slugnamedescriptioncountry_idprovider_idgeom_typegeom_coverageupdate_frequencyis_public_datalangversionprovider_nameid
                                                    0ne_ports_e4ee35c9Ports - GlobalDerives from High Seas, a detailed GIS compila...glonatural_earthPOINTNoneNoneTrueeng410Natural Earthcarto-do-public-data.natural_earth.geography_g...
                                                    1ne_parksandpro_dc9d5ce5Parks And Protected Lands Area - United States...Data includes the 398 authorized National Park...usanatural_earthMULTIPOLYGONNoneNoneTrueeng410Natural Earthcarto-do-public-data.natural_earth.geography_u...
                                                    2mbi_small_areas_f4ab4f8eSmall Areas - South AfricaMBI Digital Boundaries for South Africa at Sma...zafmbiMULTIPOLYGONNoneyearlyFalseeng2020Michael Bauer Internationalcarto-do.mbi.geography_zaf_smallareas_2020
                                                    3mbi_parishes_309be8bcParishes - JamaicaMBI Digital Boundaries for Jamaica at Parishes...jammbiMULTIPOLYGONNoneyearlyFalseeng2020Michael Bauer Internationalcarto-do.mbi.geography_jam_parishes_2020
                                                    4tigr_county_c781b68eCounty - United States of America (2017)County TIGER/Line Shapefiles from the United S...usausa_tigerMULTIPOLYGONNoneNoneTrueeng2017Tiger/Line geographic data from the U.S. Censu...carto-do-public-data.usa_tiger.geography_usa_c...
                                                    \n", + "
                                                    " + ], + "text/plain": [ + " slug \\\n", + "0 ne_ports_e4ee35c9 \n", + "1 ne_parksandpro_dc9d5ce5 \n", + "2 mbi_small_areas_f4ab4f8e \n", + "3 mbi_parishes_309be8bc \n", + "4 tigr_county_c781b68e \n", + "\n", + " name \\\n", + "0 Ports - Global \n", + "1 Parks And Protected Lands Area - United States... \n", + "2 Small Areas - South Africa \n", + "3 Parishes - Jamaica \n", + "4 County - United States of America (2017) \n", + "\n", + " description country_id \\\n", + "0 Derives from High Seas, a detailed GIS compila... glo \n", + "1 Data includes the 398 authorized National Park... usa \n", + "2 MBI Digital Boundaries for South Africa at Sma... zaf \n", + "3 MBI Digital Boundaries for Jamaica at Parishes... jam \n", + "4 County TIGER/Line Shapefiles from the United S... usa \n", + "\n", + " provider_id geom_type geom_coverage update_frequency is_public_data \\\n", + "0 natural_earth POINT None None True \n", + "1 natural_earth MULTIPOLYGON None None True \n", + "2 mbi MULTIPOLYGON None yearly False \n", + "3 mbi MULTIPOLYGON None yearly False \n", + "4 usa_tiger MULTIPOLYGON None None True \n", + "\n", + " lang version provider_name \\\n", + "0 eng 410 Natural Earth \n", + "1 eng 410 Natural Earth \n", + "2 eng 2020 Michael Bauer International \n", + "3 eng 2020 Michael Bauer International \n", + "4 eng 2017 Tiger/Line geographic data from the U.S. Censu... \n", + "\n", + " id \n", + "0 carto-do-public-data.natural_earth.geography_g... \n", + "1 carto-do-public-data.natural_earth.geography_u... \n", + "2 carto-do.mbi.geography_zaf_smallareas_2020 \n", + "3 carto-do.mbi.geography_jam_parishes_2020 \n", + "4 carto-do-public-data.usa_tiger.geography_usa_c... " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Catalog().geographies.to_dataframe().head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "asbQxIHQi-9Z" + }, + "source": [ + "\n", + "#### 1.2. Combining filters\n", + "Let's now take a look at how to combine category and provider filters to get the public demographics datasets available in the US from ACS at the census tract level." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Categories available in the US." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 194 + }, + "id": "soKtHxhso5_l", + "outputId": "84a21fad-7a99-4548-aa7c-57f6152de6c2" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You can find more entities with the Global country filter. To apply that filter run:\n", + "\tCatalog().country('glo')\n" + ] + }, + { + "data": { + "text/html": [ + "
                                                    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                    idname
                                                    0behavioralBehavioral
                                                    1covid19Covid-19
                                                    2demographicsDemographics
                                                    3derivedDerived
                                                    4environmentalEnvironmental
                                                    5financialFinancial
                                                    6housingHousing
                                                    7human_mobilityHuman Mobility
                                                    8points_of_interestPoints of Interest
                                                    9road_trafficRoad Traffic
                                                    \n", + "
                                                    " + ], + "text/plain": [ + " id name\n", + "0 behavioral Behavioral\n", + "1 covid19 Covid-19\n", + "2 demographics Demographics\n", + "3 derived Derived\n", + "4 environmental Environmental\n", + "5 financial Financial\n", + "6 housing Housing\n", + "7 human_mobility Human Mobility\n", + "8 points_of_interest Points of Interest\n", + "9 road_traffic Road Traffic" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Catalog().country('usa').categories.to_dataframe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Providers available in the US." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 301 + }, + "id": "FNlJMzn3kfIK", + "outputId": "46cd0f10-2dad-4e1c-f84a-77b368e96c75" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You can find more entities with the Global country filter. To apply that filter run:\n", + "\tCatalog().country('glo')\n" + ] + }, + { + "data": { + "text/html": [ + "
                                                    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                    idname
                                                    0lifesightLifesight
                                                    1tomtomTomTom
                                                    2home_junctionHome Junction
                                                    3mastercardMastercard
                                                    4usa_blsBureau of Labor Statistics
                                                    \n", + "
                                                    " + ], + "text/plain": [ + " id name\n", + "0 lifesight Lifesight\n", + "1 tomtom TomTom\n", + "2 home_junction Home Junction\n", + "3 mastercard Mastercard\n", + "4 usa_bls Bureau of Labor Statistics" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Catalog().country('usa').providers.to_dataframe().head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "List of providers available in the US offering demographics data." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 105 + }, + "id": "0TGBWgPwkjDY", + "outputId": "145812ec-eeca-4ca3-d39c-05e35484f11a" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You can find more entities with the Global country filter. To apply that filter run:\n", + "\tCatalog().country('glo')\n" + ] + }, + { + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ,\n", + " ]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Catalog().country('usa').category('demographics').providers" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "List of providers available in the US offering **public** demographics data." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You can find more entities with the Global country filter. To apply that filter run:\n", + "\tCatalog().country('glo')\n" + ] + }, + { + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ,\n", + " ]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Catalog().country('usa').category('demographics').public().providers" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's now take a look at all the demographics datasets provided by ACS in the US." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 926 + }, + "id": "txVEvD6ylQoT", + "outputId": "1007d1d4-b67e-430e-a511-05e47669c300" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You can find more entities with the Global country filter. To apply that filter run:\n", + "\tCatalog().country('glo')" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + }, + { + "data": { + "text/html": [ + "
                                                    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                    slugnamedescriptioncategory_idcountry_iddata_source_idprovider_idgeography_namegeography_descriptiontemporal_aggregationtime_coverageupdate_frequencyis_public_datalangversioncategory_nameprovider_namegeography_idid
                                                    0acs_sociodemogr_a0c48b07Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCounty - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...yearly[2007-01-01, 2008-01-01)yearlyTrueeng2007DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_count...carto-do-public-data.usa_acs.demographics_soci...
                                                    1acs_sociodemogr_a03fb95fSociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCongressional District - United States of Amer...Shoreline clipped TIGER/Line boundaries. More ...yearly[2017-01-01, 2018-01-01)yearlyTrueeng2017DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_congr...carto-do-public-data.usa_acs.demographics_soci...
                                                    2acs_sociodemogr_e7b702b0Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCore-based Statistical Area - United States of...Shoreline clipped TIGER/Line boundaries. More ...3yrs[2006-01-01, 2009-01-01)yearlyTrueeng20062008DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_cbsa_...carto-do-public-data.usa_acs.demographics_soci...
                                                    3acs_sociodemogr_e1e92d8dSociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCore-based Statistical Area - United States of...Shoreline clipped TIGER/Line boundaries. More ...yearly[2013-01-01, 2014-01-01)yearlyTrueeng2013DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_cbsa_...carto-do-public-data.usa_acs.demographics_soci...
                                                    4acs_sociodemogr_30a865f1Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCore-based Statistical Area - United States of...Shoreline clipped TIGER/Line boundaries. More ...3yrs[2005-01-01, 2008-01-01)yearlyTrueeng20052007DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_cbsa_...carto-do-public-data.usa_acs.demographics_soci...
                                                    \n", + "
                                                    " + ], + "text/plain": [ + " slug \\\n", + "0 acs_sociodemogr_a0c48b07 \n", + "1 acs_sociodemogr_a03fb95f \n", + "2 acs_sociodemogr_e7b702b0 \n", + "3 acs_sociodemogr_e1e92d8d \n", + "4 acs_sociodemogr_30a865f1 \n", + "\n", + " name \\\n", + "0 Sociodemographics - United States of America (... \n", + "1 Sociodemographics - United States of America (... \n", + "2 Sociodemographics - United States of America (... \n", + "3 Sociodemographics - United States of America (... \n", + "4 Sociodemographics - United States of America (... \n", + "\n", + " description category_id country_id \\\n", + "0 The American Community Survey (ACS) is an ongo... demographics usa \n", + "1 The American Community Survey (ACS) is an ongo... demographics usa \n", + "2 The American Community Survey (ACS) is an ongo... demographics usa \n", + "3 The American Community Survey (ACS) is an ongo... demographics usa \n", + "4 The American Community Survey (ACS) is an ongo... demographics usa \n", + "\n", + " data_source_id provider_id \\\n", + "0 sociodemographics usa_acs \n", + "1 sociodemographics usa_acs \n", + "2 sociodemographics usa_acs \n", + "3 sociodemographics usa_acs \n", + "4 sociodemographics usa_acs \n", + "\n", + " geography_name \\\n", + "0 County - United States of America (2015) \n", + "1 Congressional District - United States of Amer... \n", + "2 Core-based Statistical Area - United States of... \n", + "3 Core-based Statistical Area - United States of... \n", + "4 Core-based Statistical Area - United States of... \n", + "\n", + " geography_description temporal_aggregation \\\n", + "0 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "1 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "2 Shoreline clipped TIGER/Line boundaries. More ... 3yrs \n", + "3 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "4 Shoreline clipped TIGER/Line boundaries. More ... 3yrs \n", + "\n", + " time_coverage update_frequency is_public_data lang version \\\n", + "0 [2007-01-01, 2008-01-01) yearly True eng 2007 \n", + "1 [2017-01-01, 2018-01-01) yearly True eng 2017 \n", + "2 [2006-01-01, 2009-01-01) yearly True eng 20062008 \n", + "3 [2013-01-01, 2014-01-01) yearly True eng 2013 \n", + "4 [2005-01-01, 2008-01-01) yearly True eng 20052007 \n", + "\n", + " category_name provider_name \\\n", + "0 Demographics American Community Survey \n", + "1 Demographics American Community Survey \n", + "2 Demographics American Community Survey \n", + "3 Demographics American Community Survey \n", + "4 Demographics American Community Survey \n", + "\n", + " geography_id \\\n", + "0 carto-do-public-data.carto.geography_usa_count... \n", + "1 carto-do-public-data.carto.geography_usa_congr... \n", + "2 carto-do-public-data.carto.geography_usa_cbsa_... \n", + "3 carto-do-public-data.carto.geography_usa_cbsa_... \n", + "4 carto-do-public-data.carto.geography_usa_cbsa_... \n", + "\n", + " id \n", + "0 carto-do-public-data.usa_acs.demographics_soci... \n", + "1 carto-do-public-data.usa_acs.demographics_soci... \n", + "2 carto-do-public-data.usa_acs.demographics_soci... \n", + "3 carto-do-public-data.usa_acs.demographics_soci... \n", + "4 carto-do-public-data.usa_acs.demographics_soci... " + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Catalog().country('usa').category('demographics').provider('usa_acs').datasets.to_dataframe().head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "KQv9beU-16bi" + }, + "source": [ + "\n", + "#### 1.3. Filter datasets by the type of geography\n", + "\n", + "We can explore the types of geographies for which the datasets are available. In order to filter by a specific type of geography, we have to apply a filter to the geography_name column just like we would for a string column on a Pandas DataFrame." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You can find more entities with the Global country filter. To apply that filter run:\n", + "\tCatalog().country('glo')\n" + ] + } + ], + "source": [ + "datasets_acs_df = Catalog().country('usa').category('demographics').provider('usa_acs').datasets.to_dataframe()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 247 + }, + "id": "vI6u6tJ9q4AG", + "outputId": "3d1dbc5d-5c04-43fa-c0b2-08fc1765f626" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['County - United States of America (2015)',\n", + " 'Congressional District - United States of America (2019)',\n", + " 'Core-based Statistical Area - United States of America (2019)',\n", + " 'Census Tract - United States of America (2015)',\n", + " 'Public Use Microdata Area - United States of America (2019)',\n", + " 'Census Place - United States of America (2019)',\n", + " 'State - United States of America (2015)',\n", + " 'Census Block Group - United States of America (2015)',\n", + " '5-digit Zip Code Tabulation Area - United States of America (2015)',\n", + " 'School District (secondary) - United States of America (2019)',\n", + " 'School District (elementary) - United States of America (2019)',\n", + " 'School District (unified) - United States of America (2019)'],\n", + " dtype=object)" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "datasets_acs_df['geography_name'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 707 + }, + "id": "bMin3NRkrBOz", + "outputId": "e79d6841-3ed1-4912-e34a-8aaea416b2ef" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                    slugnamedescriptioncategory_idcountry_iddata_source_idprovider_idgeography_namegeography_descriptiontemporal_aggregationtime_coverageupdate_frequencyis_public_datalangversioncategory_nameprovider_namegeography_idid
                                                    8acs_sociodemogr_30d1f53Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2012-01-01, 2017-01-01)yearlyTrueeng20122016DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                    9acs_sociodemogr_cfeb0968Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2009-01-01, 2014-01-01)yearlyTrueeng20092013DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                    35acs_sociodemogr_9ed5d625Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2007-01-01, 2012-01-01)yearlyTrueeng20072011DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                    41acs_sociodemogr_496a0675Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2013-01-01, 2018-01-01)yearlyTrueeng20132017DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                    42acs_sociodemogr_d4b2cf03Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2006-01-01, 2011-01-01)yearlyTrueeng20062010DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                    169acs_sociodemogr_97c32d1fSociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2010-01-01, 2015-01-01)yearlyTrueeng20102014DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                    201acs_sociodemogr_dda43439Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2011-01-01, 2016-01-01)yearlyTrueeng20112015DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                    231acs_sociodemogr_6bf5c7f4Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrsNoneyearlyTrueeng20142018DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                    246acs_sociodemogr_858c104eSociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of America (2015)Shoreline clipped TIGER/Line boundaries. More ...5yrs[2008-01-01, 2013-01-01)yearlyTrueeng20082012DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                    \n", + "
                                                    " + ], + "text/plain": [ + " slug \\\n", + "8 acs_sociodemogr_30d1f53 \n", + "9 acs_sociodemogr_cfeb0968 \n", + "35 acs_sociodemogr_9ed5d625 \n", + "41 acs_sociodemogr_496a0675 \n", + "42 acs_sociodemogr_d4b2cf03 \n", + "169 acs_sociodemogr_97c32d1f \n", + "201 acs_sociodemogr_dda43439 \n", + "231 acs_sociodemogr_6bf5c7f4 \n", + "246 acs_sociodemogr_858c104e \n", + "\n", + " name \\\n", + "8 Sociodemographics - United States of America (... \n", + "9 Sociodemographics - United States of America (... \n", + "35 Sociodemographics - United States of America (... \n", + "41 Sociodemographics - United States of America (... \n", + "42 Sociodemographics - United States of America (... \n", + "169 Sociodemographics - United States of America (... \n", + "201 Sociodemographics - United States of America (... \n", + "231 Sociodemographics - United States of America (... \n", + "246 Sociodemographics - United States of America (... \n", + "\n", + " description category_id \\\n", + "8 The American Community Survey (ACS) is an ongo... demographics \n", + "9 The American Community Survey (ACS) is an ongo... demographics \n", + "35 The American Community Survey (ACS) is an ongo... demographics \n", + "41 The American Community Survey (ACS) is an ongo... demographics \n", + "42 The American Community Survey (ACS) is an ongo... demographics \n", + "169 The American Community Survey (ACS) is an ongo... demographics \n", + "201 The American Community Survey (ACS) is an ongo... demographics \n", + "231 The American Community Survey (ACS) is an ongo... demographics \n", + "246 The American Community Survey (ACS) is an ongo... demographics \n", + "\n", + " country_id data_source_id provider_id \\\n", + "8 usa sociodemographics usa_acs \n", + "9 usa sociodemographics usa_acs \n", + "35 usa sociodemographics usa_acs \n", + "41 usa sociodemographics usa_acs \n", + "42 usa sociodemographics usa_acs \n", + "169 usa sociodemographics usa_acs \n", + "201 usa sociodemographics usa_acs \n", + "231 usa sociodemographics usa_acs \n", + "246 usa sociodemographics usa_acs \n", + "\n", + " geography_name \\\n", + "8 Census Tract - United States of America (2015) \n", + "9 Census Tract - United States of America (2015) \n", + "35 Census Tract - United States of America (2015) \n", + "41 Census Tract - United States of America (2015) \n", + "42 Census Tract - United States of America (2015) \n", + "169 Census Tract - United States of America (2015) \n", + "201 Census Tract - United States of America (2015) \n", + "231 Census Tract - United States of America (2015) \n", + "246 Census Tract - United States of America (2015) \n", + "\n", + " geography_description temporal_aggregation \\\n", + "8 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "9 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "35 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "41 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "42 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "169 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "201 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "231 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "246 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "\n", + " time_coverage update_frequency is_public_data lang version \\\n", + "8 [2012-01-01, 2017-01-01) yearly True eng 20122016 \n", + "9 [2009-01-01, 2014-01-01) yearly True eng 20092013 \n", + "35 [2007-01-01, 2012-01-01) yearly True eng 20072011 \n", + "41 [2013-01-01, 2018-01-01) yearly True eng 20132017 \n", + "42 [2006-01-01, 2011-01-01) yearly True eng 20062010 \n", + "169 [2010-01-01, 2015-01-01) yearly True eng 20102014 \n", + "201 [2011-01-01, 2016-01-01) yearly True eng 20112015 \n", + "231 None yearly True eng 20142018 \n", + "246 [2008-01-01, 2013-01-01) yearly True eng 20082012 \n", + "\n", + " category_name provider_name \\\n", + "8 Demographics American Community Survey \n", + "9 Demographics American Community Survey \n", + "35 Demographics American Community Survey \n", + "41 Demographics American Community Survey \n", + "42 Demographics American Community Survey \n", + "169 Demographics American Community Survey \n", + "201 Demographics American Community Survey \n", + "231 Demographics American Community Survey \n", + "246 Demographics American Community Survey \n", + "\n", + " geography_id \\\n", + "8 carto-do-public-data.carto.geography_usa_censu... \n", + "9 carto-do-public-data.carto.geography_usa_censu... \n", + "35 carto-do-public-data.carto.geography_usa_censu... \n", + "41 carto-do-public-data.carto.geography_usa_censu... \n", + "42 carto-do-public-data.carto.geography_usa_censu... \n", + "169 carto-do-public-data.carto.geography_usa_censu... \n", + "201 carto-do-public-data.carto.geography_usa_censu... \n", + "231 carto-do-public-data.carto.geography_usa_censu... \n", + "246 carto-do-public-data.carto.geography_usa_censu... \n", + "\n", + " id \n", + "8 carto-do-public-data.usa_acs.demographics_soci... \n", + "9 carto-do-public-data.usa_acs.demographics_soci... \n", + "35 carto-do-public-data.usa_acs.demographics_soci... \n", + "41 carto-do-public-data.usa_acs.demographics_soci... \n", + "42 carto-do-public-data.usa_acs.demographics_soci... \n", + "169 carto-do-public-data.usa_acs.demographics_soci... \n", + "201 carto-do-public-data.usa_acs.demographics_soci... \n", + "231 carto-do-public-data.usa_acs.demographics_soci... \n", + "246 carto-do-public-data.usa_acs.demographics_soci... " + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "datasets_acs_df[datasets_acs_df['geography_name'].str.contains('Census Tract')]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ZEzr-AfG6uSM" + }, + "source": [ + "\n", + "#### 1.4. Get a first glimpse of a dataset\n", + "\n", + "We select the dataset acs_sociodemogr_496a0675 from the list of datasets above because it is the one with the latest data update.\n", + "\n", + "CARTOframes allows you to get a first glimpse of the dataset so that you can make sure it's the right dataset for your analysis. This includes:\n", + " - Information about the dataset. This includes a description, provider, temporal aggregation, if it is public or premium, etc.\n", + " - Information about its variables. This includes a name, description, aggregation method, etc.\n", + " - Access to the first 10 rows of the dataset.\n", + " - A statistical description of all numerical variables, just like the `describe()` function in Pandas.\n", + " - A map with the geometric coverage of the dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "id": "ty7maPPM66kD" + }, + "outputs": [], + "source": [ + "sample_ds = Dataset.get('acs_sociodemogr_496a0675')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### 1.4.1. Information about the dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 374 + }, + "id": "A7DIGyXj9Otw", + "outputId": "43fcb060-0f9a-42e4-c3b4-4c44cdc152fe" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'slug': 'acs_sociodemogr_496a0675',\n", + " 'name': 'Sociodemographics - United States of America (Census Tract, 2017, 5yrs)',\n", + " 'description': 'The American Community Survey (ACS) is an ongoing survey that provides vital information on a yearly basis about the USA and its people. This dataset contains only a subset of the variables that have been deemed most relevant. More info: https://www.census.gov/programs-surveys/acs/about.html',\n", + " 'category_id': 'demographics',\n", + " 'country_id': 'usa',\n", + " 'data_source_id': 'sociodemographics',\n", + " 'provider_id': 'usa_acs',\n", + " 'geography_name': 'Census Tract - United States of America (2015)',\n", + " 'geography_description': 'Shoreline clipped TIGER/Line boundaries. More info: https://carto.com/blog/tiger-shoreline-clip/',\n", + " 'temporal_aggregation': '5yrs',\n", + " 'time_coverage': '[2013-01-01, 2018-01-01)',\n", + " 'update_frequency': 'yearly',\n", + " 'is_public_data': True,\n", + " 'lang': 'eng',\n", + " 'version': '20132017',\n", + " 'category_name': 'Demographics',\n", + " 'provider_name': 'American Community Survey',\n", + " 'geography_id': 'carto-do-public-data.carto.geography_usa_censustract_2015',\n", + " 'id': 'carto-do-public-data.usa_acs.demographics_sociodemographics_usa_censustract_2015_5yrs_20132017'}" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample_ds.to_dict()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### 1.4.2. Information about the dataset variables" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "6eufahA97EOg", + "outputId": "da142ec2-29b0-4efb-e45c-715b900bdf29" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                    slugnamedescriptiondb_typeagg_methodcolumn_namevariable_group_iddataset_idid
                                                    0geoid_e99a58c1geoidUS Census Block Groups GeoidsSTRINGNonegeoidNonecarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                    1do_date_45f076c2do_dateFirst day of the year the survey was issuedDATENonedo_dateNonecarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                    2total_pop_17ea032fTotal PopulationTotal Population. The total number of all peop...FLOATSUMtotal_popNonecarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                    3households_a12defd5Number of householdsHouseholds. A count of the number of household...FLOATSUMhouseholdsNonecarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                    4male_pop_eac43e5amale_popMale Population. The number of people within e...FLOATSUMmale_popcarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                    \n", + "
                                                    " + ], + "text/plain": [ + " slug name \\\n", + "0 geoid_e99a58c1 geoid \n", + "1 do_date_45f076c2 do_date \n", + "2 total_pop_17ea032f Total Population \n", + "3 households_a12defd5 Number of households \n", + "4 male_pop_eac43e5a male_pop \n", + "\n", + " description db_type agg_method \\\n", + "0 US Census Block Groups Geoids STRING None \n", + "1 First day of the year the survey was issued DATE None \n", + "2 Total Population. The total number of all peop... FLOAT SUM \n", + "3 Households. A count of the number of household... FLOAT SUM \n", + "4 Male Population. The number of people within e... FLOAT SUM \n", + "\n", + " column_name variable_group_id \\\n", + "0 geoid None \n", + "1 do_date None \n", + "2 total_pop None \n", + "3 households None \n", + "4 male_pop carto-do-public-data.usa_acs.demographics_soci... \n", + "\n", + " dataset_id \\\n", + "0 carto-do-public-data.usa_acs.demographics_soci... \n", + "1 carto-do-public-data.usa_acs.demographics_soci... \n", + "2 carto-do-public-data.usa_acs.demographics_soci... \n", + "3 carto-do-public-data.usa_acs.demographics_soci... \n", + "4 carto-do-public-data.usa_acs.demographics_soci... \n", + "\n", + " id \n", + "0 carto-do-public-data.usa_acs.demographics_soci... \n", + "1 carto-do-public-data.usa_acs.demographics_soci... \n", + "2 carto-do-public-data.usa_acs.demographics_soci... \n", + "3 carto-do-public-data.usa_acs.demographics_soci... \n", + "4 carto-do-public-data.usa_acs.demographics_soci... " + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample_ds.variables.to_dataframe().head(5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### 1.4.3. Access to the ten first rows of the dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 367 + }, + "id": "QJqYk6r886_J", + "outputId": "fcd88f75-2146-4a61-b176-dc07a1c5a56c" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                    geoidno_cardo_datemale_20male_21no_carsone_carpovertychildrenmale_poptwo_carsasian_popblack_popfemale_20female_21in_schoolpop_25_64total_popwhite_popfemale_popgini_indexhouseholdsmale_60_61male_62_64median_agethree_carsmale_5_to_9median_rentpop_16_overpop_widowedarmed_forcesemployed_pophispanic_popmale_under_5mobile_homespop_divorcedfemale_5_to_9housing_unitsmale_10_to_14male_15_to_17male_18_to_19male_22_to_24male_25_to_29male_30_to_34male_35_to_39male_40_to_44male_45_to_49male_45_to_64male_50_to_54male_55_to_59male_65_to_66male_67_to_69male_70_to_74male_75_to_79male_80_to_84median_incomepop_separatedamerindian_popfemale_under_5four_more_carsgroup_quartersmasters_degreeother_race_popunemployed_popwalked_to_workworked_at_homefemale_10_to_14female_15_to_17female_18_to_19female_22_to_24female_25_to_29female_30_to_34female_35_to_39female_40_to_44female_45_to_49female_50_to_54female_55_to_59female_60_to_61female_62_to_64female_65_to_66female_67_to_69female_70_to_74female_75_to_79female_80_to_84pop_15_and_overpop_now_marriedasian_male_45_54asian_male_55_64bachelors_degreeblack_male_45_54black_male_55_64commute_5_9_minscommuters_by_busin_grades_1_to_4in_grades_5_to_8male_85_and_overnot_hispanic_poppop_5_years_overwhite_male_45_54white_male_55_64associates_degreecommuters_16_overdwellings_2_unitsfamily_householdshispanic_any_racein_grades_9_to_12income_less_10000income_per_capitapop_25_years_overpop_never_marriedbachelors_degree_2commute_10_14_minscommute_15_19_minscommute_20_24_minscommute_25_29_minscommute_30_34_minscommute_35_39_minscommute_35_44_minscommute_40_44_minscommute_45_59_minscommute_60_89_minsfemale_85_and_overincome_10000_14999income_15000_19999income_20000_24999income_25000_29999income_30000_34999income_35000_39999income_40000_44999income_45000_49999income_50000_59999income_60000_74999income_75000_99999married_householdsnot_in_labor_forcenot_us_citizen_poppop_in_labor_forcehigh_school_diplomahispanic_male_45_54hispanic_male_55_64occupation_servicesworkers_16_and_overcivilian_labor_forcecommute_60_more_minscommute_90_more_minscommute_less_10_minscommuters_by_carpoolemployed_informationin_undergrad_collegeincome_100000_124999income_125000_149999income_150000_199999male_male_householdsnonfamily_householdsrent_over_50_percentvacant_housing_unitscommuters_drove_aloneemployed_constructionemployed_retail_tradeincome_200000_or_moreless_one_year_collegemale_45_64_grade_9_12one_year_more_collegerent_10_to_15_percentrent_15_to_20_percentrent_20_to_25_percentrent_25_to_30_percentrent_30_to_35_percentrent_35_to_40_percentrent_40_to_50_percentrent_under_10_percentsales_office_employedspeak_spanish_at_hometwo_or_more_races_popdwellings_3_to_4_unitsdwellings_5_to_9_unitsemployed_manufacturingmale_45_64_high_schooloccupied_housing_unitsmale_45_64_some_collegemortgaged_housing_unitsoccupation_sales_officepopulation_3_years_overasian_including_hispanicblack_including_hispanicdwellings_10_to_19_unitsdwellings_20_to_49_unitsemployed_wholesale_tradefemale_female_householdsrent_burden_not_computedwhite_including_hispanichigh_school_including_gedcommuters_by_car_truck_vandwellings_1_units_attacheddwellings_1_units_detacheddwellings_50_or_more_unitshousing_built_2000_to_2004male_45_64_graduate_degreeoccupation_management_artspopulation_1_year_and_overspeak_only_english_at_homehousing_built_2005_or_latermale_45_64_bachelors_degreemedian_year_structure_builtchildren_in_single_female_hhfamilies_with_young_childrengraduate_professional_degreehouseholds_retirement_incomemale_45_64_associates_degreemale_45_64_less_than_9_grademillion_dollar_housing_unitsowner_occupied_housing_unitspercent_income_spent_on_rentaggregate_travel_time_to_workamerindian_including_hispanichousing_built_1939_or_earlierhousing_units_renter_occupiedpop_determined_poverty_statusvacant_housing_units_for_rentvacant_housing_units_for_saleemployed_public_administrationless_than_high_school_graduatecommuters_by_subway_or_elevatedbachelors_degree_or_higher_25_64employed_education_health_socialspeak_spanish_at_home_low_englishcommuters_by_public_transportationdifferent_house_year_ago_same_citysome_college_and_associates_degreehouseholds_public_asst_or_food_stampsmanagement_business_sci_arts_employedemployed_finance_insurance_real_estatedifferent_house_year_ago_different_cityemployed_science_management_admin_wasteone_parent_families_with_young_childrentwo_parent_families_with_young_childrenemployed_other_services_not_public_adminowner_occupied_housing_units_median_valueemployed_transportation_warehousing_utilitiesoccupation_production_transportation_materialfather_one_parent_families_with_young_childrenowner_occupied_housing_units_lower_value_quartileowner_occupied_housing_units_upper_value_quartileemployed_agriculture_forestry_fishing_hunting_miningoccupation_natural_resources_construction_maintenancetwo_parents_in_labor_force_families_with_young_childrenemployed_arts_entertainment_recreation_accommodation_foodrenter_occupied_housing_units_paying_cash_median_gross_renttwo_parents_not_in_labor_force_families_with_young_childrenfather_in_labor_force_one_parent_families_with_young_childrentwo_parents_father_in_labor_force_families_with_young_childrentwo_parents_mother_in_labor_force_families_with_young_children
                                                    04715700500076.0201320170.00.0151.0122.0552.0316.0415.064.00.01004.019.042.0331.0328.01042.016.0627.00.4372343.00.02.028.90.038.0391.0749.0None0.0233.00.044.05.0None76.0465.027.026.030.022.011.013.031.011.015.079.021.041.00.05.026.05.031.014410.0None0.024.06.045.013.00.071.07.00.047.034.017.032.034.013.038.019.025.026.022.00.06.022.038.036.013.06.0NoneNone0.00.00.023.035.07.052.090.041.016.01042.0None13.03.028.0233.013.0183.00.0111.079.08747.0564.0None0.04.059.0108.010.020.00.07.07.013.00.038.0105.044.038.013.018.011.00.00.07.010.018.026.0445.00.0304.0188.00.00.058.0233.0304.05.05.07.021.00.063.00.00.00.00.0160.038.0122.0141.024.019.00.022.018.085.011.042.039.033.047.09.041.00.030.0None22.063.069.016.041.0343.010.020.030.0999.00.01004.040.025.02.00.018.016.0235.0162.00.0195.055.010.01.054.01019.0None0.00.01981.0278.075.013.047.07.02.00.065.030.5None0.081.0278.01042.014.00.04.0181.00.01.057.0None52.038.0135.0147.054.00.015.033.075.00.014.0None43.080.00.026600.0231300.00.011.00.021.0507.00.00.00.00.0
                                                    1720519900210.0201320170.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.0NaN0.00.0NaN0.0None0.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.0NaN0.0NoneNaN0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.00.00.00.00.0NaNNone0.00.0NaN0.00.0NaN0.00.00.00.00.0NaNNone0.00.00.00.00.00.00.0NaN0.00.00.0None0.0NaNNaN0.00.00.0NaN0.00.00.00.0None0.00.00.0NaNNaN0.00.00.00.0NaN0.00.00.00.0
                                                    2720719900000.0201320170.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.0NaN0.00.0NaN0.0None0.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.0NaN0.0NoneNaN0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.00.00.00.00.0NaNNone0.00.0NaN0.00.0NaN0.00.00.00.00.0NaNNone0.00.00.00.00.00.00.0NaN0.00.00.0None0.0NaNNaN0.00.00.0NaN0.00.00.00.0None0.00.00.0NaNNaN0.00.00.00.0NaN0.00.00.00.0
                                                    3010979900000.0201320170.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.0NaN0.00.0NaN0.0None0.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.0NaN0.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.0NaN0.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.0NaNNaN0.00.00.00.0NaN0.00.00.00.0
                                                    4181279800010.0201320170.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.0NaN0.00.0NaN0.0None0.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.0NaN0.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.0NaN0.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.0NaNNaN0.00.00.00.0NaN0.00.00.00.0
                                                    5471579801000.0201320170.06.00.00.058.00.038.00.00.04.00.00.00.054.074.070.036.0NaN0.00.00.031.30.00.0NaN74.0None0.00.00.00.00.0None0.00.00.00.06.00.00.06.012.04.00.00.00.00.00.00.00.04.00.0NaNNone0.00.00.074.00.00.00.00.00.00.00.00.04.018.06.00.00.00.05.03.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.00.00.00.00.074.0None0.00.00.00.00.00.00.00.00.05896.058.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.074.00.00.06.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.018.00.04.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.074.00.04.00.00.00.00.00.070.018.00.00.00.00.00.00.00.074.0None0.00.0NaN0.00.00.00.00.00.00.00.0NaNNone0.00.00.074.00.00.00.018.00.00.00.0None0.00.022.00.00.00.063.00.00.00.00.0None0.00.00.0NaNNaN0.00.00.00.0NaN0.00.00.00.0
                                                    6550719900000.0201320170.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.0NaN0.00.0NaN0.0None0.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.0NaN0.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.0NaN0.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.0NaNNaN0.00.00.00.0NaN0.00.00.00.0
                                                    7250259901010.0201320170.00.00.00.00.00.058.00.00.00.00.00.029.023.071.00.013.0NaN13.00.00.024.013.00.0NaN71.0None0.071.071.00.00.0None0.013.00.00.016.019.00.00.00.00.00.023.00.023.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.00.013.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.071.00.00.00.00.0None0.00.00.071.00.013.071.00.00.017785.023.0None0.00.00.00.00.036.00.00.00.00.035.00.00.00.00.00.00.00.00.00.00.013.00.00.00.071.071.023.00.023.013.071.071.035.00.00.00.00.029.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.013.00.00.00.00.00.00.00.0None0.013.00.00.023.013.00.00.00.071.00.019.00.00.00.00.00.052.023.00.00.00.00.00.00.016.071.0None0.00.0NaN0.00.00.00.00.00.00.00.0NaNNone0.00.013.071.00.00.00.00.00.00.029.0None71.00.00.013.016.00.019.00.00.00.023.0None19.019.00.0NaNNaN0.023.00.00.0NaN0.00.00.00.0
                                                    8550259917030.0201320170.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.0NaN0.00.0NaN0.0None0.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.0NaN0.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.0NaN0.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.0NaNNaN0.00.00.00.0NaN0.00.00.00.0
                                                    9260419900000.0201320170.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaN0.00.00.0NaN0.00.0NaN0.0None0.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0NoneNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.0NaN0.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.0None0.00.0NaN0.00.00.00.00.00.00.00.0NaNNone0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.00.00.00.00.00.00.00.00.0None0.00.00.0NaNNaN0.00.00.00.0NaN0.00.00.00.0
                                                    \n", + "
                                                    " + ], + "text/plain": [ + " geoid no_car do_date male_20 male_21 no_cars one_car poverty \\\n", + "0 47157005000 76.0 20132017 0.0 0.0 151.0 122.0 552.0 \n", + "1 72051990021 0.0 20132017 0.0 0.0 0.0 0.0 0.0 \n", + "2 72071990000 0.0 20132017 0.0 0.0 0.0 0.0 0.0 \n", + "3 01097990000 0.0 20132017 0.0 0.0 0.0 0.0 0.0 \n", + "4 18127980001 0.0 20132017 0.0 0.0 0.0 0.0 0.0 \n", + "5 47157980100 0.0 20132017 0.0 6.0 0.0 0.0 58.0 \n", + "6 55071990000 0.0 20132017 0.0 0.0 0.0 0.0 0.0 \n", + "7 25025990101 0.0 20132017 0.0 0.0 0.0 0.0 0.0 \n", + "8 55025991703 0.0 20132017 0.0 0.0 0.0 0.0 0.0 \n", + "9 26041990000 0.0 20132017 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " children male_pop two_cars asian_pop black_pop female_20 female_21 \\\n", + "0 316.0 415.0 64.0 0.0 1004.0 19.0 42.0 \n", + "1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "5 0.0 38.0 0.0 0.0 4.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "7 0.0 58.0 0.0 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " in_school pop_25_64 total_pop white_pop female_pop gini_index \\\n", + "0 331.0 328.0 1042.0 16.0 627.0 0.4372 \n", + "1 0.0 0.0 0.0 0.0 0.0 NaN \n", + "2 0.0 0.0 0.0 0.0 0.0 NaN \n", + "3 0.0 0.0 0.0 0.0 0.0 NaN \n", + "4 0.0 0.0 0.0 0.0 0.0 NaN \n", + "5 0.0 54.0 74.0 70.0 36.0 NaN \n", + "6 0.0 0.0 0.0 0.0 0.0 NaN \n", + "7 29.0 23.0 71.0 0.0 13.0 NaN \n", + "8 0.0 0.0 0.0 0.0 0.0 NaN \n", + "9 0.0 0.0 0.0 0.0 0.0 NaN \n", + "\n", + " households male_60_61 male_62_64 median_age three_cars male_5_to_9 \\\n", + "0 343.0 0.0 2.0 28.9 0.0 38.0 \n", + "1 0.0 0.0 0.0 NaN 0.0 0.0 \n", + "2 0.0 0.0 0.0 NaN 0.0 0.0 \n", + "3 0.0 0.0 0.0 NaN 0.0 0.0 \n", + "4 0.0 0.0 0.0 NaN 0.0 0.0 \n", + "5 0.0 0.0 0.0 31.3 0.0 0.0 \n", + "6 0.0 0.0 0.0 NaN 0.0 0.0 \n", + "7 13.0 0.0 0.0 24.0 13.0 0.0 \n", + "8 0.0 0.0 0.0 NaN 0.0 0.0 \n", + "9 0.0 0.0 0.0 NaN 0.0 0.0 \n", + "\n", + " median_rent pop_16_over pop_widowed armed_forces employed_pop \\\n", + "0 391.0 749.0 None 0.0 233.0 \n", + "1 NaN 0.0 None 0.0 0.0 \n", + "2 NaN 0.0 None 0.0 0.0 \n", + "3 NaN 0.0 None 0.0 0.0 \n", + "4 NaN 0.0 None 0.0 0.0 \n", + "5 NaN 74.0 None 0.0 0.0 \n", + "6 NaN 0.0 None 0.0 0.0 \n", + "7 NaN 71.0 None 0.0 71.0 \n", + "8 NaN 0.0 None 0.0 0.0 \n", + "9 NaN 0.0 None 0.0 0.0 \n", + "\n", + " hispanic_pop male_under_5 mobile_homes pop_divorced female_5_to_9 \\\n", + "0 0.0 44.0 5.0 None 76.0 \n", + "1 0.0 0.0 0.0 None 0.0 \n", + "2 0.0 0.0 0.0 None 0.0 \n", + "3 0.0 0.0 0.0 None 0.0 \n", + "4 0.0 0.0 0.0 None 0.0 \n", + "5 0.0 0.0 0.0 None 0.0 \n", + "6 0.0 0.0 0.0 None 0.0 \n", + "7 71.0 0.0 0.0 None 0.0 \n", + "8 0.0 0.0 0.0 None 0.0 \n", + "9 0.0 0.0 0.0 None 0.0 \n", + "\n", + " housing_units male_10_to_14 male_15_to_17 male_18_to_19 male_22_to_24 \\\n", + "0 465.0 27.0 26.0 30.0 22.0 \n", + "1 0.0 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 6.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 0.0 \n", + "7 13.0 0.0 0.0 16.0 19.0 \n", + "8 0.0 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " male_25_to_29 male_30_to_34 male_35_to_39 male_40_to_44 male_45_to_49 \\\n", + "0 11.0 13.0 31.0 11.0 15.0 \n", + "1 0.0 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 0.0 \n", + "5 0.0 6.0 12.0 4.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " male_45_to_64 male_50_to_54 male_55_to_59 male_65_to_66 male_67_to_69 \\\n", + "0 79.0 21.0 41.0 0.0 5.0 \n", + "1 0.0 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 0.0 \n", + "7 23.0 0.0 23.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " male_70_to_74 male_75_to_79 male_80_to_84 median_income pop_separated \\\n", + "0 26.0 5.0 31.0 14410.0 None \n", + "1 0.0 0.0 0.0 NaN None \n", + "2 0.0 0.0 0.0 NaN None \n", + "3 0.0 0.0 0.0 NaN None \n", + "4 0.0 0.0 0.0 NaN None \n", + "5 0.0 4.0 0.0 NaN None \n", + "6 0.0 0.0 0.0 NaN None \n", + "7 0.0 0.0 0.0 NaN None \n", + "8 0.0 0.0 0.0 NaN None \n", + "9 0.0 0.0 0.0 NaN None \n", + "\n", + " amerindian_pop female_under_5 four_more_cars group_quarters \\\n", + "0 0.0 24.0 6.0 45.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 74.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " masters_degree other_race_pop unemployed_pop walked_to_work \\\n", + "0 13.0 0.0 71.0 7.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " worked_at_home female_10_to_14 female_15_to_17 female_18_to_19 \\\n", + "0 0.0 47.0 34.0 17.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " female_22_to_24 female_25_to_29 female_30_to_34 female_35_to_39 \\\n", + "0 32.0 34.0 13.0 38.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 4.0 18.0 6.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 13.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " female_40_to_44 female_45_to_49 female_50_to_54 female_55_to_59 \\\n", + "0 19.0 25.0 26.0 22.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 5.0 3.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " female_60_to_61 female_62_to_64 female_65_to_66 female_67_to_69 \\\n", + "0 0.0 6.0 22.0 38.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " female_70_to_74 female_75_to_79 female_80_to_84 pop_15_and_over \\\n", + "0 36.0 13.0 6.0 None \n", + "1 0.0 0.0 0.0 None \n", + "2 0.0 0.0 0.0 None \n", + "3 0.0 0.0 0.0 None \n", + "4 0.0 0.0 0.0 None \n", + "5 0.0 0.0 0.0 None \n", + "6 0.0 0.0 0.0 None \n", + "7 0.0 0.0 0.0 None \n", + "8 0.0 0.0 0.0 None \n", + "9 0.0 0.0 0.0 None \n", + "\n", + " pop_now_married asian_male_45_54 asian_male_55_64 bachelors_degree \\\n", + "0 None 0.0 0.0 0.0 \n", + "1 None 0.0 0.0 0.0 \n", + "2 None 0.0 0.0 0.0 \n", + "3 None 0.0 0.0 0.0 \n", + "4 None 0.0 0.0 0.0 \n", + "5 None 0.0 0.0 0.0 \n", + "6 None 0.0 0.0 0.0 \n", + "7 None 0.0 0.0 0.0 \n", + "8 None 0.0 0.0 0.0 \n", + "9 None 0.0 0.0 0.0 \n", + "\n", + " black_male_45_54 black_male_55_64 commute_5_9_mins commuters_by_bus \\\n", + "0 23.0 35.0 7.0 52.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 71.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " in_grades_1_to_4 in_grades_5_to_8 male_85_and_over not_hispanic_pop \\\n", + "0 90.0 41.0 16.0 1042.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 74.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " pop_5_years_over white_male_45_54 white_male_55_64 associates_degree \\\n", + "0 None 13.0 3.0 28.0 \n", + "1 None 0.0 0.0 0.0 \n", + "2 None 0.0 0.0 0.0 \n", + "3 None 0.0 0.0 0.0 \n", + "4 None 0.0 0.0 0.0 \n", + "5 None 0.0 0.0 0.0 \n", + "6 None 0.0 0.0 0.0 \n", + "7 None 0.0 0.0 0.0 \n", + "8 None 0.0 0.0 0.0 \n", + "9 None 0.0 0.0 0.0 \n", + "\n", + " commuters_16_over dwellings_2_units family_households hispanic_any_race \\\n", + "0 233.0 13.0 183.0 0.0 \n", + "1 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 0.0 \n", + "7 71.0 0.0 13.0 71.0 \n", + "8 0.0 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 0.0 \n", + "\n", + " in_grades_9_to_12 income_less_10000 income_per_capita pop_25_years_over \\\n", + "0 111.0 79.0 8747.0 564.0 \n", + "1 0.0 0.0 NaN 0.0 \n", + "2 0.0 0.0 NaN 0.0 \n", + "3 0.0 0.0 NaN 0.0 \n", + "4 0.0 0.0 NaN 0.0 \n", + "5 0.0 0.0 5896.0 58.0 \n", + "6 0.0 0.0 NaN 0.0 \n", + "7 0.0 0.0 17785.0 23.0 \n", + "8 0.0 0.0 NaN 0.0 \n", + "9 0.0 0.0 NaN 0.0 \n", + "\n", + " pop_never_married bachelors_degree_2 commute_10_14_mins \\\n", + "0 None 0.0 4.0 \n", + "1 None NaN 0.0 \n", + "2 None NaN 0.0 \n", + "3 None 0.0 0.0 \n", + "4 None 0.0 0.0 \n", + "5 None 0.0 0.0 \n", + "6 None 0.0 0.0 \n", + "7 None 0.0 0.0 \n", + "8 None 0.0 0.0 \n", + "9 None 0.0 0.0 \n", + "\n", + " commute_15_19_mins commute_20_24_mins commute_25_29_mins \\\n", + "0 59.0 108.0 10.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " commute_30_34_mins commute_35_39_mins commute_35_44_mins \\\n", + "0 20.0 0.0 7.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 36.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " commute_40_44_mins commute_45_59_mins commute_60_89_mins \\\n", + "0 7.0 13.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 35.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " female_85_and_over income_10000_14999 income_15000_19999 \\\n", + "0 38.0 105.0 44.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " income_20000_24999 income_25000_29999 income_30000_34999 \\\n", + "0 38.0 13.0 18.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " income_35000_39999 income_40000_44999 income_45000_49999 \\\n", + "0 11.0 0.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " income_50000_59999 income_60000_74999 income_75000_99999 \\\n", + "0 7.0 10.0 18.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 13.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " married_households not_in_labor_force not_us_citizen_pop \\\n", + "0 26.0 445.0 0.0 \n", + "1 0.0 0.0 NaN \n", + "2 0.0 0.0 NaN \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 74.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 71.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " pop_in_labor_force high_school_diploma hispanic_male_45_54 \\\n", + "0 304.0 188.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 6.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 71.0 23.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " hispanic_male_55_64 occupation_services workers_16_and_over \\\n", + "0 0.0 58.0 233.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 23.0 13.0 71.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " civilian_labor_force commute_60_more_mins commute_90_more_mins \\\n", + "0 304.0 5.0 5.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 71.0 35.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " commute_less_10_mins commuters_by_carpool employed_information \\\n", + "0 7.0 21.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " in_undergrad_college income_100000_124999 income_125000_149999 \\\n", + "0 63.0 0.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 29.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " income_150000_199999 male_male_households nonfamily_households \\\n", + "0 0.0 0.0 160.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " rent_over_50_percent vacant_housing_units commuters_drove_alone \\\n", + "0 38.0 122.0 141.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " employed_construction employed_retail_trade income_200000_or_more \\\n", + "0 24.0 19.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " less_one_year_college male_45_64_grade_9_12 one_year_more_college \\\n", + "0 22.0 18.0 85.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 18.0 0.0 4.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " rent_10_to_15_percent rent_15_to_20_percent rent_20_to_25_percent \\\n", + "0 11.0 42.0 39.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 13.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " rent_25_to_30_percent rent_30_to_35_percent rent_35_to_40_percent \\\n", + "0 33.0 47.0 9.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " rent_40_to_50_percent rent_under_10_percent sales_office_employed \\\n", + "0 41.0 0.0 30.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " speak_spanish_at_home two_or_more_races_pop dwellings_3_to_4_units \\\n", + "0 None 22.0 63.0 \n", + "1 None 0.0 0.0 \n", + "2 None 0.0 0.0 \n", + "3 None 0.0 0.0 \n", + "4 None 0.0 0.0 \n", + "5 None 0.0 0.0 \n", + "6 None 0.0 0.0 \n", + "7 None 0.0 13.0 \n", + "8 None 0.0 0.0 \n", + "9 None 0.0 0.0 \n", + "\n", + " dwellings_5_to_9_units employed_manufacturing male_45_64_high_school \\\n", + "0 69.0 16.0 41.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 0.0 23.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " occupied_housing_units male_45_64_some_college mortgaged_housing_units \\\n", + "0 343.0 10.0 20.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 0.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 13.0 0.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " occupation_sales_office population_3_years_over asian_including_hispanic \\\n", + "0 30.0 999.0 0.0 \n", + "1 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 \n", + "3 0.0 0.0 0.0 \n", + "4 0.0 0.0 0.0 \n", + "5 0.0 74.0 0.0 \n", + "6 0.0 0.0 0.0 \n", + "7 0.0 71.0 0.0 \n", + "8 0.0 0.0 0.0 \n", + "9 0.0 0.0 0.0 \n", + "\n", + " black_including_hispanic dwellings_10_to_19_units \\\n", + "0 1004.0 40.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 4.0 0.0 \n", + "6 0.0 0.0 \n", + "7 19.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " dwellings_20_to_49_units employed_wholesale_trade \\\n", + "0 25.0 2.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " female_female_households rent_burden_not_computed \\\n", + "0 0.0 18.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " white_including_hispanic high_school_including_ged \\\n", + "0 16.0 235.0 \n", + "1 0.0 NaN \n", + "2 0.0 NaN \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 70.0 18.0 \n", + "6 0.0 0.0 \n", + "7 52.0 23.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " commuters_by_car_truck_van dwellings_1_units_attached \\\n", + "0 162.0 0.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " dwellings_1_units_detached dwellings_50_or_more_units \\\n", + "0 195.0 55.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " housing_built_2000_to_2004 male_45_64_graduate_degree \\\n", + "0 10.0 1.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " occupation_management_arts population_1_year_and_over \\\n", + "0 54.0 1019.0 \n", + "1 0.0 NaN \n", + "2 0.0 NaN \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 74.0 \n", + "6 0.0 0.0 \n", + "7 16.0 71.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " speak_only_english_at_home housing_built_2005_or_later \\\n", + "0 None 0.0 \n", + "1 None 0.0 \n", + "2 None 0.0 \n", + "3 None 0.0 \n", + "4 None 0.0 \n", + "5 None 0.0 \n", + "6 None 0.0 \n", + "7 None 0.0 \n", + "8 None 0.0 \n", + "9 None 0.0 \n", + "\n", + " male_45_64_bachelors_degree median_year_structure_built \\\n", + "0 0.0 1981.0 \n", + "1 0.0 NaN \n", + "2 0.0 NaN \n", + "3 0.0 NaN \n", + "4 0.0 NaN \n", + "5 0.0 NaN \n", + "6 0.0 NaN \n", + "7 0.0 NaN \n", + "8 0.0 NaN \n", + "9 0.0 NaN \n", + "\n", + " children_in_single_female_hh families_with_young_children \\\n", + "0 278.0 75.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " graduate_professional_degree households_retirement_income \\\n", + "0 13.0 47.0 \n", + "1 NaN 0.0 \n", + "2 NaN 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " male_45_64_associates_degree male_45_64_less_than_9_grade \\\n", + "0 7.0 2.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " million_dollar_housing_units owner_occupied_housing_units \\\n", + "0 0.0 65.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " percent_income_spent_on_rent aggregate_travel_time_to_work \\\n", + "0 30.5 None \n", + "1 NaN None \n", + "2 NaN None \n", + "3 NaN None \n", + "4 NaN None \n", + "5 NaN None \n", + "6 NaN None \n", + "7 NaN None \n", + "8 NaN None \n", + "9 NaN None \n", + "\n", + " amerindian_including_hispanic housing_built_1939_or_earlier \\\n", + "0 0.0 81.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " housing_units_renter_occupied pop_determined_poverty_status \\\n", + "0 278.0 1042.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 74.0 \n", + "6 0.0 0.0 \n", + "7 13.0 71.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " vacant_housing_units_for_rent vacant_housing_units_for_sale \\\n", + "0 14.0 0.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " employed_public_administration less_than_high_school_graduate \\\n", + "0 4.0 181.0 \n", + "1 0.0 NaN \n", + "2 0.0 NaN \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 18.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " commuters_by_subway_or_elevated bachelors_degree_or_higher_25_64 \\\n", + "0 0.0 1.0 \n", + "1 0.0 0.0 \n", + "2 0.0 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " employed_education_health_social speak_spanish_at_home_low_english \\\n", + "0 57.0 None \n", + "1 0.0 None \n", + "2 0.0 None \n", + "3 0.0 None \n", + "4 0.0 None \n", + "5 0.0 None \n", + "6 0.0 None \n", + "7 29.0 None \n", + "8 0.0 None \n", + "9 0.0 None \n", + "\n", + " commuters_by_public_transportation different_house_year_ago_same_city \\\n", + "0 52.0 38.0 \n", + "1 0.0 NaN \n", + "2 0.0 NaN \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 0.0 0.0 \n", + "6 0.0 0.0 \n", + "7 71.0 0.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " some_college_and_associates_degree households_public_asst_or_food_stamps \\\n", + "0 135.0 147.0 \n", + "1 NaN 0.0 \n", + "2 NaN 0.0 \n", + "3 0.0 0.0 \n", + "4 0.0 0.0 \n", + "5 22.0 0.0 \n", + "6 0.0 0.0 \n", + "7 0.0 13.0 \n", + "8 0.0 0.0 \n", + "9 0.0 0.0 \n", + "\n", + " management_business_sci_arts_employed \\\n", + "0 54.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 16.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " employed_finance_insurance_real_estate \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " different_house_year_ago_different_city \\\n", + "0 15.0 \n", + "1 NaN \n", + "2 NaN \n", + "3 0.0 \n", + "4 0.0 \n", + "5 63.0 \n", + "6 0.0 \n", + "7 19.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " employed_science_management_admin_waste \\\n", + "0 33.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " one_parent_families_with_young_children \\\n", + "0 75.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " two_parent_families_with_young_children \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " employed_other_services_not_public_admin \\\n", + "0 14.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 23.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " owner_occupied_housing_units_median_value \\\n", + "0 None \n", + "1 None \n", + "2 None \n", + "3 None \n", + "4 None \n", + "5 None \n", + "6 None \n", + "7 None \n", + "8 None \n", + "9 None \n", + "\n", + " employed_transportation_warehousing_utilities \\\n", + "0 43.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 19.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " occupation_production_transportation_material \\\n", + "0 80.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 19.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " father_one_parent_families_with_young_children \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " owner_occupied_housing_units_lower_value_quartile \\\n", + "0 26600.0 \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "5 NaN \n", + "6 NaN \n", + "7 NaN \n", + "8 NaN \n", + "9 NaN \n", + "\n", + " owner_occupied_housing_units_upper_value_quartile \\\n", + "0 231300.0 \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "5 NaN \n", + "6 NaN \n", + "7 NaN \n", + "8 NaN \n", + "9 NaN \n", + "\n", + " employed_agriculture_forestry_fishing_hunting_mining \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " occupation_natural_resources_construction_maintenance \\\n", + "0 11.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 23.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " two_parents_in_labor_force_families_with_young_children \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " employed_arts_entertainment_recreation_accommodation_food \\\n", + "0 21.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " renter_occupied_housing_units_paying_cash_median_gross_rent \\\n", + "0 507.0 \n", + "1 NaN \n", + "2 NaN \n", + "3 NaN \n", + "4 NaN \n", + "5 NaN \n", + "6 NaN \n", + "7 NaN \n", + "8 NaN \n", + "9 NaN \n", + "\n", + " two_parents_not_in_labor_force_families_with_young_children \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " father_in_labor_force_one_parent_families_with_young_children \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " two_parents_father_in_labor_force_families_with_young_children \\\n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 \n", + "\n", + " two_parents_mother_in_labor_force_families_with_young_children \n", + "0 0.0 \n", + "1 0.0 \n", + "2 0.0 \n", + "3 0.0 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.0 \n", + "7 0.0 \n", + "8 0.0 \n", + "9 0.0 " + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample_ds.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### 1.4.4. Summary of different counts over the actual dataset data" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "rows 7.400100e+04\n", + "cells 1.864825e+07\n", + "null_cells 7.901830e+05\n", + "null_cells_percent 4.237303e+00\n", + "dtype: float64" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample_ds.counts()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### 1.4.5. Fields by type" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "float 250\n", + "string 2\n", + "dtype: int64" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample_ds.fields_by_type()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### 1.4.6. Statistical description of numerical variables" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 367 + }, + "id": "oS8KjzKP89ar", + "outputId": "f2255e8d-98c9-45c1-f7bd-1f038ac0bd78" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                    total_pophouseholdsmale_popfemale_popmedian_agemale_under_5male_5_to_9male_10_to_14male_15_to_17male_18_to_19male_20male_21male_22_to_24male_25_to_29male_30_to_34male_35_to_39male_40_to_44male_45_to_49male_50_to_54male_55_to_59male_65_to_66male_67_to_69male_70_to_74male_75_to_79male_80_to_84male_85_and_overfemale_under_5female_5_to_9female_10_to_14female_15_to_17female_18_to_19female_20female_21female_22_to_24female_25_to_29female_30_to_34female_35_to_39female_40_to_44female_45_to_49female_50_to_54female_55_to_59female_60_to_61female_62_to_64female_65_to_66female_67_to_69female_70_to_74female_75_to_79female_80_to_84female_85_and_overwhite_poppopulation_1_year_and_overpopulation_3_years_overpop_5_years_overpop_15_and_overpop_16_overpop_25_years_overpop_25_64pop_never_marriedpop_now_marriedpop_separatedpop_widowedpop_divorcednot_us_citizen_popblack_popasian_pophispanic_popamerindian_popother_race_poptwo_or_more_races_pophispanic_any_racenot_hispanic_popasian_male_45_54asian_male_55_64black_male_45_54black_male_55_64hispanic_male_45_54hispanic_male_55_64white_male_45_54white_male_55_64median_incomeincome_per_capitaincome_less_10000income_10000_14999income_15000_19999income_20000_24999income_25000_29999income_30000_34999income_35000_39999income_40000_44999income_45000_49999income_50000_59999income_60000_74999income_75000_99999income_100000_124999income_125000_149999income_150000_199999income_200000_or_morepop_determined_poverty_statuspovertygini_indexhousing_unitsrenter_occupied_housing_units_paying_cash_median_gross_rentowner_occupied_housing_units_lower_value_quartileowner_occupied_housing_units_median_valueowner_occupied_housing_units_upper_value_quartileoccupied_housing_unitshousing_units_renter_occupiedvacant_housing_unitsvacant_housing_units_for_rentvacant_housing_units_for_saledwellings_1_units_detacheddwellings_1_units_attacheddwellings_2_unitsdwellings_3_to_4_unitsdwellings_5_to_9_unitsdwellings_10_to_19_unitsdwellings_20_to_49_unitsdwellings_50_or_more_unitsmobile_homeshousing_built_2005_or_laterhousing_built_2000_to_2004housing_built_1939_or_earliermedian_year_structure_builtmarried_householdsnonfamily_householdsfamily_householdshouseholds_public_asst_or_food_stampsmale_male_householdsfemale_female_householdschildrenchildren_in_single_female_hhmedian_rentpercent_income_spent_on_rentrent_burden_not_computedrent_over_50_percentrent_40_to_50_percentrent_35_to_40_percentrent_30_to_35_percentrent_25_to_30_percentrent_20_to_25_percentrent_15_to_20_percentrent_10_to_15_percentrent_under_10_percentowner_occupied_housing_unitsmillion_dollar_housing_unitsmortgaged_housing_unitsdifferent_house_year_ago_different_citydifferent_house_year_ago_same_cityfamilies_with_young_childrentwo_parent_families_with_young_childrentwo_parents_in_labor_force_families_with_young_childrentwo_parents_father_in_labor_force_families_with_young_childrentwo_parents_mother_in_labor_force_families_with_young_childrentwo_parents_not_in_labor_force_families_with_young_childrenone_parent_families_with_young_childrenfather_one_parent_families_with_young_childrenfather_in_labor_force_one_parent_families_with_young_childrencommute_less_10_minscommute_10_14_minscommute_15_19_minscommute_20_24_minscommute_25_29_minscommute_30_34_minscommute_35_44_minscommute_45_59_minscommute_60_more_minscommuters_16_overwalked_to_workworked_at_homeno_carno_carsone_cartwo_carsthree_carsfour_more_carsaggregate_travel_time_to_workcommuters_by_public_transportationcommuters_by_buscommuters_by_car_truck_vancommuters_by_carpoolcommuters_by_subway_or_elevatedcommuters_drove_alonegroup_quartersassociates_degreebachelors_degreehigh_school_diplomaless_one_year_collegemasters_degreeone_year_more_collegeless_than_high_school_graduatehigh_school_including_gedbachelors_degree_2bachelors_degree_or_higher_25_64graduate_professional_degreesome_college_and_associates_degreemale_45_64_associates_degreemale_45_64_bachelors_degreemale_45_64_graduate_degreemale_45_64_less_than_9_grademale_45_64_grade_9_12male_45_64_high_schoolmale_45_64_some_collegemale_45_to_64employed_popunemployed_poppop_in_labor_forcenot_in_labor_forceworkers_16_and_overarmed_forcescivilian_labor_forceemployed_agriculture_forestry_fishing_hunting_miningemployed_arts_entertainment_recreation_accommodation_foodemployed_constructionemployed_education_health_socialemployed_finance_insurance_real_estateemployed_informationemployed_manufacturingemployed_other_services_not_public_adminemployed_public_administrationemployed_retail_tradeemployed_science_management_admin_wasteemployed_transportation_warehousing_utilitiesemployed_wholesale_tradeoccupation_management_artsoccupation_natural_resources_construction_maintenanceoccupation_production_transportation_materialoccupation_sales_officeoccupation_servicesmanagement_business_sci_arts_employedsales_office_employedin_grades_1_to_4in_grades_5_to_8in_grades_9_to_12in_schoolin_undergrad_collegespeak_only_english_at_homespeak_spanish_at_homespeak_spanish_at_home_low_english
                                                    avg4.384716e+031.622255e+032.157711e+032.227005e+033.930112e+011.383831e+021.423078e+021.445751e+028.804836e+016.037216e+013.276450e+013.217450e+019.285125e+011.552524e+021.483501e+021.388303e+021.375463e+021.416246e+021.482727e+021.423548e+024.490084e+015.796503e+017.306170e+015.008765e+013.334291e+012.886338e+011.322310e+021.365999e+021.383163e+028.401951e+015.756660e+013.088993e+013.041858e+018.833956e+011.505691e+021.468783e+021.396495e+021.393065e+021.446716e+021.538896e+021.514543e+025.749201e+017.940259e+014.982987e+016.520221e+018.553553e+016.253888e+014.708153e+015.512231e+012.666237e+034.342539e+034.225816e+03NoneNone3.495006e+032.954858e+032.301326e+03NoneNoneNoneNoneNone3.057622e+025.330768e+022.296153e+028.100321e+022.836241e+019.6943691.007309e+028.100321e+023.574684e+031.491637e+0111.6937883.440143e+012.904223e+014.700662e+013.048543e+011.883150e+021.926332e+026.120650e+043.065180e+041.120286e+027.990310e+017.906576e+018.121069e+017.699035e+017.811121e+017.282273e+017.298924e+016.437017e+011.248865e+021.605002e+021.984182e+021.391279e+028.701426e+019.380035e+011.010161e+024.276775e+036.377423e+020.4259111.850797e+031.058678e+031.765685e+052.443280e+053.329604e+051.622255e+035.861794e+022.285420e+023.884688e+011.863187e+011.143346e+031.092662e+026.762999e+018.112938e+018.797462e+018.248062e+016.591754e+019.643179e+011.150671e+021.610305e+014.221539e+019.403019e+011.971950e+037.829447e+025.526839e+021.069572e+032.201474e+022.8475432.9098661.004481e+032.549481e+028.960611e+023.075703e+014.549625e+011.383322e+024.980808e+013.622229e+014.936739e+016.223202e+016.874649e+016.792566e+014.691335e+012.113569e+011.036076e+031.498115e+016.556553e+024.115417e+021.951105e+023.127425e+022.018102e+021.182977e+027.417954e+016.3409412.9919871.109323e+022.560057e+012.281514e+012.433403e+022.615797e+022.943585e+022.800684e+021.222793e+022.636407e+021.311400e+021.560668e+021.717179e+021.924192e+035.515674e+019.526220e+018.728505e+011.442299e+025.405044e+026.048036e+022.295713e+021.031463e+025.934150e+041.031013e+025.114798e+011.729272e+031.847843e+023.818269e+011.544488e+031.098196e+022.452862e+025.649029e+026.904443e+021.821747e+022.468936e+024.290593e+023.755628e+028.088810e+025.663747e+027.435482e+023.491915e+028.603443e+024.302832e+011.000650e+026.498545e+013.009663e+014.223971e+011.648105e+021.128077e+025.580332e+022.049152e+031.456859e+022.208707e+031.286299e+032.019454e+031.386930e+012.194838e+033.827483e+011.984437e+021.299722e+024.733737e+021.346475e+024.315308e+012.104029e+021.003838e+029.616204e+012.338625e+022.311254e+021.043314e+025.501904e+017.665854e+021.820007e+022.491306e+024.828023e+023.686331e+027.665854e+024.828023e+022.228999e+022.253273e+022.322261e+021.116528e+032.557242e+02NoneNoneNone
                                                    max6.552800e+042.142900e+043.226600e+043.326200e+048.570000e+013.297000e+033.464000e+033.137000e+032.416000e+033.909000e+032.845000e+033.025000e+036.083000e+033.956000e+032.143000e+033.146000e+033.718000e+032.652000e+032.300000e+031.741000e+031.244000e+033.225000e+034.708000e+033.287000e+031.666000e+036.670000e+022.829000e+033.509000e+033.667000e+031.601000e+034.815000e+031.586000e+031.330000e+032.045000e+032.410000e+032.840000e+033.450000e+033.586000e+033.628000e+031.756000e+031.445000e+038.730000e+022.105000e+032.147000e+033.661000e+035.268000e+032.481000e+031.166000e+031.337000e+033.868400e+046.480300e+046.243800e+04NoneNone4.464200e+043.948600e+043.425800e+04NoneNoneNoneNoneNone1.223200e+041.665500e+041.371200e+042.868300e+049.644000e+031385.0000003.611000e+032.868300e+045.047700e+041.301000e+03745.0000001.094000e+031.122000e+031.464000e+037.770000e+022.189000e+032.545000e+032.500010e+052.202530e+051.550000e+039.300000e+027.610000e+021.009000e+038.760000e+028.640000e+021.530000e+031.118000e+038.610000e+022.054000e+032.789000e+033.368000e+032.704000e+032.157000e+033.878000e+035.386000e+036.533200e+049.440000e+030.8290002.652600e+043.501000e+032.000001e+062.000001e+062.000001e+062.142900e+048.039000e+031.192400e+044.472000e+035.470000e+022.552700e+044.280000e+031.999000e+031.629000e+031.863000e+035.280000e+034.283000e+031.151800e+043.314000e+032.502000e+037.206000e+036.177000e+032.016000e+031.510500e+046.883000e+031.681300e+042.325000e+03355.000000174.0000002.360800e+042.863000e+033.501000e+035.000000e+011.100000e+033.487000e+039.720000e+026.410000e+028.600000e+029.990000e+021.382000e+031.879000e+031.098000e+039.120000e+022.047300e+041.453000e+031.267200e+041.306400e+045.347000e+036.700000e+036.517000e+033.989000e+033.888000e+031308.000000285.0000001.418000e+035.020000e+025.020000e+021.162100e+045.838000e+037.095000e+034.886000e+032.205000e+034.880000e+033.178000e+035.390000e+036.070000e+032.648200e+041.162100e+047.043000e+038.111000e+035.847000e+031.554800e+041.201200e+043.231000e+031.107000e+039.731600e+057.759000e+033.940000e+032.501200e+043.023000e+035.945000e+032.198900e+041.642100e+044.070000e+031.376700e+048.215000e+034.037000e+037.767000e+035.621000e+035.363000e+038.929000e+031.376700e+042.285600e+041.037400e+041.274500e+048.550000e+022.547000e+032.448000e+039.000000e+021.626000e+032.084000e+031.628000e+036.993000e+032.894500e+041.607000e+033.055200e+043.414200e+042.825200e+042.121400e+043.055200e+044.197000e+035.211000e+031.950000e+039.127000e+032.853000e+031.141000e+033.993000e+031.175000e+031.816000e+032.808000e+035.115000e+031.465000e+031.294000e+031.909700e+043.973000e+032.495000e+036.162000e+033.948000e+031.909700e+046.162000e+035.927000e+035.674000e+034.965000e+032.398900e+041.298500e+04NoneNoneNone
                                                    min0.000000e+000.000000e+000.000000e+000.000000e+007.700000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+00NoneNone0.000000e+000.000000e+000.000000e+00NoneNoneNoneNoneNone0.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.0000000.000000e+000.000000e+000.000000e+000.000000e+000.0000000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+002.499000e+033.200000e+010.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.0007000.000000e+009.900000e+019.999000e+039.999000e+039.999000e+030.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+001.939000e+030.000000e+000.000000e+000.000000e+000.000000e+000.0000000.0000000.000000e+000.000000e+009.900000e+011.000000e+010.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.0000000.0000000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+006.500000e+010.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+00NoneNoneNone
                                                    sum3.244734e+081.200485e+081.596728e+081.648006e+082.879751e+061.024049e+071.053092e+071.069870e+076.515667e+064.467600e+062.424606e+062.380945e+066.871085e+061.148883e+071.097806e+071.027358e+071.017856e+071.048036e+071.097233e+071.053440e+073.322707e+064.289470e+065.406639e+063.706536e+062.467409e+062.135919e+069.785223e+061.010853e+071.023555e+076.217528e+064.259986e+062.285886e+062.251005e+066.537216e+061.114227e+071.086914e+071.033420e+071.030882e+071.070584e+071.138799e+071.120777e+074.254466e+065.875871e+063.687460e+064.825029e+066.329715e+064.627940e+063.484080e+064.079106e+061.973042e+083.172486e+083.127146e+08NoneNone2.586340e+082.186624e+081.703004e+08NoneNoneNoneNoneNone2.233776e+073.944822e+071.699176e+075.994318e+072.098847e+06717393.0000007.454186e+065.994318e+072.645302e+081.103826e+06865352.0000002.545740e+062.149154e+063.478537e+062.255952e+061.393550e+071.425505e+074.464586e+092.245429e+098.290228e+065.912909e+065.850945e+066.009672e+065.697363e+065.780308e+065.388955e+065.401277e+064.763457e+069.241728e+061.187718e+071.468315e+071.029560e+076.439142e+066.941320e+067.475296e+063.164856e+084.719356e+0731111.1005001.369609e+087.612849e+071.258933e+101.758746e+102.396882e+101.200485e+084.337786e+071.691234e+072.874708e+061.378777e+068.460878e+078.085807e+065.004687e+066.003655e+066.510210e+066.103648e+064.877964e+067.136049e+068.515077e+061.191642e+063.123981e+066.958328e+061.429487e+085.793869e+074.089916e+077.914937e+071.629113e+07210721.000000215333.0000007.433261e+071.886641e+076.427357e+072.225702e+063.366768e+061.023672e+073.685848e+062.680486e+063.653236e+064.605232e+065.087309e+065.026567e+063.471635e+061.564062e+067.667066e+071.108620e+064.851915e+073.006559e+071.425400e+072.314326e+071.493416e+078.754150e+065.489360e+06469236.000000221410.0000008.209099e+061.894468e+061.688343e+061.800742e+071.935716e+072.178282e+072.072534e+079.048793e+061.950968e+079.704493e+061.154910e+071.270730e+071.423921e+084.081654e+067.049498e+066.459181e+061.067316e+073.999786e+074.475607e+071.698850e+077.632928e+062.970754e+097.629599e+063.785002e+061.279679e+081.367422e+072.825557e+061.142936e+088.126758e+061.815143e+074.180338e+075.109357e+071.348111e+071.827037e+073.175082e+072.743711e+075.909361e+074.137707e+075.502331e+072.551054e+076.285332e+073.184139e+067.404907e+064.808988e+062.227181e+063.125781e+061.219614e+078.347879e+064.129502e+071.516393e+081.078090e+071.634465e+089.518743e+071.494416e+081.026342e+061.624202e+082.832376e+061.468503e+079.618071e+063.503013e+079.964050e+063.193371e+061.557002e+077.428501e+067.116087e+061.730606e+071.710351e+077.720629e+064.071464e+065.672809e+071.346823e+071.843592e+073.572785e+072.727922e+075.672809e+073.572785e+071.649482e+071.667444e+071.718497e+078.262417e+071.892385e+07NoneNoneNone
                                                    range6.552800e+042.142900e+043.226600e+043.326200e+047.800000e+013.297000e+033.464000e+033.137000e+032.416000e+033.909000e+032.845000e+033.025000e+036.083000e+033.956000e+032.143000e+033.146000e+033.718000e+032.652000e+032.300000e+031.741000e+031.244000e+033.225000e+034.708000e+033.287000e+031.666000e+036.670000e+022.829000e+033.509000e+033.667000e+031.601000e+034.815000e+031.586000e+031.330000e+032.045000e+032.410000e+032.840000e+033.450000e+033.586000e+033.628000e+031.756000e+031.445000e+038.730000e+022.105000e+032.147000e+033.661000e+035.268000e+032.481000e+031.166000e+031.337000e+033.868400e+046.480300e+046.243800e+04NoneNone4.464200e+043.948600e+043.425800e+04NoneNoneNoneNoneNone1.223200e+041.665500e+041.371200e+042.868300e+049.644000e+031385.0000003.611000e+032.868300e+045.047700e+041.301000e+03745.0000001.094000e+031.122000e+031.464000e+037.770000e+022.189000e+032.545000e+032.475020e+052.202210e+051.550000e+039.300000e+027.610000e+021.009000e+038.760000e+028.640000e+021.530000e+031.118000e+038.610000e+022.054000e+032.789000e+033.368000e+032.704000e+032.157000e+033.878000e+035.386000e+036.533200e+049.440000e+030.8283002.652600e+043.402000e+031.990002e+061.990002e+061.990002e+062.142900e+048.039000e+031.192400e+044.472000e+035.470000e+022.552700e+044.280000e+031.999000e+031.629000e+031.863000e+035.280000e+034.283000e+031.151800e+043.314000e+032.502000e+037.206000e+036.177000e+037.700000e+011.510500e+046.883000e+031.681300e+042.325000e+03355.000000174.0000002.360800e+042.863000e+033.402000e+034.000000e+011.100000e+033.487000e+039.720000e+026.410000e+028.600000e+029.990000e+021.382000e+031.879000e+031.098000e+039.120000e+022.047300e+041.453000e+031.267200e+041.306400e+045.347000e+036.700000e+036.517000e+033.989000e+033.888000e+031308.000000285.0000001.418000e+035.020000e+025.020000e+021.162100e+045.838000e+037.095000e+034.886000e+032.205000e+034.880000e+033.178000e+035.390000e+036.070000e+032.648200e+041.162100e+047.043000e+038.111000e+035.847000e+031.554800e+041.201200e+043.231000e+031.107000e+039.730950e+057.759000e+033.940000e+032.501200e+043.023000e+035.945000e+032.198900e+041.642100e+044.070000e+031.376700e+048.215000e+034.037000e+037.767000e+035.621000e+035.363000e+038.929000e+031.376700e+042.285600e+041.037400e+041.274500e+048.550000e+022.547000e+032.448000e+039.000000e+021.626000e+032.084000e+031.628000e+036.993000e+032.894500e+041.607000e+033.055200e+043.414200e+042.825200e+042.121400e+043.055200e+044.197000e+035.211000e+031.950000e+039.127000e+032.853000e+031.141000e+033.993000e+031.175000e+031.816000e+032.808000e+035.115000e+031.465000e+031.294000e+031.909700e+043.973000e+032.495000e+036.162000e+033.948000e+031.909700e+046.162000e+035.927000e+035.674000e+034.965000e+032.398900e+041.298500e+04NoneNoneNone
                                                    stdev2.228937e+037.936172e+021.120561e+031.146240e+037.750633e+001.104914e+021.121643e+021.132003e+027.188730e+011.075927e+025.489900e+015.251894e+019.475956e+011.251577e+021.155036e+021.057082e+021.034058e+029.913924e+019.575753e+018.738622e+013.685899e+014.708550e+015.993755e+014.641712e+013.390149e+013.303075e+011.062496e+021.096859e+021.100421e+026.923133e+011.222020e+025.400368e+015.017502e+017.957206e+011.181003e+021.097178e+021.040098e+021.022617e+029.984035e+019.595609e+019.064753e+014.279481e+015.533706e+014.018353e+015.125616e+016.700952e+015.231319e+014.266777e+015.793785e+011.907504e+032.201732e+032.139467e+03NoneNone1.719905e+031.474748e+031.216138e+03NoneNoneNoneNoneNone4.535513e+029.093226e+025.036082e+021.282778e+031.789563e+0234.6878471.270444e+021.282778e+032.056417e+033.975201e+0131.8277246.303262e+015.395722e+018.368872e+015.878341e+011.523871e+021.455158e+023.090106e+041.612694e+041.063003e+026.984943e+016.359047e+016.205942e+015.829994e+015.862582e+015.505314e+015.498863e+014.950700e+018.417410e+011.059809e+021.372959e+021.147172e+028.513799e+011.078177e+021.647825e+022.216522e+035.618142e+020.0635778.958362e+024.642559e+021.648026e+052.189567e+052.866141e+057.936172e+024.791495e+023.131224e+026.702031e+012.830720e+017.543086e+021.952911e+021.133588e+021.165817e+021.324159e+021.511113e+021.440865e+022.991683e+022.250775e+024.732752e+011.038676e+021.166008e+021.755339e+015.050110e+023.637558e+025.859720e+021.966127e+028.8992657.6528336.760134e+022.402736e+024.587204e+027.795312e+004.974370e+011.432986e+025.574670e+014.303120e+015.598719e+016.694950e+017.252401e+017.206055e+015.312190e+013.129274e+016.543429e+025.537075e+014.790928e+023.932843e+022.492432e+022.316744e+021.829281e+021.148169e+029.050640e+0118.14501111.5236131.141550e+023.774419e+013.534531e+012.257531e+021.967251e+022.132096e+022.089584e+021.102167e+022.155892e+021.292811e+021.602168e+021.904055e+021.072317e+031.404476e+021.047340e+022.315210e+022.298423e+023.314566e+023.799984e+021.711299e+029.448405e+013.422968e+042.647627e+021.086306e+021.041140e+031.447731e+021.967409e+029.474669e+024.446641e+021.694405e+024.828823e+024.093667e+021.267778e+022.557686e+022.629695e+023.540041e+024.791437e+024.842803e+027.062823e+023.801689e+025.062105e+024.047851e+011.009911e+028.698075e+014.965424e+014.571015e+011.159105e+028.115282e+013.033556e+021.138865e+031.092197e+021.203354e+037.150048e+021.129133e+031.616169e+021.192208e+038.874869e+011.600300e+021.116914e+023.015791e+021.305728e+025.400275e+011.826280e+027.619403e+019.987631e+011.551951e+022.015002e+029.018655e+015.451432e+016.156759e+021.512020e+021.862018e+022.988008e+022.366780e+026.156759e+022.988008e+021.687454e+021.692225e+021.687234e+027.662855e+024.083119e+02NoneNoneNone
                                                    q12.627000e+039.980000e+021.276000e+031.318000e+033.280000e+015.600000e+015.700000e+015.900000e+013.200000e+011.400000e+010.000000e+000.000000e+003.100000e+016.100000e+016.100000e+016.000000e+016.000000e+016.600000e+017.200000e+017.100000e+011.500000e+012.200000e+012.800000e+011.600000e+018.000000e+004.000000e+005.300000e+015.400000e+015.500000e+013.000000e+011.200000e+010.000000e+000.000000e+003.000000e+016.000000e+016.400000e+016.200000e+016.200000e+016.800000e+017.700000e+017.700000e+012.300000e+013.500000e+011.800000e+012.600000e+013.600000e+012.200000e+011.400000e+011.400000e+019.510000e+022.604000e+032.519000e+03NoneNone2.125000e+031.782000e+031.328000e+03NoneNoneNoneNoneNone2.200000e+011.600000e+010.000000e+006.600000e+010.000000e+000.0000001.600000e+016.600000e+011.943000e+030.000000e+000.0000000.000000e+000.000000e+000.000000e+000.000000e+005.300000e+016.000000e+013.697400e+041.902300e+043.400000e+012.300000e+012.600000e+013.000000e+012.900000e+013.000000e+012.800000e+012.900000e+012.400000e+015.800000e+017.600000e+018.600000e+014.700000e+011.900000e+011.400000e+018.000000e+002.559000e+032.120000e+020.3738001.153000e+036.920000e+026.570000e+049.880000e+041.491000e+059.980000e+022.090000e+026.400000e+010.000000e+000.000000e+005.220000e+027.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+009.000000e+001.956000e+033.810000e+022.730000e+026.120000e+026.200000e+010.0000000.0000005.080000e+027.300000e+015.290000e+022.420000e+019.000000e+002.900000e+017.000000e+000.000000e+007.000000e+001.100000e+011.400000e+011.500000e+018.000000e+000.000000e+004.960000e+020.000000e+002.740000e+021.400000e+026.000000e+001.410000e+027.000000e+013.400000e+011.200000e+010.0000000.0000002.300000e+010.000000e+000.000000e+008.400000e+011.040000e+021.260000e+021.100000e+023.600000e+019.500000e+013.300000e+013.800000e+014.200000e+011.072000e+030.000000e+002.300000e+017.000000e+002.900000e+012.780000e+023.010000e+028.500000e+012.400000e+013.315000e+040.000000e+000.000000e+008.940000e+027.400000e+010.000000e+007.800000e+020.000000e+001.090000e+021.910000e+023.420000e+028.000000e+016.200000e+012.220000e+021.150000e+024.000000e+021.920000e+022.200000e+028.100000e+014.570000e+021.100000e+012.400000e+018.000000e+000.000000e+007.000000e+006.700000e+014.700000e+013.160000e+021.143000e+036.000000e+011.245000e+037.460000e+021.115000e+030.000000e+001.235000e+030.000000e+008.200000e+014.500000e+012.340000e+024.100000e+017.000000e+006.500000e+014.000000e+012.900000e+011.110000e+028.100000e+013.700000e+011.300000e+012.900000e+026.300000e+019.600000e+012.430000e+021.860000e+022.900000e+022.430000e+029.700000e+019.700000e+011.020000e+025.600000e+028.400000e+01NoneNoneNone
                                                    q34.606000e+031.714000e+032.254000e+032.334000e+034.110000e+011.380000e+021.420000e+021.450000e+028.800000e+015.200000e+012.600000e+012.600000e+018.700000e+011.510000e+021.460000e+021.380000e+021.380000e+021.440000e+021.520000e+021.480000e+024.500000e+015.900000e+017.400000e+015.000000e+013.300000e+012.700000e+011.320000e+021.370000e+021.390000e+028.500000e+014.600000e+012.300000e+012.400000e+018.400000e+011.490000e+021.460000e+021.400000e+021.410000e+021.480000e+021.590000e+021.590000e+025.800000e+018.100000e+015.000000e+016.600000e+018.700000e+016.300000e+014.600000e+015.100000e+012.942000e+034.525000e+034.421000e+03NoneNone3.666000e+033.115000e+032.398000e+03NoneNoneNoneNoneNone1.980000e+022.690000e+029.700000e+014.480000e+022.000000e+000.0000008.800000e+014.480000e+023.809000e+030.000000e+000.0000001.600000e+011.300000e+012.300000e+011.300000e+012.000000e+022.100000e+026.082500e+043.022100e+041.040000e+027.900000e+018.000000e+018.200000e+017.800000e+018.000000e+017.400000e+017.400000e+016.500000e+011.280000e+021.670000e+022.070000e+021.410000e+028.300000e+018.100000e+016.000000e+014.496000e+036.050000e+020.4347001.949000e+031.055000e+031.533000e+052.108000e+052.867000e+051.714000e+035.700000e+021.880000e+023.100000e+011.500000e+011.248000e+036.200000e+014.100000e+015.900000e+016.000000e+014.300000e+012.700000e+012.000000e+012.700000e+010.000000e+002.100000e+018.100000e+011.978000e+038.130000e+025.550000e+021.126000e+032.100000e+020.0000000.0000001.019000e+032.330000e+028.890000e+023.140000e+014.100000e+011.260000e+024.500000e+013.200000e+014.400000e+015.700000e+016.300000e+016.200000e+014.200000e+011.700000e+011.105000e+030.000000e+006.790000e+023.830000e+021.660000e+023.130000e+021.970000e+021.130000e+026.600000e+010.0000000.0000001.000000e+021.900000e+011.700000e+012.310000e+022.610000e+022.970000e+022.830000e+021.210000e+022.610000e+021.240000e+021.450000e+021.450000e+022.014000e+033.400000e+018.700000e+014.800000e+011.090000e+025.560000e+026.360000e+022.400000e+021.020000e+026.035000e+043.400000e+012.000000e+011.824000e+031.830000e+020.000000e+001.637000e+032.000000e+012.520000e+025.500000e+027.280000e+021.890000e+022.160000e+024.380000e+023.390000e+028.500000e+025.470000e+026.830000e+022.950000e+029.020000e+024.200000e+019.200000e+014.900000e+011.900000e+013.900000e+011.720000e+021.150000e+025.820000e+022.156000e+031.450000e+022.319000e+031.325000e+032.115000e+030.000000e+002.300000e+031.700000e+011.940000e+021.260000e+024.870000e+021.250000e+023.700000e+012.040000e+021.010000e+028.700000e+012.380000e+022.200000e+021.010000e+025.300000e+017.470000e+021.810000e+022.530000e+025.010000e+023.740000e+027.470000e+025.010000e+022.240000e+022.260000e+022.360000e+021.120000e+032.120000e+02NoneNoneNone
                                                    median3.627000e+031.357000e+031.773000e+031.842000e+033.710000e+019.400000e+019.800000e+019.900000e+015.900000e+013.100000e+011.300000e+011.300000e+015.600000e+011.030000e+021.010000e+029.600000e+019.700000e+011.030000e+021.110000e+021.080000e+022.900000e+013.900000e+015.000000e+013.200000e+011.900000e+011.500000e+019.000000e+019.400000e+019.400000e+015.600000e+012.700000e+011.100000e+011.100000e+015.600000e+011.020000e+021.020000e+021.000000e+029.900000e+011.060000e+021.180000e+021.170000e+024.000000e+015.800000e+013.400000e+014.500000e+016.000000e+014.100000e+012.900000e+013.000000e+011.989000e+033.590000e+033.499000e+03NoneNone2.921000e+032.453000e+031.880000e+03NoneNoneNoneNoneNone8.200000e+018.200000e+012.800000e+011.870000e+020.000000e+000.0000004.700000e+011.870000e+022.906000e+030.000000e+000.0000000.000000e+000.000000e+005.000000e+000.000000e+001.270000e+021.350000e+024.881100e+042.455200e+046.400000e+014.800000e+015.100000e+015.500000e+015.200000e+015.300000e+014.900000e+015.000000e+014.400000e+019.200000e+011.200000e+021.450000e+029.200000e+014.800000e+014.000000e+012.600000e+013.523000e+033.830000e+020.4050001.547000e+038.510000e+021.011000e+051.479000e+052.031000e+051.357000e+033.740000e+021.200000e+021.000000e+010.000000e+009.150000e+022.600000e+011.500000e+012.300000e+011.900000e+019.000000e+000.000000e+000.000000e+000.000000e+000.000000e+004.000000e+004.000000e+011.969000e+035.990000e+024.090000e+028.700000e+021.290000e+020.0000000.0000007.650000e+021.440000e+026.910000e+022.810000e+012.400000e+017.000000e+012.200000e+011.500000e+012.200000e+013.000000e+013.500000e+013.500000e+012.300000e+017.000000e+008.120000e+020.000000e+004.720000e+022.510000e+026.700000e+012.230000e+021.300000e+027.100000e+013.500000e+010.0000000.0000005.700000e+015.000000e+000.000000e+001.500000e+021.800000e+022.070000e+021.930000e+027.400000e+011.740000e+027.300000e+018.200000e+018.400000e+011.548000e+031.600000e+015.200000e+012.300000e+016.200000e+014.110000e+024.710000e+021.620000e+026.000000e+014.599500e+048.000000e+002.000000e+001.362000e+031.240000e+020.000000e+001.211000e+035.000000e+001.780000e+023.420000e+025.340000e+021.320000e+021.260000e+023.250000e+022.140000e+026.300000e+023.450000e+024.080000e+021.650000e+026.720000e+022.500000e+015.200000e+012.400000e+016.000000e+002.100000e+011.180000e+027.900000e+014.500000e+021.651000e+031.000000e+021.793000e+031.026000e+031.622000e+030.000000e+001.780000e+030.000000e+001.330000e+028.200000e+013.580000e+027.800000e+011.900000e+011.290000e+026.900000e+015.500000e+011.720000e+021.410000e+026.600000e+013.100000e+014.950000e+021.200000e+021.680000e+023.690000e+022.740000e+024.950000e+023.690000e+021.580000e+021.610000e+021.650000e+028.330000e+021.420000e+02NoneNoneNone
                                                    interquartile_range1.979000e+037.160000e+029.780000e+021.016000e+038.300000e+008.200000e+018.500000e+018.600000e+015.600000e+013.800000e+012.600000e+012.600000e+015.600000e+019.000000e+018.500000e+017.800000e+017.800000e+017.800000e+018.000000e+017.700000e+013.000000e+013.700000e+014.600000e+013.400000e+012.500000e+012.300000e+017.900000e+018.300000e+018.400000e+015.500000e+013.400000e+012.300000e+012.400000e+015.400000e+018.900000e+018.200000e+017.800000e+017.900000e+018.000000e+018.200000e+018.200000e+013.500000e+014.600000e+013.200000e+014.000000e+015.100000e+014.100000e+013.200000e+013.700000e+011.991000e+031.921000e+031.902000e+03NoneNone1.541000e+031.333000e+031.070000e+03NoneNoneNoneNoneNone1.760000e+022.530000e+029.700000e+013.820000e+022.000000e+000.0000007.200000e+013.820000e+021.866000e+030.000000e+000.0000001.600000e+011.300000e+012.300000e+011.300000e+011.470000e+021.500000e+022.385100e+041.119800e+047.000000e+015.600000e+015.400000e+015.200000e+014.900000e+015.000000e+014.600000e+014.500000e+014.100000e+017.000000e+019.100000e+011.210000e+029.400000e+016.400000e+016.700000e+015.200000e+011.937000e+033.930000e+020.0609007.960000e+023.630000e+028.760000e+041.120000e+051.376000e+057.160000e+023.610000e+021.240000e+023.100000e+011.500000e+017.260000e+025.500000e+014.100000e+015.900000e+016.000000e+014.300000e+012.700000e+012.000000e+012.700000e+010.000000e+002.100000e+017.200000e+012.200000e+014.320000e+022.820000e+025.140000e+021.480000e+020.0000000.0000005.110000e+021.600000e+023.600000e+027.200000e+003.200000e+019.700000e+013.800000e+013.200000e+013.700000e+014.600000e+014.900000e+014.700000e+013.400000e+011.700000e+016.090000e+020.000000e+004.050000e+022.430000e+021.600000e+021.720000e+021.270000e+027.900000e+015.400000e+010.0000000.0000007.700000e+011.900000e+011.700000e+011.470000e+021.570000e+021.710000e+021.730000e+028.500000e+011.660000e+029.100000e+011.070000e+021.030000e+029.420000e+023.400000e+016.400000e+014.100000e+018.000000e+012.780000e+023.350000e+021.550000e+027.800000e+012.720000e+043.400000e+012.000000e+019.300000e+021.090000e+020.000000e+008.570000e+022.000000e+011.430000e+023.590000e+023.860000e+021.090000e+021.540000e+022.160000e+022.240000e+024.500000e+023.550000e+024.630000e+022.140000e+024.450000e+023.100000e+016.800000e+014.100000e+011.900000e+013.200000e+011.050000e+026.800000e+012.660000e+021.013000e+038.500000e+011.074000e+035.790000e+021.000000e+030.000000e+001.065000e+031.700000e+011.120000e+028.100000e+012.530000e+028.400000e+013.000000e+011.390000e+026.100000e+015.800000e+011.270000e+021.390000e+026.400000e+014.000000e+014.570000e+021.180000e+021.570000e+022.580000e+021.880000e+024.570000e+022.580000e+021.270000e+021.290000e+021.340000e+025.600000e+021.280000e+02NoneNoneNone
                                                    \n", + "
                                                    " + ], + "text/plain": [ + " total_pop households male_pop female_pop \\\n", + "avg 4.384716e+03 1.622255e+03 2.157711e+03 2.227005e+03 \n", + "max 6.552800e+04 2.142900e+04 3.226600e+04 3.326200e+04 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 3.244734e+08 1.200485e+08 1.596728e+08 1.648006e+08 \n", + "range 6.552800e+04 2.142900e+04 3.226600e+04 3.326200e+04 \n", + "stdev 2.228937e+03 7.936172e+02 1.120561e+03 1.146240e+03 \n", + "q1 2.627000e+03 9.980000e+02 1.276000e+03 1.318000e+03 \n", + "q3 4.606000e+03 1.714000e+03 2.254000e+03 2.334000e+03 \n", + "median 3.627000e+03 1.357000e+03 1.773000e+03 1.842000e+03 \n", + "interquartile_range 1.979000e+03 7.160000e+02 9.780000e+02 1.016000e+03 \n", + "\n", + " median_age male_under_5 male_5_to_9 male_10_to_14 \\\n", + "avg 3.930112e+01 1.383831e+02 1.423078e+02 1.445751e+02 \n", + "max 8.570000e+01 3.297000e+03 3.464000e+03 3.137000e+03 \n", + "min 7.700000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 2.879751e+06 1.024049e+07 1.053092e+07 1.069870e+07 \n", + "range 7.800000e+01 3.297000e+03 3.464000e+03 3.137000e+03 \n", + "stdev 7.750633e+00 1.104914e+02 1.121643e+02 1.132003e+02 \n", + "q1 3.280000e+01 5.600000e+01 5.700000e+01 5.900000e+01 \n", + "q3 4.110000e+01 1.380000e+02 1.420000e+02 1.450000e+02 \n", + "median 3.710000e+01 9.400000e+01 9.800000e+01 9.900000e+01 \n", + "interquartile_range 8.300000e+00 8.200000e+01 8.500000e+01 8.600000e+01 \n", + "\n", + " male_15_to_17 male_18_to_19 male_20 male_21 \\\n", + "avg 8.804836e+01 6.037216e+01 3.276450e+01 3.217450e+01 \n", + "max 2.416000e+03 3.909000e+03 2.845000e+03 3.025000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 6.515667e+06 4.467600e+06 2.424606e+06 2.380945e+06 \n", + "range 2.416000e+03 3.909000e+03 2.845000e+03 3.025000e+03 \n", + "stdev 7.188730e+01 1.075927e+02 5.489900e+01 5.251894e+01 \n", + "q1 3.200000e+01 1.400000e+01 0.000000e+00 0.000000e+00 \n", + "q3 8.800000e+01 5.200000e+01 2.600000e+01 2.600000e+01 \n", + "median 5.900000e+01 3.100000e+01 1.300000e+01 1.300000e+01 \n", + "interquartile_range 5.600000e+01 3.800000e+01 2.600000e+01 2.600000e+01 \n", + "\n", + " male_22_to_24 male_25_to_29 male_30_to_34 \\\n", + "avg 9.285125e+01 1.552524e+02 1.483501e+02 \n", + "max 6.083000e+03 3.956000e+03 2.143000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 6.871085e+06 1.148883e+07 1.097806e+07 \n", + "range 6.083000e+03 3.956000e+03 2.143000e+03 \n", + "stdev 9.475956e+01 1.251577e+02 1.155036e+02 \n", + "q1 3.100000e+01 6.100000e+01 6.100000e+01 \n", + "q3 8.700000e+01 1.510000e+02 1.460000e+02 \n", + "median 5.600000e+01 1.030000e+02 1.010000e+02 \n", + "interquartile_range 5.600000e+01 9.000000e+01 8.500000e+01 \n", + "\n", + " male_35_to_39 male_40_to_44 male_45_to_49 \\\n", + "avg 1.388303e+02 1.375463e+02 1.416246e+02 \n", + "max 3.146000e+03 3.718000e+03 2.652000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 1.027358e+07 1.017856e+07 1.048036e+07 \n", + "range 3.146000e+03 3.718000e+03 2.652000e+03 \n", + "stdev 1.057082e+02 1.034058e+02 9.913924e+01 \n", + "q1 6.000000e+01 6.000000e+01 6.600000e+01 \n", + "q3 1.380000e+02 1.380000e+02 1.440000e+02 \n", + "median 9.600000e+01 9.700000e+01 1.030000e+02 \n", + "interquartile_range 7.800000e+01 7.800000e+01 7.800000e+01 \n", + "\n", + " male_50_to_54 male_55_to_59 male_65_to_66 \\\n", + "avg 1.482727e+02 1.423548e+02 4.490084e+01 \n", + "max 2.300000e+03 1.741000e+03 1.244000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 1.097233e+07 1.053440e+07 3.322707e+06 \n", + "range 2.300000e+03 1.741000e+03 1.244000e+03 \n", + "stdev 9.575753e+01 8.738622e+01 3.685899e+01 \n", + "q1 7.200000e+01 7.100000e+01 1.500000e+01 \n", + "q3 1.520000e+02 1.480000e+02 4.500000e+01 \n", + "median 1.110000e+02 1.080000e+02 2.900000e+01 \n", + "interquartile_range 8.000000e+01 7.700000e+01 3.000000e+01 \n", + "\n", + " male_67_to_69 male_70_to_74 male_75_to_79 \\\n", + "avg 5.796503e+01 7.306170e+01 5.008765e+01 \n", + "max 3.225000e+03 4.708000e+03 3.287000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 4.289470e+06 5.406639e+06 3.706536e+06 \n", + "range 3.225000e+03 4.708000e+03 3.287000e+03 \n", + "stdev 4.708550e+01 5.993755e+01 4.641712e+01 \n", + "q1 2.200000e+01 2.800000e+01 1.600000e+01 \n", + "q3 5.900000e+01 7.400000e+01 5.000000e+01 \n", + "median 3.900000e+01 5.000000e+01 3.200000e+01 \n", + "interquartile_range 3.700000e+01 4.600000e+01 3.400000e+01 \n", + "\n", + " male_80_to_84 male_85_and_over female_under_5 \\\n", + "avg 3.334291e+01 2.886338e+01 1.322310e+02 \n", + "max 1.666000e+03 6.670000e+02 2.829000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 2.467409e+06 2.135919e+06 9.785223e+06 \n", + "range 1.666000e+03 6.670000e+02 2.829000e+03 \n", + "stdev 3.390149e+01 3.303075e+01 1.062496e+02 \n", + "q1 8.000000e+00 4.000000e+00 5.300000e+01 \n", + "q3 3.300000e+01 2.700000e+01 1.320000e+02 \n", + "median 1.900000e+01 1.500000e+01 9.000000e+01 \n", + "interquartile_range 2.500000e+01 2.300000e+01 7.900000e+01 \n", + "\n", + " female_5_to_9 female_10_to_14 female_15_to_17 \\\n", + "avg 1.365999e+02 1.383163e+02 8.401951e+01 \n", + "max 3.509000e+03 3.667000e+03 1.601000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 1.010853e+07 1.023555e+07 6.217528e+06 \n", + "range 3.509000e+03 3.667000e+03 1.601000e+03 \n", + "stdev 1.096859e+02 1.100421e+02 6.923133e+01 \n", + "q1 5.400000e+01 5.500000e+01 3.000000e+01 \n", + "q3 1.370000e+02 1.390000e+02 8.500000e+01 \n", + "median 9.400000e+01 9.400000e+01 5.600000e+01 \n", + "interquartile_range 8.300000e+01 8.400000e+01 5.500000e+01 \n", + "\n", + " female_18_to_19 female_20 female_21 \\\n", + "avg 5.756660e+01 3.088993e+01 3.041858e+01 \n", + "max 4.815000e+03 1.586000e+03 1.330000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 4.259986e+06 2.285886e+06 2.251005e+06 \n", + "range 4.815000e+03 1.586000e+03 1.330000e+03 \n", + "stdev 1.222020e+02 5.400368e+01 5.017502e+01 \n", + "q1 1.200000e+01 0.000000e+00 0.000000e+00 \n", + "q3 4.600000e+01 2.300000e+01 2.400000e+01 \n", + "median 2.700000e+01 1.100000e+01 1.100000e+01 \n", + "interquartile_range 3.400000e+01 2.300000e+01 2.400000e+01 \n", + "\n", + " female_22_to_24 female_25_to_29 female_30_to_34 \\\n", + "avg 8.833956e+01 1.505691e+02 1.468783e+02 \n", + "max 2.045000e+03 2.410000e+03 2.840000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 6.537216e+06 1.114227e+07 1.086914e+07 \n", + "range 2.045000e+03 2.410000e+03 2.840000e+03 \n", + "stdev 7.957206e+01 1.181003e+02 1.097178e+02 \n", + "q1 3.000000e+01 6.000000e+01 6.400000e+01 \n", + "q3 8.400000e+01 1.490000e+02 1.460000e+02 \n", + "median 5.600000e+01 1.020000e+02 1.020000e+02 \n", + "interquartile_range 5.400000e+01 8.900000e+01 8.200000e+01 \n", + "\n", + " female_35_to_39 female_40_to_44 female_45_to_49 \\\n", + "avg 1.396495e+02 1.393065e+02 1.446716e+02 \n", + "max 3.450000e+03 3.586000e+03 3.628000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 1.033420e+07 1.030882e+07 1.070584e+07 \n", + "range 3.450000e+03 3.586000e+03 3.628000e+03 \n", + "stdev 1.040098e+02 1.022617e+02 9.984035e+01 \n", + "q1 6.200000e+01 6.200000e+01 6.800000e+01 \n", + "q3 1.400000e+02 1.410000e+02 1.480000e+02 \n", + "median 1.000000e+02 9.900000e+01 1.060000e+02 \n", + "interquartile_range 7.800000e+01 7.900000e+01 8.000000e+01 \n", + "\n", + " female_50_to_54 female_55_to_59 female_60_to_61 \\\n", + "avg 1.538896e+02 1.514543e+02 5.749201e+01 \n", + "max 1.756000e+03 1.445000e+03 8.730000e+02 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 1.138799e+07 1.120777e+07 4.254466e+06 \n", + "range 1.756000e+03 1.445000e+03 8.730000e+02 \n", + "stdev 9.595609e+01 9.064753e+01 4.279481e+01 \n", + "q1 7.700000e+01 7.700000e+01 2.300000e+01 \n", + "q3 1.590000e+02 1.590000e+02 5.800000e+01 \n", + "median 1.180000e+02 1.170000e+02 4.000000e+01 \n", + "interquartile_range 8.200000e+01 8.200000e+01 3.500000e+01 \n", + "\n", + " female_62_to_64 female_65_to_66 female_67_to_69 \\\n", + "avg 7.940259e+01 4.982987e+01 6.520221e+01 \n", + "max 2.105000e+03 2.147000e+03 3.661000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 5.875871e+06 3.687460e+06 4.825029e+06 \n", + "range 2.105000e+03 2.147000e+03 3.661000e+03 \n", + "stdev 5.533706e+01 4.018353e+01 5.125616e+01 \n", + "q1 3.500000e+01 1.800000e+01 2.600000e+01 \n", + "q3 8.100000e+01 5.000000e+01 6.600000e+01 \n", + "median 5.800000e+01 3.400000e+01 4.500000e+01 \n", + "interquartile_range 4.600000e+01 3.200000e+01 4.000000e+01 \n", + "\n", + " female_70_to_74 female_75_to_79 female_80_to_84 \\\n", + "avg 8.553553e+01 6.253888e+01 4.708153e+01 \n", + "max 5.268000e+03 2.481000e+03 1.166000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 6.329715e+06 4.627940e+06 3.484080e+06 \n", + "range 5.268000e+03 2.481000e+03 1.166000e+03 \n", + "stdev 6.700952e+01 5.231319e+01 4.266777e+01 \n", + "q1 3.600000e+01 2.200000e+01 1.400000e+01 \n", + "q3 8.700000e+01 6.300000e+01 4.600000e+01 \n", + "median 6.000000e+01 4.100000e+01 2.900000e+01 \n", + "interquartile_range 5.100000e+01 4.100000e+01 3.200000e+01 \n", + "\n", + " female_85_and_over white_pop \\\n", + "avg 5.512231e+01 2.666237e+03 \n", + "max 1.337000e+03 3.868400e+04 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 4.079106e+06 1.973042e+08 \n", + "range 1.337000e+03 3.868400e+04 \n", + "stdev 5.793785e+01 1.907504e+03 \n", + "q1 1.400000e+01 9.510000e+02 \n", + "q3 5.100000e+01 2.942000e+03 \n", + "median 3.000000e+01 1.989000e+03 \n", + "interquartile_range 3.700000e+01 1.991000e+03 \n", + "\n", + " population_1_year_and_over population_3_years_over \\\n", + "avg 4.342539e+03 4.225816e+03 \n", + "max 6.480300e+04 6.243800e+04 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 3.172486e+08 3.127146e+08 \n", + "range 6.480300e+04 6.243800e+04 \n", + "stdev 2.201732e+03 2.139467e+03 \n", + "q1 2.604000e+03 2.519000e+03 \n", + "q3 4.525000e+03 4.421000e+03 \n", + "median 3.590000e+03 3.499000e+03 \n", + "interquartile_range 1.921000e+03 1.902000e+03 \n", + "\n", + " pop_5_years_over pop_15_and_over pop_16_over \\\n", + "avg None None 3.495006e+03 \n", + "max None None 4.464200e+04 \n", + "min None None 0.000000e+00 \n", + "sum None None 2.586340e+08 \n", + "range None None 4.464200e+04 \n", + "stdev None None 1.719905e+03 \n", + "q1 None None 2.125000e+03 \n", + "q3 None None 3.666000e+03 \n", + "median None None 2.921000e+03 \n", + "interquartile_range None None 1.541000e+03 \n", + "\n", + " pop_25_years_over pop_25_64 pop_never_married \\\n", + "avg 2.954858e+03 2.301326e+03 None \n", + "max 3.948600e+04 3.425800e+04 None \n", + "min 0.000000e+00 0.000000e+00 None \n", + "sum 2.186624e+08 1.703004e+08 None \n", + "range 3.948600e+04 3.425800e+04 None \n", + "stdev 1.474748e+03 1.216138e+03 None \n", + "q1 1.782000e+03 1.328000e+03 None \n", + "q3 3.115000e+03 2.398000e+03 None \n", + "median 2.453000e+03 1.880000e+03 None \n", + "interquartile_range 1.333000e+03 1.070000e+03 None \n", + "\n", + " pop_now_married pop_separated pop_widowed pop_divorced \\\n", + "avg None None None None \n", + "max None None None None \n", + "min None None None None \n", + "sum None None None None \n", + "range None None None None \n", + "stdev None None None None \n", + "q1 None None None None \n", + "q3 None None None None \n", + "median None None None None \n", + "interquartile_range None None None None \n", + "\n", + " not_us_citizen_pop black_pop asian_pop \\\n", + "avg 3.057622e+02 5.330768e+02 2.296153e+02 \n", + "max 1.223200e+04 1.665500e+04 1.371200e+04 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 2.233776e+07 3.944822e+07 1.699176e+07 \n", + "range 1.223200e+04 1.665500e+04 1.371200e+04 \n", + "stdev 4.535513e+02 9.093226e+02 5.036082e+02 \n", + "q1 2.200000e+01 1.600000e+01 0.000000e+00 \n", + "q3 1.980000e+02 2.690000e+02 9.700000e+01 \n", + "median 8.200000e+01 8.200000e+01 2.800000e+01 \n", + "interquartile_range 1.760000e+02 2.530000e+02 9.700000e+01 \n", + "\n", + " hispanic_pop amerindian_pop other_race_pop \\\n", + "avg 8.100321e+02 2.836241e+01 9.694369 \n", + "max 2.868300e+04 9.644000e+03 1385.000000 \n", + "min 0.000000e+00 0.000000e+00 0.000000 \n", + "sum 5.994318e+07 2.098847e+06 717393.000000 \n", + "range 2.868300e+04 9.644000e+03 1385.000000 \n", + "stdev 1.282778e+03 1.789563e+02 34.687847 \n", + "q1 6.600000e+01 0.000000e+00 0.000000 \n", + "q3 4.480000e+02 2.000000e+00 0.000000 \n", + "median 1.870000e+02 0.000000e+00 0.000000 \n", + "interquartile_range 3.820000e+02 2.000000e+00 0.000000 \n", + "\n", + " two_or_more_races_pop hispanic_any_race \\\n", + "avg 1.007309e+02 8.100321e+02 \n", + "max 3.611000e+03 2.868300e+04 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 7.454186e+06 5.994318e+07 \n", + "range 3.611000e+03 2.868300e+04 \n", + "stdev 1.270444e+02 1.282778e+03 \n", + "q1 1.600000e+01 6.600000e+01 \n", + "q3 8.800000e+01 4.480000e+02 \n", + "median 4.700000e+01 1.870000e+02 \n", + "interquartile_range 7.200000e+01 3.820000e+02 \n", + "\n", + " not_hispanic_pop asian_male_45_54 asian_male_55_64 \\\n", + "avg 3.574684e+03 1.491637e+01 11.693788 \n", + "max 5.047700e+04 1.301000e+03 745.000000 \n", + "min 0.000000e+00 0.000000e+00 0.000000 \n", + "sum 2.645302e+08 1.103826e+06 865352.000000 \n", + "range 5.047700e+04 1.301000e+03 745.000000 \n", + "stdev 2.056417e+03 3.975201e+01 31.827724 \n", + "q1 1.943000e+03 0.000000e+00 0.000000 \n", + "q3 3.809000e+03 0.000000e+00 0.000000 \n", + "median 2.906000e+03 0.000000e+00 0.000000 \n", + "interquartile_range 1.866000e+03 0.000000e+00 0.000000 \n", + "\n", + " black_male_45_54 black_male_55_64 hispanic_male_45_54 \\\n", + "avg 3.440143e+01 2.904223e+01 4.700662e+01 \n", + "max 1.094000e+03 1.122000e+03 1.464000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 2.545740e+06 2.149154e+06 3.478537e+06 \n", + "range 1.094000e+03 1.122000e+03 1.464000e+03 \n", + "stdev 6.303262e+01 5.395722e+01 8.368872e+01 \n", + "q1 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "q3 1.600000e+01 1.300000e+01 2.300000e+01 \n", + "median 0.000000e+00 0.000000e+00 5.000000e+00 \n", + "interquartile_range 1.600000e+01 1.300000e+01 2.300000e+01 \n", + "\n", + " hispanic_male_55_64 white_male_45_54 white_male_55_64 \\\n", + "avg 3.048543e+01 1.883150e+02 1.926332e+02 \n", + "max 7.770000e+02 2.189000e+03 2.545000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 2.255952e+06 1.393550e+07 1.425505e+07 \n", + "range 7.770000e+02 2.189000e+03 2.545000e+03 \n", + "stdev 5.878341e+01 1.523871e+02 1.455158e+02 \n", + "q1 0.000000e+00 5.300000e+01 6.000000e+01 \n", + "q3 1.300000e+01 2.000000e+02 2.100000e+02 \n", + "median 0.000000e+00 1.270000e+02 1.350000e+02 \n", + "interquartile_range 1.300000e+01 1.470000e+02 1.500000e+02 \n", + "\n", + " median_income income_per_capita income_less_10000 \\\n", + "avg 6.120650e+04 3.065180e+04 1.120286e+02 \n", + "max 2.500010e+05 2.202530e+05 1.550000e+03 \n", + "min 2.499000e+03 3.200000e+01 0.000000e+00 \n", + "sum 4.464586e+09 2.245429e+09 8.290228e+06 \n", + "range 2.475020e+05 2.202210e+05 1.550000e+03 \n", + "stdev 3.090106e+04 1.612694e+04 1.063003e+02 \n", + "q1 3.697400e+04 1.902300e+04 3.400000e+01 \n", + "q3 6.082500e+04 3.022100e+04 1.040000e+02 \n", + "median 4.881100e+04 2.455200e+04 6.400000e+01 \n", + "interquartile_range 2.385100e+04 1.119800e+04 7.000000e+01 \n", + "\n", + " income_10000_14999 income_15000_19999 \\\n", + "avg 7.990310e+01 7.906576e+01 \n", + "max 9.300000e+02 7.610000e+02 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 5.912909e+06 5.850945e+06 \n", + "range 9.300000e+02 7.610000e+02 \n", + "stdev 6.984943e+01 6.359047e+01 \n", + "q1 2.300000e+01 2.600000e+01 \n", + "q3 7.900000e+01 8.000000e+01 \n", + "median 4.800000e+01 5.100000e+01 \n", + "interquartile_range 5.600000e+01 5.400000e+01 \n", + "\n", + " income_20000_24999 income_25000_29999 \\\n", + "avg 8.121069e+01 7.699035e+01 \n", + "max 1.009000e+03 8.760000e+02 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 6.009672e+06 5.697363e+06 \n", + "range 1.009000e+03 8.760000e+02 \n", + "stdev 6.205942e+01 5.829994e+01 \n", + "q1 3.000000e+01 2.900000e+01 \n", + "q3 8.200000e+01 7.800000e+01 \n", + "median 5.500000e+01 5.200000e+01 \n", + "interquartile_range 5.200000e+01 4.900000e+01 \n", + "\n", + " income_30000_34999 income_35000_39999 \\\n", + "avg 7.811121e+01 7.282273e+01 \n", + "max 8.640000e+02 1.530000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 5.780308e+06 5.388955e+06 \n", + "range 8.640000e+02 1.530000e+03 \n", + "stdev 5.862582e+01 5.505314e+01 \n", + "q1 3.000000e+01 2.800000e+01 \n", + "q3 8.000000e+01 7.400000e+01 \n", + "median 5.300000e+01 4.900000e+01 \n", + "interquartile_range 5.000000e+01 4.600000e+01 \n", + "\n", + " income_40000_44999 income_45000_49999 \\\n", + "avg 7.298924e+01 6.437017e+01 \n", + "max 1.118000e+03 8.610000e+02 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 5.401277e+06 4.763457e+06 \n", + "range 1.118000e+03 8.610000e+02 \n", + "stdev 5.498863e+01 4.950700e+01 \n", + "q1 2.900000e+01 2.400000e+01 \n", + "q3 7.400000e+01 6.500000e+01 \n", + "median 5.000000e+01 4.400000e+01 \n", + "interquartile_range 4.500000e+01 4.100000e+01 \n", + "\n", + " income_50000_59999 income_60000_74999 \\\n", + "avg 1.248865e+02 1.605002e+02 \n", + "max 2.054000e+03 2.789000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 9.241728e+06 1.187718e+07 \n", + "range 2.054000e+03 2.789000e+03 \n", + "stdev 8.417410e+01 1.059809e+02 \n", + "q1 5.800000e+01 7.600000e+01 \n", + "q3 1.280000e+02 1.670000e+02 \n", + "median 9.200000e+01 1.200000e+02 \n", + "interquartile_range 7.000000e+01 9.100000e+01 \n", + "\n", + " income_75000_99999 income_100000_124999 \\\n", + "avg 1.984182e+02 1.391279e+02 \n", + "max 3.368000e+03 2.704000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 1.468315e+07 1.029560e+07 \n", + "range 3.368000e+03 2.704000e+03 \n", + "stdev 1.372959e+02 1.147172e+02 \n", + "q1 8.600000e+01 4.700000e+01 \n", + "q3 2.070000e+02 1.410000e+02 \n", + "median 1.450000e+02 9.200000e+01 \n", + "interquartile_range 1.210000e+02 9.400000e+01 \n", + "\n", + " income_125000_149999 income_150000_199999 \\\n", + "avg 8.701426e+01 9.380035e+01 \n", + "max 2.157000e+03 3.878000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 6.439142e+06 6.941320e+06 \n", + "range 2.157000e+03 3.878000e+03 \n", + "stdev 8.513799e+01 1.078177e+02 \n", + "q1 1.900000e+01 1.400000e+01 \n", + "q3 8.300000e+01 8.100000e+01 \n", + "median 4.800000e+01 4.000000e+01 \n", + "interquartile_range 6.400000e+01 6.700000e+01 \n", + "\n", + " income_200000_or_more pop_determined_poverty_status \\\n", + "avg 1.010161e+02 4.276775e+03 \n", + "max 5.386000e+03 6.533200e+04 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 7.475296e+06 3.164856e+08 \n", + "range 5.386000e+03 6.533200e+04 \n", + "stdev 1.647825e+02 2.216522e+03 \n", + "q1 8.000000e+00 2.559000e+03 \n", + "q3 6.000000e+01 4.496000e+03 \n", + "median 2.600000e+01 3.523000e+03 \n", + "interquartile_range 5.200000e+01 1.937000e+03 \n", + "\n", + " poverty gini_index housing_units \\\n", + "avg 6.377423e+02 0.425911 1.850797e+03 \n", + "max 9.440000e+03 0.829000 2.652600e+04 \n", + "min 0.000000e+00 0.000700 0.000000e+00 \n", + "sum 4.719356e+07 31111.100500 1.369609e+08 \n", + "range 9.440000e+03 0.828300 2.652600e+04 \n", + "stdev 5.618142e+02 0.063577 8.958362e+02 \n", + "q1 2.120000e+02 0.373800 1.153000e+03 \n", + "q3 6.050000e+02 0.434700 1.949000e+03 \n", + "median 3.830000e+02 0.405000 1.547000e+03 \n", + "interquartile_range 3.930000e+02 0.060900 7.960000e+02 \n", + "\n", + " renter_occupied_housing_units_paying_cash_median_gross_rent \\\n", + "avg 1.058678e+03 \n", + "max 3.501000e+03 \n", + "min 9.900000e+01 \n", + "sum 7.612849e+07 \n", + "range 3.402000e+03 \n", + "stdev 4.642559e+02 \n", + "q1 6.920000e+02 \n", + "q3 1.055000e+03 \n", + "median 8.510000e+02 \n", + "interquartile_range 3.630000e+02 \n", + "\n", + " owner_occupied_housing_units_lower_value_quartile \\\n", + "avg 1.765685e+05 \n", + "max 2.000001e+06 \n", + "min 9.999000e+03 \n", + "sum 1.258933e+10 \n", + "range 1.990002e+06 \n", + "stdev 1.648026e+05 \n", + "q1 6.570000e+04 \n", + "q3 1.533000e+05 \n", + "median 1.011000e+05 \n", + "interquartile_range 8.760000e+04 \n", + "\n", + " owner_occupied_housing_units_median_value \\\n", + "avg 2.443280e+05 \n", + "max 2.000001e+06 \n", + "min 9.999000e+03 \n", + "sum 1.758746e+10 \n", + "range 1.990002e+06 \n", + "stdev 2.189567e+05 \n", + "q1 9.880000e+04 \n", + "q3 2.108000e+05 \n", + "median 1.479000e+05 \n", + "interquartile_range 1.120000e+05 \n", + "\n", + " owner_occupied_housing_units_upper_value_quartile \\\n", + "avg 3.329604e+05 \n", + "max 2.000001e+06 \n", + "min 9.999000e+03 \n", + "sum 2.396882e+10 \n", + "range 1.990002e+06 \n", + "stdev 2.866141e+05 \n", + "q1 1.491000e+05 \n", + "q3 2.867000e+05 \n", + "median 2.031000e+05 \n", + "interquartile_range 1.376000e+05 \n", + "\n", + " occupied_housing_units housing_units_renter_occupied \\\n", + "avg 1.622255e+03 5.861794e+02 \n", + "max 2.142900e+04 8.039000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 1.200485e+08 4.337786e+07 \n", + "range 2.142900e+04 8.039000e+03 \n", + "stdev 7.936172e+02 4.791495e+02 \n", + "q1 9.980000e+02 2.090000e+02 \n", + "q3 1.714000e+03 5.700000e+02 \n", + "median 1.357000e+03 3.740000e+02 \n", + "interquartile_range 7.160000e+02 3.610000e+02 \n", + "\n", + " vacant_housing_units vacant_housing_units_for_rent \\\n", + "avg 2.285420e+02 3.884688e+01 \n", + "max 1.192400e+04 4.472000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 1.691234e+07 2.874708e+06 \n", + "range 1.192400e+04 4.472000e+03 \n", + "stdev 3.131224e+02 6.702031e+01 \n", + "q1 6.400000e+01 0.000000e+00 \n", + "q3 1.880000e+02 3.100000e+01 \n", + "median 1.200000e+02 1.000000e+01 \n", + "interquartile_range 1.240000e+02 3.100000e+01 \n", + "\n", + " vacant_housing_units_for_sale \\\n", + "avg 1.863187e+01 \n", + "max 5.470000e+02 \n", + "min 0.000000e+00 \n", + "sum 1.378777e+06 \n", + "range 5.470000e+02 \n", + "stdev 2.830720e+01 \n", + "q1 0.000000e+00 \n", + "q3 1.500000e+01 \n", + "median 0.000000e+00 \n", + "interquartile_range 1.500000e+01 \n", + "\n", + " dwellings_1_units_detached dwellings_1_units_attached \\\n", + "avg 1.143346e+03 1.092662e+02 \n", + "max 2.552700e+04 4.280000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 8.460878e+07 8.085807e+06 \n", + "range 2.552700e+04 4.280000e+03 \n", + "stdev 7.543086e+02 1.952911e+02 \n", + "q1 5.220000e+02 7.000000e+00 \n", + "q3 1.248000e+03 6.200000e+01 \n", + "median 9.150000e+02 2.600000e+01 \n", + "interquartile_range 7.260000e+02 5.500000e+01 \n", + "\n", + " dwellings_2_units dwellings_3_to_4_units \\\n", + "avg 6.762999e+01 8.112938e+01 \n", + "max 1.999000e+03 1.629000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 5.004687e+06 6.003655e+06 \n", + "range 1.999000e+03 1.629000e+03 \n", + "stdev 1.133588e+02 1.165817e+02 \n", + "q1 0.000000e+00 0.000000e+00 \n", + "q3 4.100000e+01 5.900000e+01 \n", + "median 1.500000e+01 2.300000e+01 \n", + "interquartile_range 4.100000e+01 5.900000e+01 \n", + "\n", + " dwellings_5_to_9_units dwellings_10_to_19_units \\\n", + "avg 8.797462e+01 8.248062e+01 \n", + "max 1.863000e+03 5.280000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 6.510210e+06 6.103648e+06 \n", + "range 1.863000e+03 5.280000e+03 \n", + "stdev 1.324159e+02 1.511113e+02 \n", + "q1 0.000000e+00 0.000000e+00 \n", + "q3 6.000000e+01 4.300000e+01 \n", + "median 1.900000e+01 9.000000e+00 \n", + "interquartile_range 6.000000e+01 4.300000e+01 \n", + "\n", + " dwellings_20_to_49_units dwellings_50_or_more_units \\\n", + "avg 6.591754e+01 9.643179e+01 \n", + "max 4.283000e+03 1.151800e+04 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 4.877964e+06 7.136049e+06 \n", + "range 4.283000e+03 1.151800e+04 \n", + "stdev 1.440865e+02 2.991683e+02 \n", + "q1 0.000000e+00 0.000000e+00 \n", + "q3 2.700000e+01 2.000000e+01 \n", + "median 0.000000e+00 0.000000e+00 \n", + "interquartile_range 2.700000e+01 2.000000e+01 \n", + "\n", + " mobile_homes housing_built_2005_or_later \\\n", + "avg 1.150671e+02 1.610305e+01 \n", + "max 3.314000e+03 2.502000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 8.515077e+06 1.191642e+06 \n", + "range 3.314000e+03 2.502000e+03 \n", + "stdev 2.250775e+02 4.732752e+01 \n", + "q1 0.000000e+00 0.000000e+00 \n", + "q3 2.700000e+01 0.000000e+00 \n", + "median 0.000000e+00 0.000000e+00 \n", + "interquartile_range 2.700000e+01 0.000000e+00 \n", + "\n", + " housing_built_2000_to_2004 \\\n", + "avg 4.221539e+01 \n", + "max 7.206000e+03 \n", + "min 0.000000e+00 \n", + "sum 3.123981e+06 \n", + "range 7.206000e+03 \n", + "stdev 1.038676e+02 \n", + "q1 0.000000e+00 \n", + "q3 2.100000e+01 \n", + "median 4.000000e+00 \n", + "interquartile_range 2.100000e+01 \n", + "\n", + " housing_built_1939_or_earlier \\\n", + "avg 9.403019e+01 \n", + "max 6.177000e+03 \n", + "min 0.000000e+00 \n", + "sum 6.958328e+06 \n", + "range 6.177000e+03 \n", + "stdev 1.166008e+02 \n", + "q1 9.000000e+00 \n", + "q3 8.100000e+01 \n", + "median 4.000000e+01 \n", + "interquartile_range 7.200000e+01 \n", + "\n", + " median_year_structure_built married_households \\\n", + "avg 1.971950e+03 7.829447e+02 \n", + "max 2.016000e+03 1.510500e+04 \n", + "min 1.939000e+03 0.000000e+00 \n", + "sum 1.429487e+08 5.793869e+07 \n", + "range 7.700000e+01 1.510500e+04 \n", + "stdev 1.755339e+01 5.050110e+02 \n", + "q1 1.956000e+03 3.810000e+02 \n", + "q3 1.978000e+03 8.130000e+02 \n", + "median 1.969000e+03 5.990000e+02 \n", + "interquartile_range 2.200000e+01 4.320000e+02 \n", + "\n", + " nonfamily_households family_households \\\n", + "avg 5.526839e+02 1.069572e+03 \n", + "max 6.883000e+03 1.681300e+04 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 4.089916e+07 7.914937e+07 \n", + "range 6.883000e+03 1.681300e+04 \n", + "stdev 3.637558e+02 5.859720e+02 \n", + "q1 2.730000e+02 6.120000e+02 \n", + "q3 5.550000e+02 1.126000e+03 \n", + "median 4.090000e+02 8.700000e+02 \n", + "interquartile_range 2.820000e+02 5.140000e+02 \n", + "\n", + " households_public_asst_or_food_stamps \\\n", + "avg 2.201474e+02 \n", + "max 2.325000e+03 \n", + "min 0.000000e+00 \n", + "sum 1.629113e+07 \n", + "range 2.325000e+03 \n", + "stdev 1.966127e+02 \n", + "q1 6.200000e+01 \n", + "q3 2.100000e+02 \n", + "median 1.290000e+02 \n", + "interquartile_range 1.480000e+02 \n", + "\n", + " male_male_households female_female_households \\\n", + "avg 2.847543 2.909866 \n", + "max 355.000000 174.000000 \n", + "min 0.000000 0.000000 \n", + "sum 210721.000000 215333.000000 \n", + "range 355.000000 174.000000 \n", + "stdev 8.899265 7.652833 \n", + "q1 0.000000 0.000000 \n", + "q3 0.000000 0.000000 \n", + "median 0.000000 0.000000 \n", + "interquartile_range 0.000000 0.000000 \n", + "\n", + " children children_in_single_female_hh median_rent \\\n", + "avg 1.004481e+03 2.549481e+02 8.960611e+02 \n", + "max 2.360800e+04 2.863000e+03 3.501000e+03 \n", + "min 0.000000e+00 0.000000e+00 9.900000e+01 \n", + "sum 7.433261e+07 1.886641e+07 6.427357e+07 \n", + "range 2.360800e+04 2.863000e+03 3.402000e+03 \n", + "stdev 6.760134e+02 2.402736e+02 4.587204e+02 \n", + "q1 5.080000e+02 7.300000e+01 5.290000e+02 \n", + "q3 1.019000e+03 2.330000e+02 8.890000e+02 \n", + "median 7.650000e+02 1.440000e+02 6.910000e+02 \n", + "interquartile_range 5.110000e+02 1.600000e+02 3.600000e+02 \n", + "\n", + " percent_income_spent_on_rent rent_burden_not_computed \\\n", + "avg 3.075703e+01 4.549625e+01 \n", + "max 5.000000e+01 1.100000e+03 \n", + "min 1.000000e+01 0.000000e+00 \n", + "sum 2.225702e+06 3.366768e+06 \n", + "range 4.000000e+01 1.100000e+03 \n", + "stdev 7.795312e+00 4.974370e+01 \n", + "q1 2.420000e+01 9.000000e+00 \n", + "q3 3.140000e+01 4.100000e+01 \n", + "median 2.810000e+01 2.400000e+01 \n", + "interquartile_range 7.200000e+00 3.200000e+01 \n", + "\n", + " rent_over_50_percent rent_40_to_50_percent \\\n", + "avg 1.383322e+02 4.980808e+01 \n", + "max 3.487000e+03 9.720000e+02 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 1.023672e+07 3.685848e+06 \n", + "range 3.487000e+03 9.720000e+02 \n", + "stdev 1.432986e+02 5.574670e+01 \n", + "q1 2.900000e+01 7.000000e+00 \n", + "q3 1.260000e+02 4.500000e+01 \n", + "median 7.000000e+01 2.200000e+01 \n", + "interquartile_range 9.700000e+01 3.800000e+01 \n", + "\n", + " rent_35_to_40_percent rent_30_to_35_percent \\\n", + "avg 3.622229e+01 4.936739e+01 \n", + "max 6.410000e+02 8.600000e+02 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 2.680486e+06 3.653236e+06 \n", + "range 6.410000e+02 8.600000e+02 \n", + "stdev 4.303120e+01 5.598719e+01 \n", + "q1 0.000000e+00 7.000000e+00 \n", + "q3 3.200000e+01 4.400000e+01 \n", + "median 1.500000e+01 2.200000e+01 \n", + "interquartile_range 3.200000e+01 3.700000e+01 \n", + "\n", + " rent_25_to_30_percent rent_20_to_25_percent \\\n", + "avg 6.223202e+01 6.874649e+01 \n", + "max 9.990000e+02 1.382000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 4.605232e+06 5.087309e+06 \n", + "range 9.990000e+02 1.382000e+03 \n", + "stdev 6.694950e+01 7.252401e+01 \n", + "q1 1.100000e+01 1.400000e+01 \n", + "q3 5.700000e+01 6.300000e+01 \n", + "median 3.000000e+01 3.500000e+01 \n", + "interquartile_range 4.600000e+01 4.900000e+01 \n", + "\n", + " rent_15_to_20_percent rent_10_to_15_percent \\\n", + "avg 6.792566e+01 4.691335e+01 \n", + "max 1.879000e+03 1.098000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 5.026567e+06 3.471635e+06 \n", + "range 1.879000e+03 1.098000e+03 \n", + "stdev 7.206055e+01 5.312190e+01 \n", + "q1 1.500000e+01 8.000000e+00 \n", + "q3 6.200000e+01 4.200000e+01 \n", + "median 3.500000e+01 2.300000e+01 \n", + "interquartile_range 4.700000e+01 3.400000e+01 \n", + "\n", + " rent_under_10_percent owner_occupied_housing_units \\\n", + "avg 2.113569e+01 1.036076e+03 \n", + "max 9.120000e+02 2.047300e+04 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 1.564062e+06 7.667066e+07 \n", + "range 9.120000e+02 2.047300e+04 \n", + "stdev 3.129274e+01 6.543429e+02 \n", + "q1 0.000000e+00 4.960000e+02 \n", + "q3 1.700000e+01 1.105000e+03 \n", + "median 7.000000e+00 8.120000e+02 \n", + "interquartile_range 1.700000e+01 6.090000e+02 \n", + "\n", + " million_dollar_housing_units mortgaged_housing_units \\\n", + "avg 1.498115e+01 6.556553e+02 \n", + "max 1.453000e+03 1.267200e+04 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 1.108620e+06 4.851915e+07 \n", + "range 1.453000e+03 1.267200e+04 \n", + "stdev 5.537075e+01 4.790928e+02 \n", + "q1 0.000000e+00 2.740000e+02 \n", + "q3 0.000000e+00 6.790000e+02 \n", + "median 0.000000e+00 4.720000e+02 \n", + "interquartile_range 0.000000e+00 4.050000e+02 \n", + "\n", + " different_house_year_ago_different_city \\\n", + "avg 4.115417e+02 \n", + "max 1.306400e+04 \n", + "min 0.000000e+00 \n", + "sum 3.006559e+07 \n", + "range 1.306400e+04 \n", + "stdev 3.932843e+02 \n", + "q1 1.400000e+02 \n", + "q3 3.830000e+02 \n", + "median 2.510000e+02 \n", + "interquartile_range 2.430000e+02 \n", + "\n", + " different_house_year_ago_same_city \\\n", + "avg 1.951105e+02 \n", + "max 5.347000e+03 \n", + "min 0.000000e+00 \n", + "sum 1.425400e+07 \n", + "range 5.347000e+03 \n", + "stdev 2.492432e+02 \n", + "q1 6.000000e+00 \n", + "q3 1.660000e+02 \n", + "median 6.700000e+01 \n", + "interquartile_range 1.600000e+02 \n", + "\n", + " families_with_young_children \\\n", + "avg 3.127425e+02 \n", + "max 6.700000e+03 \n", + "min 0.000000e+00 \n", + "sum 2.314326e+07 \n", + "range 6.700000e+03 \n", + "stdev 2.316744e+02 \n", + "q1 1.410000e+02 \n", + "q3 3.130000e+02 \n", + "median 2.230000e+02 \n", + "interquartile_range 1.720000e+02 \n", + "\n", + " two_parent_families_with_young_children \\\n", + "avg 2.018102e+02 \n", + "max 6.517000e+03 \n", + "min 0.000000e+00 \n", + "sum 1.493416e+07 \n", + "range 6.517000e+03 \n", + "stdev 1.829281e+02 \n", + "q1 7.000000e+01 \n", + "q3 1.970000e+02 \n", + "median 1.300000e+02 \n", + "interquartile_range 1.270000e+02 \n", + "\n", + " two_parents_in_labor_force_families_with_young_children \\\n", + "avg 1.182977e+02 \n", + "max 3.989000e+03 \n", + "min 0.000000e+00 \n", + "sum 8.754150e+06 \n", + "range 3.989000e+03 \n", + "stdev 1.148169e+02 \n", + "q1 3.400000e+01 \n", + "q3 1.130000e+02 \n", + "median 7.100000e+01 \n", + "interquartile_range 7.900000e+01 \n", + "\n", + " two_parents_father_in_labor_force_families_with_young_children \\\n", + "avg 7.417954e+01 \n", + "max 3.888000e+03 \n", + "min 0.000000e+00 \n", + "sum 5.489360e+06 \n", + "range 3.888000e+03 \n", + "stdev 9.050640e+01 \n", + "q1 1.200000e+01 \n", + "q3 6.600000e+01 \n", + "median 3.500000e+01 \n", + "interquartile_range 5.400000e+01 \n", + "\n", + " two_parents_mother_in_labor_force_families_with_young_children \\\n", + "avg 6.340941 \n", + "max 1308.000000 \n", + "min 0.000000 \n", + "sum 469236.000000 \n", + "range 1308.000000 \n", + "stdev 18.145011 \n", + "q1 0.000000 \n", + "q3 0.000000 \n", + "median 0.000000 \n", + "interquartile_range 0.000000 \n", + "\n", + " two_parents_not_in_labor_force_families_with_young_children \\\n", + "avg 2.991987 \n", + "max 285.000000 \n", + "min 0.000000 \n", + "sum 221410.000000 \n", + "range 285.000000 \n", + "stdev 11.523613 \n", + "q1 0.000000 \n", + "q3 0.000000 \n", + "median 0.000000 \n", + "interquartile_range 0.000000 \n", + "\n", + " one_parent_families_with_young_children \\\n", + "avg 1.109323e+02 \n", + "max 1.418000e+03 \n", + "min 0.000000e+00 \n", + "sum 8.209099e+06 \n", + "range 1.418000e+03 \n", + "stdev 1.141550e+02 \n", + "q1 2.300000e+01 \n", + "q3 1.000000e+02 \n", + "median 5.700000e+01 \n", + "interquartile_range 7.700000e+01 \n", + "\n", + " father_one_parent_families_with_young_children \\\n", + "avg 2.560057e+01 \n", + "max 5.020000e+02 \n", + "min 0.000000e+00 \n", + "sum 1.894468e+06 \n", + "range 5.020000e+02 \n", + "stdev 3.774419e+01 \n", + "q1 0.000000e+00 \n", + "q3 1.900000e+01 \n", + "median 5.000000e+00 \n", + "interquartile_range 1.900000e+01 \n", + "\n", + " father_in_labor_force_one_parent_families_with_young_children \\\n", + "avg 2.281514e+01 \n", + "max 5.020000e+02 \n", + "min 0.000000e+00 \n", + "sum 1.688343e+06 \n", + "range 5.020000e+02 \n", + "stdev 3.534531e+01 \n", + "q1 0.000000e+00 \n", + "q3 1.700000e+01 \n", + "median 0.000000e+00 \n", + "interquartile_range 1.700000e+01 \n", + "\n", + " commute_less_10_mins commute_10_14_mins \\\n", + "avg 2.433403e+02 2.615797e+02 \n", + "max 1.162100e+04 5.838000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 1.800742e+07 1.935716e+07 \n", + "range 1.162100e+04 5.838000e+03 \n", + "stdev 2.257531e+02 1.967251e+02 \n", + "q1 8.400000e+01 1.040000e+02 \n", + "q3 2.310000e+02 2.610000e+02 \n", + "median 1.500000e+02 1.800000e+02 \n", + "interquartile_range 1.470000e+02 1.570000e+02 \n", + "\n", + " commute_15_19_mins commute_20_24_mins \\\n", + "avg 2.943585e+02 2.800684e+02 \n", + "max 7.095000e+03 4.886000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 2.178282e+07 2.072534e+07 \n", + "range 7.095000e+03 4.886000e+03 \n", + "stdev 2.132096e+02 2.089584e+02 \n", + "q1 1.260000e+02 1.100000e+02 \n", + "q3 2.970000e+02 2.830000e+02 \n", + "median 2.070000e+02 1.930000e+02 \n", + "interquartile_range 1.710000e+02 1.730000e+02 \n", + "\n", + " commute_25_29_mins commute_30_34_mins \\\n", + "avg 1.222793e+02 2.636407e+02 \n", + "max 2.205000e+03 4.880000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 9.048793e+06 1.950968e+07 \n", + "range 2.205000e+03 4.880000e+03 \n", + "stdev 1.102167e+02 2.155892e+02 \n", + "q1 3.600000e+01 9.500000e+01 \n", + "q3 1.210000e+02 2.610000e+02 \n", + "median 7.400000e+01 1.740000e+02 \n", + "interquartile_range 8.500000e+01 1.660000e+02 \n", + "\n", + " commute_35_44_mins commute_45_59_mins \\\n", + "avg 1.311400e+02 1.560668e+02 \n", + "max 3.178000e+03 5.390000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 9.704493e+06 1.154910e+07 \n", + "range 3.178000e+03 5.390000e+03 \n", + "stdev 1.292811e+02 1.602168e+02 \n", + "q1 3.300000e+01 3.800000e+01 \n", + "q3 1.240000e+02 1.450000e+02 \n", + "median 7.300000e+01 8.200000e+01 \n", + "interquartile_range 9.100000e+01 1.070000e+02 \n", + "\n", + " commute_60_more_mins commuters_16_over walked_to_work \\\n", + "avg 1.717179e+02 1.924192e+03 5.515674e+01 \n", + "max 6.070000e+03 2.648200e+04 1.162100e+04 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 1.270730e+07 1.423921e+08 4.081654e+06 \n", + "range 6.070000e+03 2.648200e+04 1.162100e+04 \n", + "stdev 1.904055e+02 1.072317e+03 1.404476e+02 \n", + "q1 4.200000e+01 1.072000e+03 0.000000e+00 \n", + "q3 1.450000e+02 2.014000e+03 3.400000e+01 \n", + "median 8.400000e+01 1.548000e+03 1.600000e+01 \n", + "interquartile_range 1.030000e+02 9.420000e+02 3.400000e+01 \n", + "\n", + " worked_at_home no_car no_cars one_car \\\n", + "avg 9.526220e+01 8.728505e+01 1.442299e+02 5.405044e+02 \n", + "max 7.043000e+03 8.111000e+03 5.847000e+03 1.554800e+04 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 7.049498e+06 6.459181e+06 1.067316e+07 3.999786e+07 \n", + "range 7.043000e+03 8.111000e+03 5.847000e+03 1.554800e+04 \n", + "stdev 1.047340e+02 2.315210e+02 2.298423e+02 3.314566e+02 \n", + "q1 2.300000e+01 7.000000e+00 2.900000e+01 2.780000e+02 \n", + "q3 8.700000e+01 4.800000e+01 1.090000e+02 5.560000e+02 \n", + "median 5.200000e+01 2.300000e+01 6.200000e+01 4.110000e+02 \n", + "interquartile_range 6.400000e+01 4.100000e+01 8.000000e+01 2.780000e+02 \n", + "\n", + " two_cars three_cars four_more_cars \\\n", + "avg 6.048036e+02 2.295713e+02 1.031463e+02 \n", + "max 1.201200e+04 3.231000e+03 1.107000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 4.475607e+07 1.698850e+07 7.632928e+06 \n", + "range 1.201200e+04 3.231000e+03 1.107000e+03 \n", + "stdev 3.799984e+02 1.711299e+02 9.448405e+01 \n", + "q1 3.010000e+02 8.500000e+01 2.400000e+01 \n", + "q3 6.360000e+02 2.400000e+02 1.020000e+02 \n", + "median 4.710000e+02 1.620000e+02 6.000000e+01 \n", + "interquartile_range 3.350000e+02 1.550000e+02 7.800000e+01 \n", + "\n", + " aggregate_travel_time_to_work \\\n", + "avg 5.934150e+04 \n", + "max 9.731600e+05 \n", + "min 6.500000e+01 \n", + "sum 2.970754e+09 \n", + "range 9.730950e+05 \n", + "stdev 3.422968e+04 \n", + "q1 3.315000e+04 \n", + "q3 6.035000e+04 \n", + "median 4.599500e+04 \n", + "interquartile_range 2.720000e+04 \n", + "\n", + " commuters_by_public_transportation commuters_by_bus \\\n", + "avg 1.031013e+02 5.114798e+01 \n", + "max 7.759000e+03 3.940000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 7.629599e+06 3.785002e+06 \n", + "range 7.759000e+03 3.940000e+03 \n", + "stdev 2.647627e+02 1.086306e+02 \n", + "q1 0.000000e+00 0.000000e+00 \n", + "q3 3.400000e+01 2.000000e+01 \n", + "median 8.000000e+00 2.000000e+00 \n", + "interquartile_range 3.400000e+01 2.000000e+01 \n", + "\n", + " commuters_by_car_truck_van commuters_by_carpool \\\n", + "avg 1.729272e+03 1.847843e+02 \n", + "max 2.501200e+04 3.023000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 1.279679e+08 1.367422e+07 \n", + "range 2.501200e+04 3.023000e+03 \n", + "stdev 1.041140e+03 1.447731e+02 \n", + "q1 8.940000e+02 7.400000e+01 \n", + "q3 1.824000e+03 1.830000e+02 \n", + "median 1.362000e+03 1.240000e+02 \n", + "interquartile_range 9.300000e+02 1.090000e+02 \n", + "\n", + " commuters_by_subway_or_elevated commuters_drove_alone \\\n", + "avg 3.818269e+01 1.544488e+03 \n", + "max 5.945000e+03 2.198900e+04 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 2.825557e+06 1.142936e+08 \n", + "range 5.945000e+03 2.198900e+04 \n", + "stdev 1.967409e+02 9.474669e+02 \n", + "q1 0.000000e+00 7.800000e+02 \n", + "q3 0.000000e+00 1.637000e+03 \n", + "median 0.000000e+00 1.211000e+03 \n", + "interquartile_range 0.000000e+00 8.570000e+02 \n", + "\n", + " group_quarters associates_degree bachelors_degree \\\n", + "avg 1.098196e+02 2.452862e+02 5.649029e+02 \n", + "max 1.642100e+04 4.070000e+03 1.376700e+04 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 8.126758e+06 1.815143e+07 4.180338e+07 \n", + "range 1.642100e+04 4.070000e+03 1.376700e+04 \n", + "stdev 4.446641e+02 1.694405e+02 4.828823e+02 \n", + "q1 0.000000e+00 1.090000e+02 1.910000e+02 \n", + "q3 2.000000e+01 2.520000e+02 5.500000e+02 \n", + "median 5.000000e+00 1.780000e+02 3.420000e+02 \n", + "interquartile_range 2.000000e+01 1.430000e+02 3.590000e+02 \n", + "\n", + " high_school_diploma less_one_year_college \\\n", + "avg 6.904443e+02 1.821747e+02 \n", + "max 8.215000e+03 4.037000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 5.109357e+07 1.348111e+07 \n", + "range 8.215000e+03 4.037000e+03 \n", + "stdev 4.093667e+02 1.267778e+02 \n", + "q1 3.420000e+02 8.000000e+01 \n", + "q3 7.280000e+02 1.890000e+02 \n", + "median 5.340000e+02 1.320000e+02 \n", + "interquartile_range 3.860000e+02 1.090000e+02 \n", + "\n", + " masters_degree one_year_more_college \\\n", + "avg 2.468936e+02 4.290593e+02 \n", + "max 7.767000e+03 5.621000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 1.827037e+07 3.175082e+07 \n", + "range 7.767000e+03 5.621000e+03 \n", + "stdev 2.557686e+02 2.629695e+02 \n", + "q1 6.200000e+01 2.220000e+02 \n", + "q3 2.160000e+02 4.380000e+02 \n", + "median 1.260000e+02 3.250000e+02 \n", + "interquartile_range 1.540000e+02 2.160000e+02 \n", + "\n", + " less_than_high_school_graduate \\\n", + "avg 3.755628e+02 \n", + "max 5.363000e+03 \n", + "min 0.000000e+00 \n", + "sum 2.743711e+07 \n", + "range 5.363000e+03 \n", + "stdev 3.540041e+02 \n", + "q1 1.150000e+02 \n", + "q3 3.390000e+02 \n", + "median 2.140000e+02 \n", + "interquartile_range 2.240000e+02 \n", + "\n", + " high_school_including_ged bachelors_degree_2 \\\n", + "avg 8.088810e+02 5.663747e+02 \n", + "max 8.929000e+03 1.376700e+04 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 5.909361e+07 4.137707e+07 \n", + "range 8.929000e+03 1.376700e+04 \n", + "stdev 4.791437e+02 4.842803e+02 \n", + "q1 4.000000e+02 1.920000e+02 \n", + "q3 8.500000e+02 5.470000e+02 \n", + "median 6.300000e+02 3.450000e+02 \n", + "interquartile_range 4.500000e+02 3.550000e+02 \n", + "\n", + " bachelors_degree_or_higher_25_64 \\\n", + "avg 7.435482e+02 \n", + "max 2.285600e+04 \n", + "min 0.000000e+00 \n", + "sum 5.502331e+07 \n", + "range 2.285600e+04 \n", + "stdev 7.062823e+02 \n", + "q1 2.200000e+02 \n", + "q3 6.830000e+02 \n", + "median 4.080000e+02 \n", + "interquartile_range 4.630000e+02 \n", + "\n", + " graduate_professional_degree \\\n", + "avg 3.491915e+02 \n", + "max 1.037400e+04 \n", + "min 0.000000e+00 \n", + "sum 2.551054e+07 \n", + "range 1.037400e+04 \n", + "stdev 3.801689e+02 \n", + "q1 8.100000e+01 \n", + "q3 2.950000e+02 \n", + "median 1.650000e+02 \n", + "interquartile_range 2.140000e+02 \n", + "\n", + " some_college_and_associates_degree \\\n", + "avg 8.603443e+02 \n", + "max 1.274500e+04 \n", + "min 0.000000e+00 \n", + "sum 6.285332e+07 \n", + "range 1.274500e+04 \n", + "stdev 5.062105e+02 \n", + "q1 4.570000e+02 \n", + "q3 9.020000e+02 \n", + "median 6.720000e+02 \n", + "interquartile_range 4.450000e+02 \n", + "\n", + " male_45_64_associates_degree \\\n", + "avg 4.302832e+01 \n", + "max 8.550000e+02 \n", + "min 0.000000e+00 \n", + "sum 3.184139e+06 \n", + "range 8.550000e+02 \n", + "stdev 4.047851e+01 \n", + "q1 1.100000e+01 \n", + "q3 4.200000e+01 \n", + "median 2.500000e+01 \n", + "interquartile_range 3.100000e+01 \n", + "\n", + " male_45_64_bachelors_degree male_45_64_graduate_degree \\\n", + "avg 1.000650e+02 6.498545e+01 \n", + "max 2.547000e+03 2.448000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 7.404907e+06 4.808988e+06 \n", + "range 2.547000e+03 2.448000e+03 \n", + "stdev 1.009911e+02 8.698075e+01 \n", + "q1 2.400000e+01 8.000000e+00 \n", + "q3 9.200000e+01 4.900000e+01 \n", + "median 5.200000e+01 2.400000e+01 \n", + "interquartile_range 6.800000e+01 4.100000e+01 \n", + "\n", + " male_45_64_less_than_9_grade male_45_64_grade_9_12 \\\n", + "avg 3.009663e+01 4.223971e+01 \n", + "max 9.000000e+02 1.626000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 2.227181e+06 3.125781e+06 \n", + "range 9.000000e+02 1.626000e+03 \n", + "stdev 4.965424e+01 4.571015e+01 \n", + "q1 0.000000e+00 7.000000e+00 \n", + "q3 1.900000e+01 3.900000e+01 \n", + "median 6.000000e+00 2.100000e+01 \n", + "interquartile_range 1.900000e+01 3.200000e+01 \n", + "\n", + " male_45_64_high_school male_45_64_some_college \\\n", + "avg 1.648105e+02 1.128077e+02 \n", + "max 2.084000e+03 1.628000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 1.219614e+07 8.347879e+06 \n", + "range 2.084000e+03 1.628000e+03 \n", + "stdev 1.159105e+02 8.115282e+01 \n", + "q1 6.700000e+01 4.700000e+01 \n", + "q3 1.720000e+02 1.150000e+02 \n", + "median 1.180000e+02 7.900000e+01 \n", + "interquartile_range 1.050000e+02 6.800000e+01 \n", + "\n", + " male_45_to_64 employed_pop unemployed_pop \\\n", + "avg 5.580332e+02 2.049152e+03 1.456859e+02 \n", + "max 6.993000e+03 2.894500e+04 1.607000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 4.129502e+07 1.516393e+08 1.078090e+07 \n", + "range 6.993000e+03 2.894500e+04 1.607000e+03 \n", + "stdev 3.033556e+02 1.138865e+03 1.092197e+02 \n", + "q1 3.160000e+02 1.143000e+03 6.000000e+01 \n", + "q3 5.820000e+02 2.156000e+03 1.450000e+02 \n", + "median 4.500000e+02 1.651000e+03 1.000000e+02 \n", + "interquartile_range 2.660000e+02 1.013000e+03 8.500000e+01 \n", + "\n", + " pop_in_labor_force not_in_labor_force \\\n", + "avg 2.208707e+03 1.286299e+03 \n", + "max 3.055200e+04 3.414200e+04 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 1.634465e+08 9.518743e+07 \n", + "range 3.055200e+04 3.414200e+04 \n", + "stdev 1.203354e+03 7.150048e+02 \n", + "q1 1.245000e+03 7.460000e+02 \n", + "q3 2.319000e+03 1.325000e+03 \n", + "median 1.793000e+03 1.026000e+03 \n", + "interquartile_range 1.074000e+03 5.790000e+02 \n", + "\n", + " workers_16_and_over armed_forces civilian_labor_force \\\n", + "avg 2.019454e+03 1.386930e+01 2.194838e+03 \n", + "max 2.825200e+04 2.121400e+04 3.055200e+04 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 1.494416e+08 1.026342e+06 1.624202e+08 \n", + "range 2.825200e+04 2.121400e+04 3.055200e+04 \n", + "stdev 1.129133e+03 1.616169e+02 1.192208e+03 \n", + "q1 1.115000e+03 0.000000e+00 1.235000e+03 \n", + "q3 2.115000e+03 0.000000e+00 2.300000e+03 \n", + "median 1.622000e+03 0.000000e+00 1.780000e+03 \n", + "interquartile_range 1.000000e+03 0.000000e+00 1.065000e+03 \n", + "\n", + " employed_agriculture_forestry_fishing_hunting_mining \\\n", + "avg 3.827483e+01 \n", + "max 4.197000e+03 \n", + "min 0.000000e+00 \n", + "sum 2.832376e+06 \n", + "range 4.197000e+03 \n", + "stdev 8.874869e+01 \n", + "q1 0.000000e+00 \n", + "q3 1.700000e+01 \n", + "median 0.000000e+00 \n", + "interquartile_range 1.700000e+01 \n", + "\n", + " employed_arts_entertainment_recreation_accommodation_food \\\n", + "avg 1.984437e+02 \n", + "max 5.211000e+03 \n", + "min 0.000000e+00 \n", + "sum 1.468503e+07 \n", + "range 5.211000e+03 \n", + "stdev 1.600300e+02 \n", + "q1 8.200000e+01 \n", + "q3 1.940000e+02 \n", + "median 1.330000e+02 \n", + "interquartile_range 1.120000e+02 \n", + "\n", + " employed_construction employed_education_health_social \\\n", + "avg 1.299722e+02 4.733737e+02 \n", + "max 1.950000e+03 9.127000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 9.618071e+06 3.503013e+07 \n", + "range 1.950000e+03 9.127000e+03 \n", + "stdev 1.116914e+02 3.015791e+02 \n", + "q1 4.500000e+01 2.340000e+02 \n", + "q3 1.260000e+02 4.870000e+02 \n", + "median 8.200000e+01 3.580000e+02 \n", + "interquartile_range 8.100000e+01 2.530000e+02 \n", + "\n", + " employed_finance_insurance_real_estate \\\n", + "avg 1.346475e+02 \n", + "max 2.853000e+03 \n", + "min 0.000000e+00 \n", + "sum 9.964050e+06 \n", + "range 2.853000e+03 \n", + "stdev 1.305728e+02 \n", + "q1 4.100000e+01 \n", + "q3 1.250000e+02 \n", + "median 7.800000e+01 \n", + "interquartile_range 8.400000e+01 \n", + "\n", + " employed_information employed_manufacturing \\\n", + "avg 4.315308e+01 2.104029e+02 \n", + "max 1.141000e+03 3.993000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 3.193371e+06 1.557002e+07 \n", + "range 1.141000e+03 3.993000e+03 \n", + "stdev 5.400275e+01 1.826280e+02 \n", + "q1 7.000000e+00 6.500000e+01 \n", + "q3 3.700000e+01 2.040000e+02 \n", + "median 1.900000e+01 1.290000e+02 \n", + "interquartile_range 3.000000e+01 1.390000e+02 \n", + "\n", + " employed_other_services_not_public_admin \\\n", + "avg 1.003838e+02 \n", + "max 1.175000e+03 \n", + "min 0.000000e+00 \n", + "sum 7.428501e+06 \n", + "range 1.175000e+03 \n", + "stdev 7.619403e+01 \n", + "q1 4.000000e+01 \n", + "q3 1.010000e+02 \n", + "median 6.900000e+01 \n", + "interquartile_range 6.100000e+01 \n", + "\n", + " employed_public_administration employed_retail_trade \\\n", + "avg 9.616204e+01 2.338625e+02 \n", + "max 1.816000e+03 2.808000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 7.116087e+06 1.730606e+07 \n", + "range 1.816000e+03 2.808000e+03 \n", + "stdev 9.987631e+01 1.551951e+02 \n", + "q1 2.900000e+01 1.110000e+02 \n", + "q3 8.700000e+01 2.380000e+02 \n", + "median 5.500000e+01 1.720000e+02 \n", + "interquartile_range 5.800000e+01 1.270000e+02 \n", + "\n", + " employed_science_management_admin_waste \\\n", + "avg 2.311254e+02 \n", + "max 5.115000e+03 \n", + "min 0.000000e+00 \n", + "sum 1.710351e+07 \n", + "range 5.115000e+03 \n", + "stdev 2.015002e+02 \n", + "q1 8.100000e+01 \n", + "q3 2.200000e+02 \n", + "median 1.410000e+02 \n", + "interquartile_range 1.390000e+02 \n", + "\n", + " employed_transportation_warehousing_utilities \\\n", + "avg 1.043314e+02 \n", + "max 1.465000e+03 \n", + "min 0.000000e+00 \n", + "sum 7.720629e+06 \n", + "range 1.465000e+03 \n", + "stdev 9.018655e+01 \n", + "q1 3.700000e+01 \n", + "q3 1.010000e+02 \n", + "median 6.600000e+01 \n", + "interquartile_range 6.400000e+01 \n", + "\n", + " employed_wholesale_trade occupation_management_arts \\\n", + "avg 5.501904e+01 7.665854e+02 \n", + "max 1.294000e+03 1.909700e+04 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 4.071464e+06 5.672809e+07 \n", + "range 1.294000e+03 1.909700e+04 \n", + "stdev 5.451432e+01 6.156759e+02 \n", + "q1 1.300000e+01 2.900000e+02 \n", + "q3 5.300000e+01 7.470000e+02 \n", + "median 3.100000e+01 4.950000e+02 \n", + "interquartile_range 4.000000e+01 4.570000e+02 \n", + "\n", + " occupation_natural_resources_construction_maintenance \\\n", + "avg 1.820007e+02 \n", + "max 3.973000e+03 \n", + "min 0.000000e+00 \n", + "sum 1.346823e+07 \n", + "range 3.973000e+03 \n", + "stdev 1.512020e+02 \n", + "q1 6.300000e+01 \n", + "q3 1.810000e+02 \n", + "median 1.200000e+02 \n", + "interquartile_range 1.180000e+02 \n", + "\n", + " occupation_production_transportation_material \\\n", + "avg 2.491306e+02 \n", + "max 2.495000e+03 \n", + "min 0.000000e+00 \n", + "sum 1.843592e+07 \n", + "range 2.495000e+03 \n", + "stdev 1.862018e+02 \n", + "q1 9.600000e+01 \n", + "q3 2.530000e+02 \n", + "median 1.680000e+02 \n", + "interquartile_range 1.570000e+02 \n", + "\n", + " occupation_sales_office occupation_services \\\n", + "avg 4.828023e+02 3.686331e+02 \n", + "max 6.162000e+03 3.948000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 3.572785e+07 2.727922e+07 \n", + "range 6.162000e+03 3.948000e+03 \n", + "stdev 2.988008e+02 2.366780e+02 \n", + "q1 2.430000e+02 1.860000e+02 \n", + "q3 5.010000e+02 3.740000e+02 \n", + "median 3.690000e+02 2.740000e+02 \n", + "interquartile_range 2.580000e+02 1.880000e+02 \n", + "\n", + " management_business_sci_arts_employed \\\n", + "avg 7.665854e+02 \n", + "max 1.909700e+04 \n", + "min 0.000000e+00 \n", + "sum 5.672809e+07 \n", + "range 1.909700e+04 \n", + "stdev 6.156759e+02 \n", + "q1 2.900000e+02 \n", + "q3 7.470000e+02 \n", + "median 4.950000e+02 \n", + "interquartile_range 4.570000e+02 \n", + "\n", + " sales_office_employed in_grades_1_to_4 \\\n", + "avg 4.828023e+02 2.228999e+02 \n", + "max 6.162000e+03 5.927000e+03 \n", + "min 0.000000e+00 0.000000e+00 \n", + "sum 3.572785e+07 1.649482e+07 \n", + "range 6.162000e+03 5.927000e+03 \n", + "stdev 2.988008e+02 1.687454e+02 \n", + "q1 2.430000e+02 9.700000e+01 \n", + "q3 5.010000e+02 2.240000e+02 \n", + "median 3.690000e+02 1.580000e+02 \n", + "interquartile_range 2.580000e+02 1.270000e+02 \n", + "\n", + " in_grades_5_to_8 in_grades_9_to_12 in_school \\\n", + "avg 2.253273e+02 2.322261e+02 1.116528e+03 \n", + "max 5.674000e+03 4.965000e+03 2.398900e+04 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 1.667444e+07 1.718497e+07 8.262417e+07 \n", + "range 5.674000e+03 4.965000e+03 2.398900e+04 \n", + "stdev 1.692225e+02 1.687234e+02 7.662855e+02 \n", + "q1 9.700000e+01 1.020000e+02 5.600000e+02 \n", + "q3 2.260000e+02 2.360000e+02 1.120000e+03 \n", + "median 1.610000e+02 1.650000e+02 8.330000e+02 \n", + "interquartile_range 1.290000e+02 1.340000e+02 5.600000e+02 \n", + "\n", + " in_undergrad_college speak_only_english_at_home \\\n", + "avg 2.557242e+02 None \n", + "max 1.298500e+04 None \n", + "min 0.000000e+00 None \n", + "sum 1.892385e+07 None \n", + "range 1.298500e+04 None \n", + "stdev 4.083119e+02 None \n", + "q1 8.400000e+01 None \n", + "q3 2.120000e+02 None \n", + "median 1.420000e+02 None \n", + "interquartile_range 1.280000e+02 None \n", + "\n", + " speak_spanish_at_home speak_spanish_at_home_low_english \n", + "avg None None \n", + "max None None \n", + "min None None \n", + "sum None None \n", + "range None None \n", + "stdev None None \n", + "q1 None None \n", + "q3 None None \n", + "median None None \n", + "interquartile_range None None " + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample_ds.describe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### 1.4.5. Visualization of dataset coverage" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 674 + }, + "id": "vLWOeAhn9Wf1", + "outputId": "e4e46f9f-c9e2-4eb4-cd24-9ab08be22a71" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                                    \n", + "
                                                    \n", + "
                                                    \n", + " \n", + " \n", + "
                                                    \n", + "
                                                    \n", + "
                                                    \n", + "\n", + " \n", + "\n", + "
                                                    \n", + "
                                                    \n", + " :\n", + "
                                                    \n", + " \n", + " \n", + "
                                                    \n", + "
                                                    \n", + "\n", + "
                                                    \n", + " StackTrace\n", + "
                                                      \n", + "
                                                      \n", + "
                                                      \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample_ds.geom_coverage()" + ] + } + ], + "metadata": { + "colab": { + "collapsed_sections": [], + "name": "CARTO | Data Observatory v2.0 - Access to Data.ipynb", + "provenance": [], + "toc_visible": true + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/docs/examples/templates/do_data_enrichment.ipynb b/docs/examples/templates/do_data_enrichment.ipynb new file mode 100644 index 000000000..66de45dfb --- /dev/null +++ b/docs/examples/templates/do_data_enrichment.ipynb @@ -0,0 +1,7421 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "APIsXs1LfIoI" + }, + "source": [ + "## CARTO Data Observatory - Data Enrichment\n", + "\n", + "This notebook shows how to use CARTOframes to enrich a dataframe with data from CARTO's Data Observatory. Please, visit [CARTOframes Guides](https://carto.com/developers/cartoframes/guides/) to learn more about the enrichment functionality.\n", + "\n", + "We will show CARTOframes enrichment functionality with an example in which we will quantify the number of eating places within a 5-minute isochrone for all sports POI's in Madrid downtown.\n", + "\n", + "The notebook is organized as follows:\n", + "1. [Download sports POIs](#section1)\n", + "2. [Calculate isochrones](#section2)\n", + "3. [Enrich isochrones](#section3)\n", + " - [Simple enrichment: Counting the number of POI's within isochrones](#section31)\n", + " - [Enrichment applying filters: Counting the number of eating places](#section32)\n", + " - [Brief analysis](#section33)\n", + "\n", + "**Note** for this notebook we are using the premium [dataset of Pitney Bowes POI's in Spain](https://carto.com/spatial-data-catalog/browser/dataset/pb_points_of_i_94bda91b/)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Z7-NfDHvhgRc" + }, + "source": [ + "### Setup" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Import packages" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 72 + }, + "id": "tamaCNqjlJ3u", + "outputId": "12fefed4-74bc-4ab2-9f35-9b4493db346c" + }, + "outputs": [], + "source": [ + "import geopandas as gpd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "from cartoframes.auth import set_default_credentials\n", + "from cartoframes.data.observatory import *\n", + "from cartoframes.data.services import Isolines\n", + "from cartoframes.viz import *\n", + "\n", + "sns.set_style('whitegrid')\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Set CARTO default credentials\n", + "\n", + "In order to be able to use the Data Observatory via CARTOframes, you need to set your CARTO account credentials first.\n", + "\n", + "Please, visit the [Authentication guide](https://carto.com/developers/cartoframes/guides/Authentication/) for further detail." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('creds.json')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note about credentials**\n", + "\n", + "For security reasons, we recommend storing your credentials in an external file to prevent publishing them by accident when sharing your notebooks. You can get more information in the section _Setting your credentials_ of the [Authentication guide](https://carto.com/developers/cartoframes/guides/Authentication/)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "dq4_-q83lchv" + }, + "source": [ + "\n", + "### 1. Download sports POIs\n", + "\n", + "We need to start with the initial DataFrame that we would like to enrich. Normally, this initial DataFrame contains your own data that you later enrich with data from the Data Observatory. In this case, we will download all sports POI's and use it as our initial DataFrame.\n", + "\n", + "We first check that we are subscribed to PB POIs dataset in Spain and download the sports POI's within a bounding box covering Madrid downtown. You can calculate your bounding box of interest using [bboxfinder](http://bboxfinder.com).\n", + "\n", + "For a step by step description on how to discover and download premium datasets, take a look at templates: Data Discovery and Access Premium Data." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 52 + }, + "id": "nugq6FQJlYFy", + "outputId": "3a5f3fe1-5a5f-4f43-fd1c-866104998b9e" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                      \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                      slugnamedescriptioncategory_idcountry_iddata_source_idprovider_idgeography_namegeography_descriptiontemporal_aggregationtime_coverageupdate_frequencyis_public_datalangversioncategory_nameprovider_namegeography_idid
                                                      0ags_sociodemogr_a7e14220Sociodemographics - United States of America (...Census and ACS sociodemographic data estimated...demographicsusasociodemographicsagsCensus Block Group - United States of AmericaNoneyearlyNoneyearlyFalseeng2020DemographicsApplied Geographic Solutionscarto-do.ags.geography_usa_blockgroup_2015carto-do.ags.demographics_sociodemographics_us...
                                                      1ags_retailpoten_aaf25a8cRetail Potential - United States of America (C...The retail potential database consists of aver...demographicsusaretailpotentialagsCensus Block Group - United States of America ...Shoreline clipped TIGER/Line boundaries. More ...yearly[2018-01-01, 2019-01-01)yearlyFalseeng2019DemographicsApplied Geographic Solutionscarto-do-public-data.carto.geography_usa_block...carto-do.ags.demographics_retailpotential_usa_...
                                                      2pb_consumer_po_62cddc04Points Of Interest - Consumer - United States ...Consumer Point of interest database per catego...points_of_interestusaconsumer_points_of_interestpitney_bowesLatitude/Longitude - United States of AmericaLocation of Points of InterestmonthlyNonemonthlyFalseengv1Points of InterestPitney Bowescarto-do.pitney_bowes.geography_usa_latlon_v1carto-do.pitney_bowes.pointsofinterest_consume...
                                                      3ags_sociodemogr_f510a947Sociodemographics - United States of America (...Census and ACS sociodemographic data estimated...demographicsusasociodemographicsagsCensus Block Group - United States of America ...Shoreline clipped TIGER/Line boundaries. More ...yearly[2019-01-01, 2020-01-01)yearlyFalseeng2019DemographicsApplied Geographic Solutionscarto-do-public-data.carto.geography_usa_block...carto-do.ags.demographics_sociodemographics_us...
                                                      4ags_consumer_sp_dbabddfbConsumer Spending - United States of America (...The Consumer Expenditure database consists of ...demographicsusaconsumer_spendingagsCensus Block Group - United States of AmericaNoneyearlyNoneyearlyFalseeng2020DemographicsApplied Geographic Solutionscarto-do.ags.geography_usa_blockgroup_2015carto-do.ags.demographics_consumerspending_usa...
                                                      5spa_geosocial_s_d5dc42aeGeosocial Segments - United States of America ...By analysing feeds from Twitter, Instagram, Me...behavioralusageosocial_segmentsspatial_aiCensus Block Group - United States of America ...Shoreline clipped TIGER/Line boundaries. More ...quarterly[2020-01-01, 2020-04-01)quarterlyFalseengv1BehavioralSpatial.aicarto-do-public-data.carto.geography_usa_block...carto-do.spatial_ai.behavioral_geosocialsegmen...
                                                      6mc_geographic__7980c5c3Geographic Insights - United States of America...Geographic Insights validate, evaluate and ben...financialusageographic_insightsmastercardCensus Block Group - United States of America ...Shoreline clipped TIGER/Line boundaries. More ...monthly[2019-01-01, 2020-01-01)monthlyFalseengv1FinancialMastercardcarto-do-public-data.carto.geography_usa_block...carto-do.mastercard.financial_geographicinsigh...
                                                      7pb_points_of_i_94bda91bPoints Of Interest - Spain (Latitude/Longitude)Point of interest database per categoriespoints_of_interestesppoints_of_interestpitney_bowesLatitude/Longitude - SpainLocation of Points of InterestmonthlyNonemonthlyFalseengv1Points of InterestPitney Bowescarto-do.pitney_bowes.geography_esp_latlon_v1carto-do.pitney_bowes.pointsofinterest_pointso...
                                                      \n", + "
                                                      " + ], + "text/plain": [ + " slug \\\n", + "0 ags_sociodemogr_a7e14220 \n", + "1 ags_retailpoten_aaf25a8c \n", + "2 pb_consumer_po_62cddc04 \n", + "3 ags_sociodemogr_f510a947 \n", + "4 ags_consumer_sp_dbabddfb \n", + "5 spa_geosocial_s_d5dc42ae \n", + "6 mc_geographic__7980c5c3 \n", + "7 pb_points_of_i_94bda91b \n", + "\n", + " name \\\n", + "0 Sociodemographics - United States of America (... \n", + "1 Retail Potential - United States of America (C... \n", + "2 Points Of Interest - Consumer - United States ... \n", + "3 Sociodemographics - United States of America (... \n", + "4 Consumer Spending - United States of America (... \n", + "5 Geosocial Segments - United States of America ... \n", + "6 Geographic Insights - United States of America... \n", + "7 Points Of Interest - Spain (Latitude/Longitude) \n", + "\n", + " description category_id \\\n", + "0 Census and ACS sociodemographic data estimated... demographics \n", + "1 The retail potential database consists of aver... demographics \n", + "2 Consumer Point of interest database per catego... points_of_interest \n", + "3 Census and ACS sociodemographic data estimated... demographics \n", + "4 The Consumer Expenditure database consists of ... demographics \n", + "5 By analysing feeds from Twitter, Instagram, Me... behavioral \n", + "6 Geographic Insights validate, evaluate and ben... financial \n", + "7 Point of interest database per categories points_of_interest \n", + "\n", + " country_id data_source_id provider_id \\\n", + "0 usa sociodemographics ags \n", + "1 usa retailpotential ags \n", + "2 usa consumer_points_of_interest pitney_bowes \n", + "3 usa sociodemographics ags \n", + "4 usa consumer_spending ags \n", + "5 usa geosocial_segments spatial_ai \n", + "6 usa geographic_insights mastercard \n", + "7 esp points_of_interest pitney_bowes \n", + "\n", + " geography_name \\\n", + "0 Census Block Group - United States of America \n", + "1 Census Block Group - United States of America ... \n", + "2 Latitude/Longitude - United States of America \n", + "3 Census Block Group - United States of America ... \n", + "4 Census Block Group - United States of America \n", + "5 Census Block Group - United States of America ... \n", + "6 Census Block Group - United States of America ... \n", + "7 Latitude/Longitude - Spain \n", + "\n", + " geography_description temporal_aggregation \\\n", + "0 None yearly \n", + "1 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "2 Location of Points of Interest monthly \n", + "3 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "4 None yearly \n", + "5 Shoreline clipped TIGER/Line boundaries. More ... quarterly \n", + "6 Shoreline clipped TIGER/Line boundaries. More ... monthly \n", + "7 Location of Points of Interest monthly \n", + "\n", + " time_coverage update_frequency is_public_data lang version \\\n", + "0 None yearly False eng 2020 \n", + "1 [2018-01-01, 2019-01-01) yearly False eng 2019 \n", + "2 None monthly False eng v1 \n", + "3 [2019-01-01, 2020-01-01) yearly False eng 2019 \n", + "4 None yearly False eng 2020 \n", + "5 [2020-01-01, 2020-04-01) quarterly False eng v1 \n", + "6 [2019-01-01, 2020-01-01) monthly False eng v1 \n", + "7 None monthly False eng v1 \n", + "\n", + " category_name provider_name \\\n", + "0 Demographics Applied Geographic Solutions \n", + "1 Demographics Applied Geographic Solutions \n", + "2 Points of Interest Pitney Bowes \n", + "3 Demographics Applied Geographic Solutions \n", + "4 Demographics Applied Geographic Solutions \n", + "5 Behavioral Spatial.ai \n", + "6 Financial Mastercard \n", + "7 Points of Interest Pitney Bowes \n", + "\n", + " geography_id \\\n", + "0 carto-do.ags.geography_usa_blockgroup_2015 \n", + "1 carto-do-public-data.carto.geography_usa_block... \n", + "2 carto-do.pitney_bowes.geography_usa_latlon_v1 \n", + "3 carto-do-public-data.carto.geography_usa_block... \n", + "4 carto-do.ags.geography_usa_blockgroup_2015 \n", + "5 carto-do-public-data.carto.geography_usa_block... \n", + "6 carto-do-public-data.carto.geography_usa_block... \n", + "7 carto-do.pitney_bowes.geography_esp_latlon_v1 \n", + "\n", + " id \n", + "0 carto-do.ags.demographics_sociodemographics_us... \n", + "1 carto-do.ags.demographics_retailpotential_usa_... \n", + "2 carto-do.pitney_bowes.pointsofinterest_consume... \n", + "3 carto-do.ags.demographics_sociodemographics_us... \n", + "4 carto-do.ags.demographics_consumerspending_usa... \n", + "5 carto-do.spatial_ai.behavioral_geosocialsegmen... \n", + "6 carto-do.mastercard.financial_geographicinsigh... \n", + "7 carto-do.pitney_bowes.pointsofinterest_pointso... " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Catalog().subscriptions().datasets.to_dataframe()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "id": "NB78cM-AmVn7" + }, + "outputs": [], + "source": [ + "pois_ds = Dataset.get('pb_points_of_i_94bda91b')" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                      \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                      HTTPISO3NAMESIC1SIC2SIC8CLASSEMAILGROUPPB_ID...GLOBAL_ULTIMATE_AREANAME1GLOBAL_ULTIMATE_AREANAME3GLOBAL_ULTIMATE_INDICATORDOMESTIC_ULTIMATE_POSTCODEDOMESTIC_ULTIMATE_AREANAME1DOMESTIC_ULTIMATE_AREANAME3GLOBAL_ULTIMATE_BUSINESS_NAMEGLOBAL_ULTIMATE_STREET_ADDRESSDOMESTIC_ULTIMATE_BUSINESS_NAMEDOMESTIC_ULTIMATE_STREET_ADDRESS
                                                      0NoneESPEL SANTONone655250440000DRINKING PLACESNoneSHOPPING1173764019...NoneNoneNoneNoneNoneNoneNoneNoneNoneCARRETERA DE CADIZ 206
                                                      1NoneESPLA FUENTENone655250440000DRINKING PLACESNoneSHOPPING1432760662...NoneNoneNoneNoneNoneNoneNoneNoneNonePASEO DE MIRAMON 185
                                                      2NoneESPSANT FRANCESC XAVIERNone654150440000DRINKING PLACESNoneSHOPPING1170864171...NoneNoneNoneNoneNoneNoneNoneNoneNonePASEO CASTELLANA, 120 - IZ BJ
                                                      3NoneESPRUFINO BLANCONone655250440000DRINKING PLACESNoneSHOPPING1171185920...NoneNoneNoneNoneNoneNoneNoneNoneNoneAVENIDA DEL CARMEN (ED EL FARO), BL 3 LOC
                                                      4NoneESPCASA CONVALESCÈNCIANoneNone50440000DRINKING PLACESNoneSHOPPING1173842007...NoneNoneNoneNoneNoneNoneNoneNoneNoneCARRETERA PALAU (KM 1)
                                                      5NoneESPROSALÍA DE CASTRONoneNone50440000DRINKING PLACESNonePERSONAL SERVICES1505524737...NoneNoneNoneNoneNoneNoneNoneNoneNoneCALLE MIGUEL VAZQUEZ DELGADO 71
                                                      6NoneESPCENTRO DE FORMACIÓN Y EMPLEONoneNone50440000DRINKING PLACESNonePERSONAL SERVICES1173898606...NoneNoneNoneNoneNoneNoneNoneNoneNoneCALLE ANTIC CAMI DE XIMELIS 19
                                                      7NoneESPEFA EL SOTONoneNone50440000DRINKING PLACESNonePERSONAL SERVICES1293842742...NoneNoneNoneNoneNoneNoneNoneNoneNoneAVENIDA GENERAL PERON (ED MASTER'S I), 38 - PI...
                                                      8NoneESPO CASTIÑEIRONoneNone50440000DRINKING PLACESNonePERSONAL SERVICES1172241073...NoneNoneNoneNoneNoneNoneNoneNoneNoneCALLE BRUC DEL MIG 8
                                                      9NoneESPCPEB DE CABAÑAQUINTANoneNone50440000DRINKING PLACESNonePERSONAL SERVICES1171203786...NoneNoneNoneNoneNoneNoneNoneNoneNoneCALLE MAYOR, 32 - 1 A
                                                      \n", + "

                                                      10 rows × 74 columns

                                                      \n", + "
                                                      " + ], + "text/plain": [ + " HTTP ISO3 NAME SIC1 SIC2 SIC8 \\\n", + "0 None ESP EL SANTO None 6552 50440000 \n", + "1 None ESP LA FUENTE None 6552 50440000 \n", + "2 None ESP SANT FRANCESC XAVIER None 6541 50440000 \n", + "3 None ESP RUFINO BLANCO None 6552 50440000 \n", + "4 None ESP CASA CONVALESCÈNCIA None None 50440000 \n", + "5 None ESP ROSALÍA DE CASTRO None None 50440000 \n", + "6 None ESP CENTRO DE FORMACIÓN Y EMPLEO None None 50440000 \n", + "7 None ESP EFA EL SOTO None None 50440000 \n", + "8 None ESP O CASTIÑEIRO None None 50440000 \n", + "9 None ESP CPEB DE CABAÑAQUINTA None None 50440000 \n", + "\n", + " CLASS EMAIL GROUP PB_ID ... \\\n", + "0 DRINKING PLACES None SHOPPING 1173764019 ... \n", + "1 DRINKING PLACES None SHOPPING 1432760662 ... \n", + "2 DRINKING PLACES None SHOPPING 1170864171 ... \n", + "3 DRINKING PLACES None SHOPPING 1171185920 ... \n", + "4 DRINKING PLACES None SHOPPING 1173842007 ... \n", + "5 DRINKING PLACES None PERSONAL SERVICES 1505524737 ... \n", + "6 DRINKING PLACES None PERSONAL SERVICES 1173898606 ... \n", + "7 DRINKING PLACES None PERSONAL SERVICES 1293842742 ... \n", + "8 DRINKING PLACES None PERSONAL SERVICES 1172241073 ... \n", + "9 DRINKING PLACES None PERSONAL SERVICES 1171203786 ... \n", + "\n", + " GLOBAL_ULTIMATE_AREANAME1 GLOBAL_ULTIMATE_AREANAME3 \\\n", + "0 None None \n", + "1 None None \n", + "2 None None \n", + "3 None None \n", + "4 None None \n", + "5 None None \n", + "6 None None \n", + "7 None None \n", + "8 None None \n", + "9 None None \n", + "\n", + " GLOBAL_ULTIMATE_INDICATOR DOMESTIC_ULTIMATE_POSTCODE \\\n", + "0 None None \n", + "1 None None \n", + "2 None None \n", + "3 None None \n", + "4 None None \n", + "5 None None \n", + "6 None None \n", + "7 None None \n", + "8 None None \n", + "9 None None \n", + "\n", + " DOMESTIC_ULTIMATE_AREANAME1 DOMESTIC_ULTIMATE_AREANAME3 \\\n", + "0 None None \n", + "1 None None \n", + "2 None None \n", + "3 None None \n", + "4 None None \n", + "5 None None \n", + "6 None None \n", + "7 None None \n", + "8 None None \n", + "9 None None \n", + "\n", + " GLOBAL_ULTIMATE_BUSINESS_NAME GLOBAL_ULTIMATE_STREET_ADDRESS \\\n", + "0 None None \n", + "1 None None \n", + "2 None None \n", + "3 None None \n", + "4 None None \n", + "5 None None \n", + "6 None None \n", + "7 None None \n", + "8 None None \n", + "9 None None \n", + "\n", + " DOMESTIC_ULTIMATE_BUSINESS_NAME \\\n", + "0 None \n", + "1 None \n", + "2 None \n", + "3 None \n", + "4 None \n", + "5 None \n", + "6 None \n", + "7 None \n", + "8 None \n", + "9 None \n", + "\n", + " DOMESTIC_ULTIMATE_STREET_ADDRESS \n", + "0 CARRETERA DE CADIZ 206 \n", + "1 PASEO DE MIRAMON 185 \n", + "2 PASEO CASTELLANA, 120 - IZ BJ \n", + "3 AVENIDA DEL CARMEN (ED EL FARO), BL 3 LOC \n", + "4 CARRETERA PALAU (KM 1) \n", + "5 CALLE MIGUEL VAZQUEZ DELGADO 71 \n", + "6 CALLE ANTIC CAMI DE XIMELIS 19 \n", + "7 AVENIDA GENERAL PERON (ED MASTER'S I), 38 - PI... \n", + "8 CALLE BRUC DEL MIG 8 \n", + "9 CALLE MAYOR, 32 - 1 A \n", + "\n", + "[10 rows x 74 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pois_ds.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 274 + }, + "id": "Kh_6oKT1mAnC", + "outputId": "2ef4efaf-ffcd-42b4-d5cb-08f6213737a6" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                      \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                      NAMEgeoiddo_dateBRANDNAMEPB_IDTRADE_NAMEFRANCHISE_NAMEISO3AREANAME4AREANAME3...GLOBAL_ULTIMATE_STREET_ADDRESSGLOBAL_ULTIMATE_AREANAME3GLOBAL_ULTIMATE_AREANAME1GLOBAL_ULTIMATE_COUNTRYGLOBAL_ULTIMATE_POSTCODEFAMILY_MEMBERSHIERARCHY_CODETICKER_SYMBOLEXCHANGE_NAMEgeom
                                                      0ACQUAPLAYA SPA2204263540#-3.7095628#40.42263942020-04-01NaN2204263540NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-3.70956 40.42264)
                                                      1ALAMBIQUE TIENDA Y ESCUELA DE COCINA2157202351#-3.7109121#40.41982042019-12-01NaN2157202351NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-3.71091 40.41982)
                                                      2ALCÁZAR NIGHT2137823204#-3.69905#40.41782019-12-01NaN2137823204NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-3.69905 40.41780)
                                                      3ALICIA PRODUCE2181768913#-3.7112#40.424042020-02-01NaN2181768913NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-3.71120 40.42404)
                                                      4ALMA PILATES2197072938#-3.7033635#40.41414772020-04-01NaN2197072938NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-3.70336 40.41415)
                                                      \n", + "

                                                      5 rows × 74 columns

                                                      \n", + "
                                                      " + ], + "text/plain": [ + " NAME geoid \\\n", + "0 ACQUAPLAYA SPA 2204263540#-3.7095628#40.4226394 \n", + "1 ALAMBIQUE TIENDA Y ESCUELA DE COCINA 2157202351#-3.7109121#40.4198204 \n", + "2 ALCÁZAR NIGHT 2137823204#-3.69905#40.4178 \n", + "3 ALICIA PRODUCE 2181768913#-3.7112#40.42404 \n", + "4 ALMA PILATES 2197072938#-3.7033635#40.4141477 \n", + "\n", + " do_date BRANDNAME PB_ID TRADE_NAME FRANCHISE_NAME ISO3 \\\n", + "0 2020-04-01 NaN 2204263540 NaN NaN ESP \n", + "1 2019-12-01 NaN 2157202351 NaN NaN ESP \n", + "2 2019-12-01 NaN 2137823204 NaN NaN ESP \n", + "3 2020-02-01 NaN 2181768913 NaN NaN ESP \n", + "4 2020-04-01 NaN 2197072938 NaN NaN ESP \n", + "\n", + " AREANAME4 AREANAME3 ... GLOBAL_ULTIMATE_STREET_ADDRESS \\\n", + "0 NaN MADRID ... NaN \n", + "1 NaN MADRID ... NaN \n", + "2 NaN MADRID ... NaN \n", + "3 NaN MADRID ... NaN \n", + "4 NaN MADRID ... NaN \n", + "\n", + " GLOBAL_ULTIMATE_AREANAME3 GLOBAL_ULTIMATE_AREANAME1 \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " GLOBAL_ULTIMATE_COUNTRY GLOBAL_ULTIMATE_POSTCODE FAMILY_MEMBERS \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " HIERARCHY_CODE TICKER_SYMBOL EXCHANGE_NAME geom \n", + "0 NaN NaN NaN POINT (-3.70956 40.42264) \n", + "1 NaN NaN NaN POINT (-3.71091 40.41982) \n", + "2 NaN NaN NaN POINT (-3.69905 40.41780) \n", + "3 NaN NaN NaN POINT (-3.71120 40.42404) \n", + "4 NaN NaN NaN POINT (-3.70336 40.41415) \n", + "\n", + "[5 rows x 74 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sql_query = \"\"\"\n", + " SELECT * except(do_label) FROM $dataset$ \n", + " WHERE TRADE_DIVISION = 'DIVISION M. - SPORTS' \n", + " AND ST_IntersectsBox(geom, -3.716398,40.407437,-3.690477,40.425277)\n", + "\"\"\"\n", + "\n", + "pois_df = pois_ds.to_dataframe(sql_query=sql_query)\n", + "\n", + "# To keep only the latest version of POI's\n", + "pois_df = pois_df.sort_values(['NAME', 'do_date']).groupby('NAME').first().reset_index()\n", + "\n", + "pois_df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "P-au_zH5r2BY" + }, + "source": [ + "\n", + "### 2. Calculate isochrones\n", + "\n", + "For this analysis, we are interested in knowing the number of eating places reachable within 5 minutes for every sport POI. We'll now proceed to calculate 5-minute isochrones for every POI, which represent the area reachable within 5 minutes.\n", + "\n", + "You can read more regarding isochrones on [CARTOframes Guides](https://carto.com/developers/cartoframes/guides/)." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 34 + }, + "id": "8UHM-TzmnmJL", + "outputId": "bee85084-45b2-41df-e0b5-41c2fcbdb7aa" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Success! Isolines created correctly\n" + ] + } + ], + "source": [ + "iso_service = Isolines()\n", + "isochrones_gdf, isochrones_metadata = iso_service.isochrones(pois_df, [300], mode='walk', geom_col='geom')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 197 + }, + "id": "PwpFB32KaWPo", + "outputId": "870b06e0-e555-464a-9d25-59aff9a9c3b6" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                      \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                      source_iddata_rangethe_geom
                                                      00300MULTIPOLYGON (((-3.71192 40.42488, -3.71149 40...
                                                      11300MULTIPOLYGON (((-3.71346 40.42093, -3.71321 40...
                                                      22300MULTIPOLYGON (((-3.70248 40.41750, -3.70222 40...
                                                      33300MULTIPOLYGON (((-3.71346 40.42437, -3.71338 40...
                                                      44300MULTIPOLYGON (((-3.70660 40.41544, -3.70634 40...
                                                      \n", + "
                                                      " + ], + "text/plain": [ + " source_id data_range the_geom\n", + "0 0 300 MULTIPOLYGON (((-3.71192 40.42488, -3.71149 40...\n", + "1 1 300 MULTIPOLYGON (((-3.71346 40.42093, -3.71321 40...\n", + "2 2 300 MULTIPOLYGON (((-3.70248 40.41750, -3.70222 40...\n", + "3 3 300 MULTIPOLYGON (((-3.71346 40.42437, -3.71338 40...\n", + "4 4 300 MULTIPOLYGON (((-3.70660 40.41544, -3.70634 40..." + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "isochrones_gdf.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 467 + }, + "id": "5vG0-LbbnmWa", + "outputId": "9d797b51-7740-49bc-880d-178969e9a4d4" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                      \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                      NAMEgeoiddo_dateBRANDNAMEPB_IDTRADE_NAMEFRANCHISE_NAMEISO3AREANAME4AREANAME3...GLOBAL_ULTIMATE_AREANAME3GLOBAL_ULTIMATE_AREANAME1GLOBAL_ULTIMATE_COUNTRYGLOBAL_ULTIMATE_POSTCODEFAMILY_MEMBERSHIERARCHY_CODETICKER_SYMBOLEXCHANGE_NAMEgeomisochrone
                                                      0ACQUAPLAYA SPA2204263540#-3.7095628#40.42263942020-04-01NaN2204263540NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNNaNNaNPOINT (-3.70956 40.42264)MULTIPOLYGON (((-3.71192 40.42488, -3.71149 40...
                                                      1ALAMBIQUE TIENDA Y ESCUELA DE COCINA2157202351#-3.7109121#40.41982042019-12-01NaN2157202351NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNNaNNaNPOINT (-3.71091 40.41982)MULTIPOLYGON (((-3.71346 40.42093, -3.71321 40...
                                                      2ALCÁZAR NIGHT2137823204#-3.69905#40.41782019-12-01NaN2137823204NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNNaNNaNPOINT (-3.69905 40.41780)MULTIPOLYGON (((-3.70248 40.41750, -3.70222 40...
                                                      3ALICIA PRODUCE2181768913#-3.7112#40.424042020-02-01NaN2181768913NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNNaNNaNPOINT (-3.71120 40.42404)MULTIPOLYGON (((-3.71346 40.42437, -3.71338 40...
                                                      4ALMA PILATES2197072938#-3.7033635#40.41414772020-04-01NaN2197072938NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNNaNNaNPOINT (-3.70336 40.41415)MULTIPOLYGON (((-3.70660 40.41544, -3.70634 40...
                                                      \n", + "

                                                      5 rows × 75 columns

                                                      \n", + "
                                                      " + ], + "text/plain": [ + " NAME geoid \\\n", + "0 ACQUAPLAYA SPA 2204263540#-3.7095628#40.4226394 \n", + "1 ALAMBIQUE TIENDA Y ESCUELA DE COCINA 2157202351#-3.7109121#40.4198204 \n", + "2 ALCÁZAR NIGHT 2137823204#-3.69905#40.4178 \n", + "3 ALICIA PRODUCE 2181768913#-3.7112#40.42404 \n", + "4 ALMA PILATES 2197072938#-3.7033635#40.4141477 \n", + "\n", + " do_date BRANDNAME PB_ID TRADE_NAME FRANCHISE_NAME ISO3 \\\n", + "0 2020-04-01 NaN 2204263540 NaN NaN ESP \n", + "1 2019-12-01 NaN 2157202351 NaN NaN ESP \n", + "2 2019-12-01 NaN 2137823204 NaN NaN ESP \n", + "3 2020-02-01 NaN 2181768913 NaN NaN ESP \n", + "4 2020-04-01 NaN 2197072938 NaN NaN ESP \n", + "\n", + " AREANAME4 AREANAME3 ... GLOBAL_ULTIMATE_AREANAME3 \\\n", + "0 NaN MADRID ... NaN \n", + "1 NaN MADRID ... NaN \n", + "2 NaN MADRID ... NaN \n", + "3 NaN MADRID ... NaN \n", + "4 NaN MADRID ... NaN \n", + "\n", + " GLOBAL_ULTIMATE_AREANAME1 GLOBAL_ULTIMATE_COUNTRY GLOBAL_ULTIMATE_POSTCODE \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " FAMILY_MEMBERS HIERARCHY_CODE TICKER_SYMBOL EXCHANGE_NAME \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " geom \\\n", + "0 POINT (-3.70956 40.42264) \n", + "1 POINT (-3.71091 40.41982) \n", + "2 POINT (-3.69905 40.41780) \n", + "3 POINT (-3.71120 40.42404) \n", + "4 POINT (-3.70336 40.41415) \n", + "\n", + " isochrone \n", + "0 MULTIPOLYGON (((-3.71192 40.42488, -3.71149 40... \n", + "1 MULTIPOLYGON (((-3.71346 40.42093, -3.71321 40... \n", + "2 MULTIPOLYGON (((-3.70248 40.41750, -3.70222 40... \n", + "3 MULTIPOLYGON (((-3.71346 40.42437, -3.71338 40... \n", + "4 MULTIPOLYGON (((-3.70660 40.41544, -3.70634 40... \n", + "\n", + "[5 rows x 75 columns]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pois_df['isochrone'] = isochrones_gdf.sort_values('source_id')['the_geom'].values\n", + "pois_df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Visualize isochrones" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 674 + }, + "id": "syg5-YSopMDE", + "outputId": "2c86f83f-78c6-4cae-a57e-029d8c2a24fb" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                                      \n", + "
                                                      \n", + "
                                                      \n", + " \n", + " \n", + "
                                                      \n", + "
                                                      \n", + "
                                                      \n", + "\n", + " \n", + "\n", + "
                                                      \n", + "
                                                      \n", + " :\n", + "
                                                      \n", + " \n", + " \n", + "
                                                      \n", + "
                                                      \n", + "\n", + "
                                                      \n", + " StackTrace\n", + "
                                                        \n", + "
                                                        \n", + "
                                                        \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Map([Layer(pois_df, geom_col='geom'),\n", + " Layer(pois_df, geom_col='isochrone', style=basic_style(opacity=0.1))])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "I41LlwWLsPjc" + }, + "source": [ + "\n", + "### 3. Enrich isochrones" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "AMj-EbULsU9U" + }, + "source": [ + "We will now proceed to enrich our DataFrame. \n", + "\n", + "For enriching datasets, we use the Enrichment class. Please, visit [CARTOframes Guides](https://carto.com/developers/cartoframes/guides/) to learn more." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "id": "CC_KNhQeIDhk" + }, + "outputs": [], + "source": [ + "enrichment = Enrichment()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "VNpTVV1fsrcB" + }, + "source": [ + "\n", + "#### 3.1 Simple enrichment: Counting the number of POI's within isochrones\n", + "\n", + "We will start by simply counting the number of POI's within each isochrone. This will allow us to measure how busy the area around each sport POI is.\n", + "\n", + "In order to do this, we will use the Enrichment function `enrich_polygons()` for which we can select any variable, because we are only interested in counting POIs. That is why we selected the variable `CLASS_517d6003` that we will use later. Remember you can access the dataset variables doing `pois_ds.variables.to_dataframe()`.\n", + "\n", + "**Note** that we need to specify the name of the geometry column (`geom_col`) because we are working with a DataFrame instead of a GeoDataFrame." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "id": "Fz16KW7AIDvt" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                        \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                        NAMEgeoiddo_dateBRANDNAMEPB_IDTRADE_NAMEFRANCHISE_NAMEISO3AREANAME4AREANAME3...GLOBAL_ULTIMATE_AREANAME1GLOBAL_ULTIMATE_COUNTRYGLOBAL_ULTIMATE_POSTCODEFAMILY_MEMBERSHIERARCHY_CODETICKER_SYMBOLEXCHANGE_NAMEgeomisochronen_pois
                                                        0ACQUAPLAYA SPA2204263540#-3.7095628#40.42263942020-04-01NaN2204263540NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNNaNPOINT (-3.70956 40.42264)MULTIPOLYGON (((-3.71192 40.42488, -3.71149 40...31977
                                                        1ALAMBIQUE TIENDA Y ESCUELA DE COCINA2157202351#-3.7109121#40.41982042019-12-01NaN2157202351NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNNaNPOINT (-3.71091 40.41982)MULTIPOLYGON (((-3.71346 40.42093, -3.71321 40...10131
                                                        2ALCÁZAR NIGHT2137823204#-3.69905#40.41782019-12-01NaN2137823204NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNNaNPOINT (-3.69905 40.41780)MULTIPOLYGON (((-3.70248 40.41750, -3.70222 40...19947
                                                        3ALICIA PRODUCE2181768913#-3.7112#40.424042020-02-01NaN2181768913NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNNaNPOINT (-3.71120 40.42404)MULTIPOLYGON (((-3.71346 40.42437, -3.71338 40...24480
                                                        4ALMA PILATES2197072938#-3.7033635#40.41414772020-04-01NaN2197072938NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNNaNPOINT (-3.70336 40.41415)MULTIPOLYGON (((-3.70660 40.41544, -3.70634 40...30348
                                                        \n", + "

                                                        5 rows × 76 columns

                                                        \n", + "
                                                        " + ], + "text/plain": [ + " NAME geoid \\\n", + "0 ACQUAPLAYA SPA 2204263540#-3.7095628#40.4226394 \n", + "1 ALAMBIQUE TIENDA Y ESCUELA DE COCINA 2157202351#-3.7109121#40.4198204 \n", + "2 ALCÁZAR NIGHT 2137823204#-3.69905#40.4178 \n", + "3 ALICIA PRODUCE 2181768913#-3.7112#40.42404 \n", + "4 ALMA PILATES 2197072938#-3.7033635#40.4141477 \n", + "\n", + " do_date BRANDNAME PB_ID TRADE_NAME FRANCHISE_NAME ISO3 \\\n", + "0 2020-04-01 NaN 2204263540 NaN NaN ESP \n", + "1 2019-12-01 NaN 2157202351 NaN NaN ESP \n", + "2 2019-12-01 NaN 2137823204 NaN NaN ESP \n", + "3 2020-02-01 NaN 2181768913 NaN NaN ESP \n", + "4 2020-04-01 NaN 2197072938 NaN NaN ESP \n", + "\n", + " AREANAME4 AREANAME3 ... GLOBAL_ULTIMATE_AREANAME1 GLOBAL_ULTIMATE_COUNTRY \\\n", + "0 NaN MADRID ... NaN NaN \n", + "1 NaN MADRID ... NaN NaN \n", + "2 NaN MADRID ... NaN NaN \n", + "3 NaN MADRID ... NaN NaN \n", + "4 NaN MADRID ... NaN NaN \n", + "\n", + " GLOBAL_ULTIMATE_POSTCODE FAMILY_MEMBERS HIERARCHY_CODE TICKER_SYMBOL \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " EXCHANGE_NAME geom \\\n", + "0 NaN POINT (-3.70956 40.42264) \n", + "1 NaN POINT (-3.71091 40.41982) \n", + "2 NaN POINT (-3.69905 40.41780) \n", + "3 NaN POINT (-3.71120 40.42404) \n", + "4 NaN POINT (-3.70336 40.41415) \n", + "\n", + " isochrone n_pois \n", + "0 MULTIPOLYGON (((-3.71192 40.42488, -3.71149 40... 31977 \n", + "1 MULTIPOLYGON (((-3.71346 40.42093, -3.71321 40... 10131 \n", + "2 MULTIPOLYGON (((-3.70248 40.41750, -3.70222 40... 19947 \n", + "3 MULTIPOLYGON (((-3.71346 40.42437, -3.71338 40... 24480 \n", + "4 MULTIPOLYGON (((-3.70660 40.41544, -3.70634 40... 30348 \n", + "\n", + "[5 rows x 76 columns]" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Here we can use any variable because we're only interested in counts\n", + "pois_df = enrichment.enrich_polygons(\n", + " pois_df,\n", + " variables=['CLASS_517d6003'],\n", + " aggregation='COUNT',\n", + " geom_col='isochrone'\n", + ")\n", + "\n", + "# We rename the column name to give it a more descriptive name\n", + "pois_df.rename(columns={'CLASS_y':'n_pois'}, inplace=True)\n", + "pois_df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Visualize enrichment" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 674 + }, + "id": "Oy0hEIIrtPVx", + "outputId": "48ec1d10-e24a-4872-c40c-bdc91ca3bd95" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                                        \n", + "
                                                        \n", + "
                                                        \n", + " \n", + " \n", + "
                                                        \n", + "
                                                        \n", + " \n", + "\n", + "
                                                        \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                        \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                        \n", + " \n", + " \n", + "
                                                        \n", + "
                                                        \n", + "
                                                        \n", + "
                                                        \n", + " \n", + "
                                                        \n", + "
                                                        \n", + "
                                                        \n", + "\n", + " \n", + "\n", + "
                                                        \n", + "
                                                        \n", + " :\n", + "
                                                        \n", + " \n", + " \n", + "
                                                        \n", + "
                                                        \n", + "\n", + "
                                                        \n", + " StackTrace\n", + "
                                                          \n", + "
                                                          \n", + "
                                                          \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Map(Layer(pois_df, geom_col='geom', \n", + " style=size_continuous_style('n_pois'),\n", + " legends=size_continuous_legend('# POIs'),\n", + " popup_hover=[popup_element('NAME', 'Name'), \n", + " popup_element('n_pois', 'Number of POIs')]))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ekX7WOwasv4R" + }, + "source": [ + "\n", + "#### 3.2 Enrichment applying filters: Counting the number of eating places\n", + "\n", + "Now, we are interested in getting the number of eating places within a 5-minute isochrone for every sport POI. This requires using a filter to indicate that only eating places should be counted. Filters are added in a dictionary-like format, where the key is the filtering variable and the value is the filtering value.\n", + "\n", + "If you are interested in knowing how to identify the variable to use as filter, check out this notebook on how to access and download premium data." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 467 + }, + "id": "bNvZkW90Djr-", + "outputId": "01aa5879-0700-41ab-b05b-a222aea6d44b" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                          \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                          NAMEgeoiddo_dateBRANDNAMEPB_IDTRADE_NAMEFRANCHISE_NAMEISO3AREANAME4AREANAME3...GLOBAL_ULTIMATE_COUNTRYGLOBAL_ULTIMATE_POSTCODEFAMILY_MEMBERSHIERARCHY_CODETICKER_SYMBOLEXCHANGE_NAMEgeomisochronen_poisn_pois_eating
                                                          0ACQUAPLAYA SPA2204263540#-3.7095628#40.42263942020-04-01NaN2204263540NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNPOINT (-3.70956 40.42264)MULTIPOLYGON (((-3.71192 40.42488, -3.71149 40...319772052
                                                          1ALAMBIQUE TIENDA Y ESCUELA DE COCINA2157202351#-3.7109121#40.41982042019-12-01NaN2157202351NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNPOINT (-3.71091 40.41982)MULTIPOLYGON (((-3.71346 40.42093, -3.71321 40...101311009
                                                          2ALCÁZAR NIGHT2137823204#-3.69905#40.41782019-12-01NaN2137823204NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNPOINT (-3.69905 40.41780)MULTIPOLYGON (((-3.70248 40.41750, -3.70222 40...199471534
                                                          3ALICIA PRODUCE2181768913#-3.7112#40.424042020-02-01NaN2181768913NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNPOINT (-3.71120 40.42404)MULTIPOLYGON (((-3.71346 40.42437, -3.71338 40...244802125
                                                          4ALMA PILATES2197072938#-3.7033635#40.41414772020-04-01NaN2197072938NaNNaNESPNaNMADRID...NaNNaNNaNNaNNaNNaNPOINT (-3.70336 40.41415)MULTIPOLYGON (((-3.70660 40.41544, -3.70634 40...303482744
                                                          \n", + "

                                                          5 rows × 77 columns

                                                          \n", + "
                                                          " + ], + "text/plain": [ + " NAME geoid \\\n", + "0 ACQUAPLAYA SPA 2204263540#-3.7095628#40.4226394 \n", + "1 ALAMBIQUE TIENDA Y ESCUELA DE COCINA 2157202351#-3.7109121#40.4198204 \n", + "2 ALCÁZAR NIGHT 2137823204#-3.69905#40.4178 \n", + "3 ALICIA PRODUCE 2181768913#-3.7112#40.42404 \n", + "4 ALMA PILATES 2197072938#-3.7033635#40.4141477 \n", + "\n", + " do_date BRANDNAME PB_ID TRADE_NAME FRANCHISE_NAME ISO3 \\\n", + "0 2020-04-01 NaN 2204263540 NaN NaN ESP \n", + "1 2019-12-01 NaN 2157202351 NaN NaN ESP \n", + "2 2019-12-01 NaN 2137823204 NaN NaN ESP \n", + "3 2020-02-01 NaN 2181768913 NaN NaN ESP \n", + "4 2020-04-01 NaN 2197072938 NaN NaN ESP \n", + "\n", + " AREANAME4 AREANAME3 ... GLOBAL_ULTIMATE_COUNTRY GLOBAL_ULTIMATE_POSTCODE \\\n", + "0 NaN MADRID ... NaN NaN \n", + "1 NaN MADRID ... NaN NaN \n", + "2 NaN MADRID ... NaN NaN \n", + "3 NaN MADRID ... NaN NaN \n", + "4 NaN MADRID ... NaN NaN \n", + "\n", + " FAMILY_MEMBERS HIERARCHY_CODE TICKER_SYMBOL EXCHANGE_NAME \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " geom \\\n", + "0 POINT (-3.70956 40.42264) \n", + "1 POINT (-3.71091 40.41982) \n", + "2 POINT (-3.69905 40.41780) \n", + "3 POINT (-3.71120 40.42404) \n", + "4 POINT (-3.70336 40.41415) \n", + "\n", + " isochrone n_pois n_pois_eating \n", + "0 MULTIPOLYGON (((-3.71192 40.42488, -3.71149 40... 31977 2052 \n", + "1 MULTIPOLYGON (((-3.71346 40.42093, -3.71321 40... 10131 1009 \n", + "2 MULTIPOLYGON (((-3.70248 40.41750, -3.70222 40... 19947 1534 \n", + "3 MULTIPOLYGON (((-3.71346 40.42437, -3.71338 40... 24480 2125 \n", + "4 MULTIPOLYGON (((-3.70660 40.41544, -3.70634 40... 30348 2744 \n", + "\n", + "[5 rows x 77 columns]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pois_df = enrichment.enrich_polygons(\n", + " pois_df,\n", + " variables=['CLASS_517d6003'],\n", + " aggregation='COUNT',\n", + " geom_col='iso_10walk',\n", + " filters={Variable.get('CLASS_517d6003').id:\"= 'EATING PLACES/RESTAURANTS'\"}\n", + ")\n", + "\n", + "# We rename the column name to give it a more descriptive name\n", + "pois_df.rename(columns={'CLASS':'n_pois_eating'}, inplace=True)\n", + "pois_df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Visualize enrichment" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 674 + }, + "id": "G5CbIzbftdw7", + "outputId": "e5dcf939-2500-4a19-9cb3-bd6281cdda3e" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                                          \n", + "
                                                          \n", + "
                                                          \n", + " \n", + " \n", + "
                                                          \n", + "
                                                          \n", + " \n", + "\n", + "
                                                          \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                          \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                          \n", + " \n", + " \n", + "
                                                          \n", + "
                                                          \n", + "
                                                          \n", + "
                                                          \n", + " \n", + "
                                                          \n", + "
                                                          \n", + "
                                                          \n", + "\n", + " \n", + "\n", + "
                                                          \n", + "
                                                          \n", + " :\n", + "
                                                          \n", + " \n", + " \n", + "
                                                          \n", + "
                                                          \n", + "\n", + "
                                                          \n", + " StackTrace\n", + "
                                                            \n", + "
                                                            \n", + "
                                                            \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Map(Layer(pois_df, geom_col='geom', \n", + " style=size_continuous_style('n_pois_eating'), \n", + " legends=size_continuous_legend('# Eating POIs'),\n", + " popup_hover=[popup_element('NAME', 'Name'), \n", + " popup_element('n_pois_eating', 'Number of eating places')]))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "LrRqlkPptLQG" + }, + "source": [ + "\n", + "#### 3.3 Brief analysis\n", + "\n", + "Let's now take a look at how the total number of POI's and eating places around sport POI's correlate." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 592 + }, + "id": "xxNM-_K4KKUe", + "outputId": "09bb4b63-666e-43f3-8f29-7bdfdb0f0988" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " CARTOframes\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "
                                                            \n", + " \n", + "
                                                            \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                            \n", + " \n", + "\n", + "
                                                            \n", + " "Static\n", + " \n", + "
                                                            \n", + "
                                                            \n", + " \n", + "
                                                            \n", + " \n", + " \n", + "
                                                            \n", + "
                                                            \n", + " \n", + "\n", + "
                                                            \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                            \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                            \n", + " \n", + " \n", + "
                                                            \n", + "
                                                            \n", + "
                                                            \n", + "
                                                            \n", + " \n", + "\n", + "
                                                            \n", + "
                                                            \n", + "
                                                            \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                            \n", + " \n", + "\n", + "
                                                            \n", + " "Static\n", + " \n", + "
                                                            \n", + "
                                                            \n", + " \n", + "
                                                            \n", + " \n", + " \n", + "
                                                            \n", + "
                                                            \n", + " \n", + "\n", + "
                                                            \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                            \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                            \n", + " \n", + " \n", + "
                                                            \n", + "
                                                            \n", + "
                                                            \n", + "
                                                            \n", + " \n", + "\n", + "
                                                            \n", + "
                                                            \n", + "
                                                            \n", + " \n", + "
                                                            \n", + " \n", + "
                                                            \n", + "\n", + " \n", + "\n", + "
                                                            \n", + "
                                                            \n", + " :\n", + "
                                                            \n", + " \n", + " \n", + "
                                                            \n", + "
                                                            \n", + "\n", + "
                                                            \n", + " StackTrace\n", + "
                                                              \n", + "
                                                              \n", + "
                                                              \n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Layout([Map(Layer(pois_df, geom_col='geom', \n", + " style=size_continuous_style('n_pois'),\n", + " legends=size_continuous_legend('# POIs'),\n", + " popup_hover=[popup_element('NAME', 'Name'), \n", + " popup_element('n_pois', 'Number of POIs')])),\n", + " Map(Layer(pois_df, geom_col='geom', \n", + " style=size_continuous_style('n_pois_eating'), \n", + " legends=size_continuous_legend('# Eating POIs'),\n", + " popup_hover=[popup_element('NAME', 'Name'), \n", + " popup_element('n_pois_eating', 'Number of eating places')]))],\n", + " map_height=550)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 352 + }, + "id": "ZOM93X3eGcmE", + "outputId": "ef1550b8-02ac-4768-bdc0-4d0cbf6f6f99" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
                                                              " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(12,5))\n", + "sns.regplot(pois_df['n_pois'], pois_df['n_pois_eating'], \n", + " scatter_kws={'color':'blue', 'alpha':0.5}, line_kws={'color':'red'})" + ] + } + ], + "metadata": { + "colab": { + "collapsed_sections": [], + "name": "CARTO | Data Observatory v2.0 - Data Enrichment.ipynb", + "provenance": [], + "toc_visible": true + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/examples/data_observatory/do_notebook_template.ipynb b/docs/examples/templates/do_dataset_notebook_template.ipynb similarity index 93% rename from examples/data_observatory/do_notebook_template.ipynb rename to docs/examples/templates/do_dataset_notebook_template.ipynb index 2fdaad592..b67c44bb1 100644 --- a/examples/data_observatory/do_notebook_template.ipynb +++ b/docs/examples/templates/do_dataset_notebook_template.ipynb @@ -77,7 +77,7 @@ "from cartoframes.auth import set_default_credentials\n", "\n", "username = 'YOUR_USERNAME'\n", - "api_key = 'YOUR_API_KEY'\n", + "api_key = 'YOUR_API_KEY' # Master API key. Do not make this file public!\n", "\n", "set_default_credentials(username, api_key)" ] @@ -86,7 +86,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "**Note about credentials**\n", + "**⚠️ Note about credentials**\n", "\n", "For security reasons, we recommend storing your credentials in an external file preventing publishing them by accident within your notebook. You can get more information in the section *Setting your credentials* of the [Authentication guide](https://carto.com/developers/cartoframes/guides/Authentication/)." ] @@ -106,7 +106,7 @@ "\n", "In this section we will explore some basic information regarding the Dataset you have licensed. More information on how to explore metadata associated to a Dataset is available in the [Data discovery guide](https://carto.com/developers/cartoframes/guides/Data-discovery/).\n", "\n", - "In order to access the Dataset and its associeted metadata, you need to provide the \"Slug ID\" which is a unique identifier of that Dataset. The Slug IDs of your Datasets are available from Your Subscriptions page in the CARTO Dashboard and via the Discovery methods in CARTOFrames." + "In order to access the Dataset and its associeted metadata, you need to provide the \"ID\" which is a unique identifier of that Dataset. The IDs of your Datasets are available from Your Subscriptions page in the CARTO Dashboard and via the Discovery methods in CARTOFrames." ] }, { @@ -117,7 +117,7 @@ "source": [ "from cartoframes.data.observatory import Dataset\n", "\n", - "dataset = Dataset.get('YOUR_SLUG_ID')" + "dataset = Dataset.get('YOUR_ID')" ] }, { @@ -198,7 +198,7 @@ "outputs": [], "source": [ "# Filter by SQL query\n", - "query = \"SELECT * FROM $dataset$ LIMIT 100\"\n", + "query = \"SELECT * FROM $dataset$ LIMIT 50\"\n", "\n", "dataset_df = dataset.to_dataframe(sql_query=query)" ] @@ -273,7 +273,7 @@ "source": [ "from cartoframes.viz import color_bins_style\n", "\n", - "Layer(dataset_df, color_bins_style('YOUR_VARIABLE'),geom_col='geom')" + "Layer(dataset_df, color_bins_style('YOUR_VARIABLE_ID'), geom_col='geom')" ] }, { @@ -316,7 +316,7 @@ "\n", "Enrichment is the process of adding variables to a geometry, which we call the target (point, line, polygon…) from a spatial Dataset, which we call the source. CARTOFrames has a set of methods for you to augment your data with new variables from a Dataset in the Data Observatory.\n", "\n", - "In this example, you will need to load a dataframe with the geometries that you want to enrich with a variable or a group of variables from the Dataset. You can detail the variables to get from the Dataset by passing the variable's Slug ID. You can get the variables' Slug IDs with the metadata methods.\n", + "In this example, you will need to load a dataframe with the geometries that you want to enrich with a variable or a group of variables from the Dataset. You can detail the variables to get from the Dataset by passing the variable's ID. You can get the variables IDs with the metadata methods.\n", "\n", "More info in the [Data enrichment guide](https://carto.com/developers/cartoframes/guides/Data-enrichment/)." ] @@ -331,7 +331,7 @@ "\n", "enriched_df = Enrichment().enrich_polygons(\n", " df, # Insert here the DataFrame to be enriched\n", - " variables=['YOUR_DATASET_VARIABLE_SLUG_ID']\n", + " variables=['YOUR_VARIABLE_ID']\n", ")" ] }, @@ -351,7 +351,7 @@ "outputs": [], "source": [ "# Filter by SQL query\n", - "query = \"SELECT * FROM $dataset$ LIMIT 100\"\n", + "query = \"SELECT * FROM $dataset$ LIMIT 50\"\n", "\n", "dataset.to_csv('my_dataset.csv', sql_query=query)" ] @@ -379,3 +379,4 @@ "nbformat": 4, "nbformat_minor": 2 } + diff --git a/docs/examples/templates/do_geography_notebook_template.ipynb b/docs/examples/templates/do_geography_notebook_template.ipynb new file mode 100644 index 000000000..bb9d540da --- /dev/null +++ b/docs/examples/templates/do_geography_notebook_template.ipynb @@ -0,0 +1,304 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CARTO Data Observatory" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is a basic template notebook to start exploring your new Geography from CARTO's Data Observatory via the Python library [CARTOframes](https://carto.com/cartoframes).\n", + "\n", + "You can find more details about how to use CARTOframes in the [Quickstart guide](https://carto.com/developers/cartoframes/guides/Quickstart/)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Setup" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Installation\n", + "\n", + "Make sure that you have the latest version installed. Please, find more information in the [Installation guide](https://carto.com/developers/cartoframes/guides/Installation/)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!pip install -U cartoframes" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Note: a kernel restart is required after installing the library\n", + "\n", + "import cartoframes\n", + "\n", + "cartoframes.__version__" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Credentials" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In order to be able to use the Data Observatory via CARTOframes, you need to set your CARTO account credentials first." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "username = 'YOUR_USERNAME'\n", + "api_key = 'YOUR_API_KEY' # Master API key. Do not make this file public!\n", + "\n", + "set_default_credentials(username, api_key)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**⚠️ Note about credentials**\n", + "\n", + "For security reasons, we recommend storing your credentials in an external file preventing publishing them by accident within your notebook. You can get more information in the section *Setting your credentials* of the [Authentication guide](https://carto.com/developers/cartoframes/guides/Authentication/)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Geography operations" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Metadata exploration\n", + "\n", + "In this section we will explore some basic information regarding the Geography you have licensed. More information on how to explore metadata associated to a Geography is available in the [Data discovery guide](https://carto.com/developers/cartoframes/guides/Data-discovery/).\n", + "\n", + "In order to access the Geography and its associeted metadata, you need to provide the \"ID\" which is a unique identifier of that Geography. The IDs of your Geography are available from Your Subscriptions page in the CARTO Dashboard and via the Discovery methods in CARTOFrames." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.data.observatory import Geography\n", + "\n", + "geography = Geography.get('YOUR_ID')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Retrieve some general metadata about the Geography\n", + "geography.to_dict()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Access the data\n", + "\n", + "Now that we have explored some basic information about the Geography, we will proceed to download a sample of the Geography into a dataframe so we can operate it in Python. \n", + "\n", + "Geographies can be downloaded in full or by applying a filter with a SQL query. More info on how to download the Geography or portions of it is available in the [Data discovery guide](https://carto.com/developers/cartoframes/guides/Data-discovery/)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Filter by SQL query\n", + "query = \"SELECT * FROM $geography$ LIMIT 50\"\n", + "\n", + "geography_df = geography.to_dataframe(sql_query=query)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note about SQL filters**\n", + "\n", + "Our SQL filtering queries allow for any PostgreSQL and PostGIS operation, so you can filter the rows (by a WHERE condition) or the columns (using the SELECT). Some common examples are filtering the Geography by bounding box or filtering by column value: \n", + "\n", + "```\n", + "SELECT * FROM $geography$ WHERE ST_IntersectsBox(geom, -74.044467,40.706128,-73.891345,40.837690)\n", + "```\n", + "\n", + "```\n", + "SELECT do_area, geom FROM $geography$\n", + "```\n", + "\n", + "A good tool to get the bounding box details for a specific area is [bboxfinder.com](http://bboxfinder.com/#0.000000,0.000000,0.000000,0.000000)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# First 10 rows of the Geography sample\n", + "geography_df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Visualization\n", + "\n", + "Now that we have downloaded some data into a dataframe we can leverage the visualization capabilities of CARTOframes to build an interactive map.\n", + "\n", + "More info about building visualizations with CARTOframes is available in the [Visualization guide](https://carto.com/developers/cartoframes/guides/Visualization/)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.viz import Layer\n", + "\n", + "Layer(geography_df, geom_col='geom')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note about variables**\n", + "\n", + "CARTOframes allows you to make data-driven visualizations from your Geography variables (columns) via the Style helpers. These functions provide out-of-the-box cartographic styles, legends, popups and widgets.\n", + "\n", + "Style helpers are also highly customizable to reach your desired visualization setting simple parameters. The helpers collection contains functions to visualize by color and size, and also by type: category, bins and continuous, depending on the type of the variable." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.viz import color_bins_style\n", + "\n", + "Layer(geography_df, color_bins_style('do_area'), geom_col='geom')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Upload to CARTO account\n", + "\n", + "In order to operate with the data in CARTO Builder or to build a CARTOFrames visualization reading the data from a table in the Cloud instead of having it in your local environment (with its benefits in performance), you can load the dataframe as a table in your CARTO account.\n", + "\n", + "More info in the [Data Management guide](https://carto.com/developers/cartoframes/guides/Data-management/)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes import to_carto\n", + "\n", + "to_carto(geography_df, 'my_geography', geom_col='geom')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Build a visualization reading the data from your CARTO account\n", + "Layer('my_geography')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Save to file\n", + "\n", + "Finally, you can also export the data into a CSV file. More info in the [Data discovery guide](https://carto.com/developers/cartoframes/guides/Data-discovery/)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Filter by SQL query\n", + "query = \"SELECT * FROM $geography$ LIMIT 50\"\n", + "\n", + "geography.to_csv('my_geography.csv', sql_query=query)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file diff --git a/docs/examples/use_cases/building_a_dashboard.ipynb b/docs/examples/use_cases/building_a_dashboard.ipynb new file mode 100644 index 000000000..ddd7ba9a5 --- /dev/null +++ b/docs/examples/use_cases/building_a_dashboard.ipynb @@ -0,0 +1,10908 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "g0pFW7zACCPt" + }, + "source": [ + "## Building a dashboard to plan a marketing campaign leveraging CARTO Data Observatory\n", + "\n", + "Combining different data sources to identify some patterns or understand some behavior in a specific location is a very typical use case in Spatial Data Science.\n", + "\n", + "In this notebook, we will build a dashboard combining different data from CARTO's Data Observatory to help identify the locations with specific characteristics described below.\n", + "\n", + "**Note** this use case leverages premium datasets from [CARTO Data Observatory](https://carto.com/spatial-data-catalog/).\n", + "\n", + "\n", + "### Use case description\n", + "\n", + "A pharmaceutical lab wants to launch a new marketing campaign to promote a new line of personal care products for senior people in the city of Philadelphia, PA. They know their target group is characterized by:\n", + " - People over 60\n", + " - Medium-high to high income\n", + " - High expenditure in personal care products and services\n", + "\n", + "\n", + "Given these characteristics, they would like to know which pharmacies and drug stores in the city of Philadelphia they should focus their efforts on.\n", + "\n", + "In order to identify the target drug stores and pharmacies, we will follow the following steps:\n", + " - [Get all pharmacies in Philadelphia](#section1)\n", + " - [Calculate their cathment areas using isochrones](#section2)\n", + " - [Enrich the isochrones with demographic, POI's, and consumption data](#section3)\n", + " - [Build the dashboard to help identify the pharmacies where the campaign can be more successful given the characteristics of the population within their catchment area](#section4)\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "UtO6XoGqCCPu" + }, + "source": [ + "### 0. Setup" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "aGwjaIPPpnMU" + }, + "source": [ + "Import the packages we'll use." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "id": "AgYjVJHmCCPv" + }, + "outputs": [], + "source": [ + "import geopandas as gpd\n", + "import pandas as pd\n", + "\n", + "from cartoframes.auth import set_default_credentials\n", + "from cartoframes.data.services import Isolines\n", + "from cartoframes.data.observatory import *\n", + "from cartoframes.viz import *\n", + "from shapely.geometry import box\n", + "\n", + "pd.set_option('display.max_columns', None)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "7JpDF3DKpsfT" + }, + "source": [ + "In order to be able to use the Data Observatory via CARTOframes, you need to set your CARTO account credentials first.\n", + "\n", + "Please, visit the [Authentication guide](https://carto.com/developers/cartoframes/guides/Authentication/) for further detail." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('creds.json')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note about credentials**\n", + "\n", + "For security reasons, we recommend storing your credentials in an external file to prevent publishing them by accident when sharing your notebooks. You can get more information in the section _Setting your credentials_ of the [Authentication guide](https://carto.com/developers/cartoframes/guides/Authentication/)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gBl3tk8Cpw0B" + }, + "source": [ + "\n", + "### 1. Download all pharmacies in Philadelphia from the Data Observatory" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "NSbXgVDEp5_h" + }, + "source": [ + "Below is the bounding box of the area of study." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "id": "B9FHBLrbCCP5" + }, + "outputs": [], + "source": [ + "dem_bbox = box(-75.229353,39.885501,-75.061124,39.997898)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Ymtjq8sgqCja" + }, + "source": [ + "We can get the pharmacies from [Pitney Bowes' Consumer Points of Interest](https://carto.com/spatial-data-catalog/browser/dataset/pb_consumer_po_62cddc04/) dataset. This is a premium dataset, so we first need to check that we are subscribed to it.\n", + "\n", + "Take a look at this template for more details on how to access and download a premium dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 72 + }, + "id": "mRXdJjZMVmtu", + "outputId": "5cf2ebe8-3ad0-4038-a0ec-a832d5bed7fb" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                              \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                              slugnamedescriptioncategory_idcountry_iddata_source_idprovider_idgeography_namegeography_descriptiontemporal_aggregationtime_coverageupdate_frequencyis_public_datalangversioncategory_nameprovider_namegeography_idid
                                                              0ags_sociodemogr_a7e14220Sociodemographics - United States of America (...Census and ACS sociodemographic data estimated...demographicsusasociodemographicsagsCensus Block Group - United States of AmericaNoneyearlyNoneyearlyFalseeng2020DemographicsApplied Geographic Solutionscarto-do.ags.geography_usa_blockgroup_2015carto-do.ags.demographics_sociodemographics_us...
                                                              1ags_retailpoten_aaf25a8cRetail Potential - United States of America (C...The retail potential database consists of aver...demographicsusaretailpotentialagsCensus Block Group - United States of America ...Shoreline clipped TIGER/Line boundaries. More ...yearly[2018-01-01, 2019-01-01)yearlyFalseeng2019DemographicsApplied Geographic Solutionscarto-do-public-data.carto.geography_usa_block...carto-do.ags.demographics_retailpotential_usa_...
                                                              2pb_consumer_po_62cddc04Points Of Interest - Consumer - United States ...Consumer Point of interest database per catego...points_of_interestusaconsumer_points_of_interestpitney_bowesLatitude/Longitude - United States of AmericaLocation of Points of InterestmonthlyNonemonthlyFalseengv1Points of InterestPitney Bowescarto-do.pitney_bowes.geography_usa_latlon_v1carto-do.pitney_bowes.pointsofinterest_consume...
                                                              \n", + "
                                                              " + ], + "text/plain": [ + " slug \\\n", + "0 ags_sociodemogr_a7e14220 \n", + "1 ags_retailpoten_aaf25a8c \n", + "2 pb_consumer_po_62cddc04 \n", + "\n", + " name \\\n", + "0 Sociodemographics - United States of America (... \n", + "1 Retail Potential - United States of America (C... \n", + "2 Points Of Interest - Consumer - United States ... \n", + "\n", + " description category_id \\\n", + "0 Census and ACS sociodemographic data estimated... demographics \n", + "1 The retail potential database consists of aver... demographics \n", + "2 Consumer Point of interest database per catego... points_of_interest \n", + "\n", + " country_id data_source_id provider_id \\\n", + "0 usa sociodemographics ags \n", + "1 usa retailpotential ags \n", + "2 usa consumer_points_of_interest pitney_bowes \n", + "\n", + " geography_name \\\n", + "0 Census Block Group - United States of America \n", + "1 Census Block Group - United States of America ... \n", + "2 Latitude/Longitude - United States of America \n", + "\n", + " geography_description temporal_aggregation \\\n", + "0 None yearly \n", + "1 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "2 Location of Points of Interest monthly \n", + "\n", + " time_coverage update_frequency is_public_data lang version \\\n", + "0 None yearly False eng 2020 \n", + "1 [2018-01-01, 2019-01-01) yearly False eng 2019 \n", + "2 None monthly False eng v1 \n", + "\n", + " category_name provider_name \\\n", + "0 Demographics Applied Geographic Solutions \n", + "1 Demographics Applied Geographic Solutions \n", + "2 Points of Interest Pitney Bowes \n", + "\n", + " geography_id \\\n", + "0 carto-do.ags.geography_usa_blockgroup_2015 \n", + "1 carto-do-public-data.carto.geography_usa_block... \n", + "2 carto-do.pitney_bowes.geography_usa_latlon_v1 \n", + "\n", + " id \n", + "0 carto-do.ags.demographics_sociodemographics_us... \n", + "1 carto-do.ags.demographics_retailpotential_usa_... \n", + "2 carto-do.pitney_bowes.pointsofinterest_consume... " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Catalog().subscriptions().datasets.to_dataframe()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "uvOsBkncqwCT" + }, + "source": [ + "#### Download and explore sample\n", + "\n", + "Pitney Bowes POI's are hierarchically classified (levels: trade division, group, class, sub class). \n", + "\n", + "Since we might not know which level can help us identify all pharmacies, we can start by downloading a sample for a smaller area to explore the dataset. For calculating the bounding box we use [bboxfinder](http://bboxfinder.com).\n", + "\n", + "We start by selecting our dataset and taking a quick look at its first 10 rows." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "id": "rRCz-jiYVmrg" + }, + "outputs": [], + "source": [ + "dataset = Dataset.get('pb_consumer_po_62cddc04')" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 354 + }, + "id": "1o4TmFUAVmo7", + "outputId": "f2e15514-5946-4523-b86e-2015831d7afb" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                              \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                              HTTPISO3NAMESIC1SIC2SIC8CLASSEMAILGROUPPB_IDSTABBgeoidFAXNUMMICODETEL_NUMdo_dateLATITUDEOPEN_24HPOSTCODEdo_labelAREANAME1AREANAME2AREANAME3AREANAME4BRANDNAMEGEORESULTLONGITUDESUB_CLASSAGENT_CODETRADE_NAMEYEAR_STARTSTATUS_CODEBUSINESS_LINECURRENCY_CODEEMPLOYEE_HEREEXCHANGE_NAMETICKER_SYMBOLEMPLOYEE_COUNTFAMILY_MEMBERSFRANCHISE_NAMEHIERARCHY_CODEPARENT_ADDRESSPARENT_COUNTRYTRADE_DIVISIONADDRESSLASTLINECONFIDENCE_CODEMAINADDRESSLINEPARENT_POSTCODEFORMATTEDADDRESSPARENT_AREANAME1PARENT_AREANAME3SIC8_DESCRIPTIONALT_INDUSTRY_CODELEGAL_STATUS_CODESALES_VOLUME_LOCALCOUNTRY_ACCESS_CODEPARENT_BUSINESS_NAMESUBSIDIARY_INDICATORPARENT_STREET_ADDRESSGLOBAL_ULTIMATE_ADDRESSGLOBAL_ULTIMATE_COUNTRYSALES_VOLUME_US_DOLLARSGLOBAL_ULTIMATE_POSTCODEDOMESTIC_ULTIMATE_ADDRESSGLOBAL_ULTIMATE_AREANAME1GLOBAL_ULTIMATE_AREANAME3GLOBAL_ULTIMATE_INDICATORDOMESTIC_ULTIMATE_POSTCODEDOMESTIC_ULTIMATE_AREANAME1DOMESTIC_ULTIMATE_AREANAME3GLOBAL_ULTIMATE_BUSINESS_NAMEGLOBAL_ULTIMATE_STREET_ADDRESSDOMESTIC_ULTIMATE_BUSINESS_NAMEDOMESTIC_ULTIMATE_STREET_ADDRESS
                                                              0WWW.IDAHO.GOVUSACOAST TO COAST LOCATORS7841None91210402MISCELLANEOUS APPAREL AND ACCESSORY STORESNoneMOTION PICTURES2204806297NE2204806297#144.7436111#13.2777778None10050191(208) 334-38472020-08-0133.788524NoneNoneONOPENNSYLVANIADOUGLASORANGENonePIP PRINTINGS5HPNTSCZA-117.876634SPECIALTY HOSPITALS, EXCEPT PSYCHIATRICGNone2000NoneNoneNone15NoneNone1501354NoneNoneNoneNoneDIVISION G. - RETAIL TRADEOREM, UT, 84097HIGHNoneNoneGUIDAHOROCKVILLELIFE INSURANCE CARRIERS812930003706388NoneNone0None6000 EXECUTIVE BLVD # 700, ROCKVILLE, MARYLAND...NoneNoneNoneNoneNoneNoneNNoneNoneNoneNoneNoneNoneNone
                                                              1WWW.MARKSFUNERALSERVICE.COMUSAFLOYD'S GENERAL STORES7841653191110403MISCELLANEOUS APPAREL AND ACCESSORY STORESNoneMOTION PICTURES2041145109GA2041145109#144.6722222#13.3155556None10050191(970) 686-95252020-08-0141.232673NoneNoneCHALAN DAOGOHIOGLYNNOMAHANoneNoneS8HPNTSCZA-84.820387SPECIALTY HOSPITALS, EXCEPT PSYCHIATRICGNone1965NoneNoneNone13NoneNone1300007NoneNoneNoneNoneDIVISION G. - RETAIL TRADELYNCHBURG, VA, 24503-3872HIGHNoneNoneGUNoneNoneMORTGAGE BANKERS812930003600000NoneNone0None1101 ELLER DR, FORT LAUDERDALE, FLORIDA, 33316...NoneNoneNoneNoneNoneNoneNNoneNoneNoneNoneNoneNoneNone
                                                              2WWW.HEAVENLYDAYS.COMUSALITTLE GENERAL STORE7841None94410402MISCELLANEOUS APPAREL AND ACCESSORY STORESNoneMOTION PICTURES2041107895TX2041107895#144.7163889#13.2494444None10050191(240) 699-00342020-08-0144.293525NoneNoneAJAYANCALIFORNIAANGELINASISTERSNoneNoneS8HPNTSCZA-85.848654PSYCHIATRIC HOSPITALSGNone1952NoneNoneNone50NoneNone5001995NoneNoneNoneNoneDIVISION G. - RETAIL TRADEVIRGINIA BEACH, VA, 23464-6500HIGHNone283418534GUNoneNoneLOAN AGENTS8129300034230106NoneNone0NoneNoneNoneNoneNoneNoneNoneNoneNNoneNoneNoneNone711 D ST NW STE 200NoneNone
                                                              3WWW.DUSCKAS-TAYLORFUNERALHOME.COMUSAM STREET CARDS & VARIETY7841None97119906MISCELLANEOUS APPAREL AND ACCESSORY STORESNoneMOTION PICTURES2041107894AZ2041107894#144.7338889#13.28None10050191(814) 899-76562020-08-0132.660750NoneNoneGUGAGONCALIFORNIAMOHAVEDALLASNoneNoneS8HPNTSCZA-90.095639DATA PROCESSING SCHOOLSGNone2005NoneNoneNone11NoneNone1100999NoneNoneNoneNoneDIVISION G. - RETAIL TRADEBURLINGTON, WI, 53105-2380HIGHNoneNoneGUPENNSYLVANIANoneASSESSMENT ASSOCIATIONS, ACCIDENT AND HEALTH I...812930000508581NoneNone0None222 3RD AVE SE STE 285, CEDAR RAPIDS, IOWA, 52...NoneNoneNoneNoneNoneNoneYNoneNoneNoneNoneNoneNoneNone
                                                              4WWW.OREGONCREMATION.COMUSAFAMILY DOLLAR STORE7841None94410402MISCELLANEOUS APPAREL AND ACCESSORY STORESNoneMOTION PICTURES2041107893SC2041107893#144.7463889#13.2883333None10050191(503) 235-31042020-08-0142.303732NoneNoneADAIQUECALIFORNIAFLORENCESIDNEYNoneNoneS8HPNTSCZA-88.301804SPECIALTY HOSPITALS, EXCEPT PSYCHIATRICGADVANCE AMERICA2012NoneNoneNone20NoneNone2001765NoneNoneNoneUSADIVISION G. - RETAIL TRADEALBION, ME, 04910-6236HIGHNoneNoneGUNoneNonePENSION FUNDS812930000269036NoneNone0NoneNoneUSANoneNoneNoneNoneNoneNNoneNoneNoneNoneNoneNoneNone
                                                              5WWW.JOSEPHHBROWN.COMUSAGL VARIETY7841None92110404MISCELLANEOUS APPAREL AND ACCESSORY STORESNoneMOTION PICTURES2200200082PR2200200082#-95.5710222#42.3192199None10050191(410) 383-27002020-08-0135.029179NoneNonePLEASANT VALLEYNEW YORKISABELACHICKASHANoneNoneS8HPNTSCZA-93.388506SPECIALTY HOSPITALS, EXCEPT PSYCHIATRICGCHECK 'N GO1936NoneNoneNone11NoneNone1100025NoneNoneNoneNoneDIVISION G. - RETAIL TRADEHONOLULU, HI, 96816-2637HIGHNoneNoneIANoneNoneWARRANTY INSURANCE, AUTOMOBILE812930003218834NoneNone0NoneNoneNoneNoneNoneNoneNoneNoneNNoneNoneNoneNoneNoneNoneNone
                                                              6WWW.SCARBOROUGHHISTORICALSOCIETY.ORGUSAREDBOX FAMILY DOLLAR STORE7841None94410200MISCELLANEOUS APPAREL AND ACCESSORY STORESNoneMOTION PICTURES2209023773AZ2209023773#-91.6108966#40.5474737None10050191(207) 885-99972020-08-0141.908609NoneNoneGHOST HOLLOWWASHINGTONPIMACHICAGONoneCARTRIDGE WORLDS8HP-TSCZA-156.456725SPECIALTY HOSPITALS, EXCEPT PSYCHIATRICGACE CASH EXPRESS2011NoneNoneNone18NoneNone1800952NoneNoneNoneNoneDIVISION G. - RETAIL TRADECULVER CITY, CA, 90232-3652HIGHNoneNoneIANoneNoneACCIDENT INSURANCE CARRIERS8129300001179493NoneNone0None1050 THMAS JFFERSON ST NW, WASHINGTON, DISTRIC...NoneNoneNoneNoneNoneNoneNNoneNoneNoneNoneNoneNoneNone
                                                              7WWW.PHILALANDMARKS.ORGUSATOP DOLLAR STORE7841651391999901MISCELLANEOUS APPAREL AND ACCESSORY STORESNoneMOTION PICTURES2197355937WA2197355937#-91.7453042#41.9165678None10050191(215) 925-22512020-08-0140.718822NoneNoneTISSEL HOLLOWCALIFORNIAPIERCEWEST VALLEYNoneNoneS8HPNTSCZA-80.317952SPECIALTY HOSPITALS, EXCEPT PSYCHIATRICGNone1981NoneNoneNone20NoneNone2000002NoneNoneNoneNoneDIVISION G. - RETAIL TRADEBRANDON, FL, 33510-2314HIGHNoneNoneIANoneGALTHEALTH INSURANCE CARRIERS812930003702600NoneNone0NoneNoneNoneNoneNoneNoneNoneNoneNNoneNoneNoneNoneNoneNoneNone
                                                              8NoneUSAOLLIE'S BARGIN OUTLET7841None94510402MISCELLANEOUS APPAREL AND ACCESSORY STORESNoneMOTION PICTURES2119978561AZ2119978561#-90.9290128#42.2789979None10050191(715) 758-80502020-08-0127.916668NoneNoneWHITEWATER CANYONDISTRICT OF COLUMBIACOCONINOTAMPANoneSIR SPEEDYS8HPNTSCZA-87.657751VOCATIONAL SCHOOLS, NEC/VOCATIONAL TRAININGGCHECK 'N GO2003NoneNoneNone30NoneNone3002908NoneNoneNoneNoneDIVISION G. - RETAIL TRADESALEM, UT, 84653-9453HIGHNoneNoneIANoneNonePENSION FUNDS812930003176397NoneNone0None1325 N 10TH ST, SAINT LOUIS, MISSOURI, 6310645...NoneNoneNoneNoneNoneNoneNNoneNoneNoneNoneNoneNoneNone
                                                              9NoneUSADOLLAR PLUS AND BEAUTY7841None93110102MISCELLANEOUS APPAREL AND ACCESSORY STORESNoneMOTION PICTURES2200200055TN2200200055#-91.2169511#42.0423068None10050191(239) 643-63752020-08-0128.636325NoneNoneHOGS DEN HOLLOWLOUISIANADAVIDSONMAITLANDNoneNoneS8HPNTSCZA-93.299198VOCATIONAL SCHOOLS, NEC/VOCATIONAL TRAININGGADVANCE AMERICA2010NoneNoneNone20NoneNone2000010NoneNoneNoneUSADIVISION G. - RETAIL TRADEALBUQUERQUE, NM, 87114-3809HIGHNoneNoneIANoneNoneLOAN AGENTS8129300031806921NoneNone0NoneNoneUSANoneNoneNoneNoneNoneNNoneNoneNoneNone820 1ST ST NE STE 740NoneNone
                                                              \n", + "
                                                              " + ], + "text/plain": [ + " HTTP ISO3 NAME \\\n", + "0 WWW.IDAHO.GOV USA COAST TO COAST LOCATORS \n", + "1 WWW.MARKSFUNERALSERVICE.COM USA FLOYD'S GENERAL STORES \n", + "2 WWW.HEAVENLYDAYS.COM USA LITTLE GENERAL STORE \n", + "3 WWW.DUSCKAS-TAYLORFUNERALHOME.COM USA M STREET CARDS & VARIETY \n", + "4 WWW.OREGONCREMATION.COM USA FAMILY DOLLAR STORE \n", + "5 WWW.JOSEPHHBROWN.COM USA GL VARIETY \n", + "6 WWW.SCARBOROUGHHISTORICALSOCIETY.ORG USA REDBOX FAMILY DOLLAR STORE \n", + "7 WWW.PHILALANDMARKS.ORG USA TOP DOLLAR STORE \n", + "8 None USA OLLIE'S BARGIN OUTLET \n", + "9 None USA DOLLAR PLUS AND BEAUTY \n", + "\n", + " SIC1 SIC2 SIC8 CLASS EMAIL \\\n", + "0 7841 None 91210402 MISCELLANEOUS APPAREL AND ACCESSORY STORES None \n", + "1 7841 6531 91110403 MISCELLANEOUS APPAREL AND ACCESSORY STORES None \n", + "2 7841 None 94410402 MISCELLANEOUS APPAREL AND ACCESSORY STORES None \n", + "3 7841 None 97119906 MISCELLANEOUS APPAREL AND ACCESSORY STORES None \n", + "4 7841 None 94410402 MISCELLANEOUS APPAREL AND ACCESSORY STORES None \n", + "5 7841 None 92110404 MISCELLANEOUS APPAREL AND ACCESSORY STORES None \n", + "6 7841 None 94410200 MISCELLANEOUS APPAREL AND ACCESSORY STORES None \n", + "7 7841 6513 91999901 MISCELLANEOUS APPAREL AND ACCESSORY STORES None \n", + "8 7841 None 94510402 MISCELLANEOUS APPAREL AND ACCESSORY STORES None \n", + "9 7841 None 93110102 MISCELLANEOUS APPAREL AND ACCESSORY STORES None \n", + "\n", + " GROUP PB_ID STABB geoid \\\n", + "0 MOTION PICTURES 2204806297 NE 2204806297#144.7436111#13.2777778 \n", + "1 MOTION PICTURES 2041145109 GA 2041145109#144.6722222#13.3155556 \n", + "2 MOTION PICTURES 2041107895 TX 2041107895#144.7163889#13.2494444 \n", + "3 MOTION PICTURES 2041107894 AZ 2041107894#144.7338889#13.28 \n", + "4 MOTION PICTURES 2041107893 SC 2041107893#144.7463889#13.2883333 \n", + "5 MOTION PICTURES 2200200082 PR 2200200082#-95.5710222#42.3192199 \n", + "6 MOTION PICTURES 2209023773 AZ 2209023773#-91.6108966#40.5474737 \n", + "7 MOTION PICTURES 2197355937 WA 2197355937#-91.7453042#41.9165678 \n", + "8 MOTION PICTURES 2119978561 AZ 2119978561#-90.9290128#42.2789979 \n", + "9 MOTION PICTURES 2200200055 TN 2200200055#-91.2169511#42.0423068 \n", + "\n", + " FAXNUM MICODE TEL_NUM do_date LATITUDE OPEN_24H POSTCODE \\\n", + "0 None 10050191 (208) 334-3847 2020-08-01 33.788524 None None \n", + "1 None 10050191 (970) 686-9525 2020-08-01 41.232673 None None \n", + "2 None 10050191 (240) 699-0034 2020-08-01 44.293525 None None \n", + "3 None 10050191 (814) 899-7656 2020-08-01 32.660750 None None \n", + "4 None 10050191 (503) 235-3104 2020-08-01 42.303732 None None \n", + "5 None 10050191 (410) 383-2700 2020-08-01 35.029179 None None \n", + "6 None 10050191 (207) 885-9997 2020-08-01 41.908609 None None \n", + "7 None 10050191 (215) 925-2251 2020-08-01 40.718822 None None \n", + "8 None 10050191 (715) 758-8050 2020-08-01 27.916668 None None \n", + "9 None 10050191 (239) 643-6375 2020-08-01 28.636325 None None \n", + "\n", + " do_label AREANAME1 AREANAME2 AREANAME3 AREANAME4 \\\n", + "0 ONO PENNSYLVANIA DOUGLAS ORANGE None \n", + "1 CHALAN DAOG OHIO GLYNN OMAHA None \n", + "2 AJAYAN CALIFORNIA ANGELINA SISTERS None \n", + "3 GUGAGON CALIFORNIA MOHAVE DALLAS None \n", + "4 ADAIQUE CALIFORNIA FLORENCE SIDNEY None \n", + "5 PLEASANT VALLEY NEW YORK ISABELA CHICKASHA None \n", + "6 GHOST HOLLOW WASHINGTON PIMA CHICAGO None \n", + "7 TISSEL HOLLOW CALIFORNIA PIERCE WEST VALLEY None \n", + "8 WHITEWATER CANYON DISTRICT OF COLUMBIA COCONINO TAMPA None \n", + "9 HOGS DEN HOLLOW LOUISIANA DAVIDSON MAITLAND None \n", + "\n", + " BRANDNAME GEORESULT LONGITUDE \\\n", + "0 PIP PRINTING S5HPNTSCZA -117.876634 \n", + "1 None S8HPNTSCZA -84.820387 \n", + "2 None S8HPNTSCZA -85.848654 \n", + "3 None S8HPNTSCZA -90.095639 \n", + "4 None S8HPNTSCZA -88.301804 \n", + "5 None S8HPNTSCZA -93.388506 \n", + "6 CARTRIDGE WORLD S8HP-TSCZA -156.456725 \n", + "7 None S8HPNTSCZA -80.317952 \n", + "8 SIR SPEEDY S8HPNTSCZA -87.657751 \n", + "9 None S8HPNTSCZA -93.299198 \n", + "\n", + " SUB_CLASS AGENT_CODE TRADE_NAME \\\n", + "0 SPECIALTY HOSPITALS, EXCEPT PSYCHIATRIC G None \n", + "1 SPECIALTY HOSPITALS, EXCEPT PSYCHIATRIC G None \n", + "2 PSYCHIATRIC HOSPITALS G None \n", + "3 DATA PROCESSING SCHOOLS G None \n", + "4 SPECIALTY HOSPITALS, EXCEPT PSYCHIATRIC G ADVANCE AMERICA \n", + "5 SPECIALTY HOSPITALS, EXCEPT PSYCHIATRIC G CHECK 'N GO \n", + "6 SPECIALTY HOSPITALS, EXCEPT PSYCHIATRIC G ACE CASH EXPRESS \n", + "7 SPECIALTY HOSPITALS, EXCEPT PSYCHIATRIC G None \n", + "8 VOCATIONAL SCHOOLS, NEC/VOCATIONAL TRAINING G CHECK 'N GO \n", + "9 VOCATIONAL SCHOOLS, NEC/VOCATIONAL TRAINING G ADVANCE AMERICA \n", + "\n", + " YEAR_START STATUS_CODE BUSINESS_LINE CURRENCY_CODE EMPLOYEE_HERE \\\n", + "0 2000 None None None 15 \n", + "1 1965 None None None 13 \n", + "2 1952 None None None 50 \n", + "3 2005 None None None 11 \n", + "4 2012 None None None 20 \n", + "5 1936 None None None 11 \n", + "6 2011 None None None 18 \n", + "7 1981 None None None 20 \n", + "8 2003 None None None 30 \n", + "9 2010 None None None 20 \n", + "\n", + " EXCHANGE_NAME TICKER_SYMBOL EMPLOYEE_COUNT FAMILY_MEMBERS FRANCHISE_NAME \\\n", + "0 None None 15 01354 None \n", + "1 None None 13 00007 None \n", + "2 None None 50 01995 None \n", + "3 None None 11 00999 None \n", + "4 None None 20 01765 None \n", + "5 None None 11 00025 None \n", + "6 None None 18 00952 None \n", + "7 None None 20 00002 None \n", + "8 None None 30 02908 None \n", + "9 None None 20 00010 None \n", + "\n", + " HIERARCHY_CODE PARENT_ADDRESS PARENT_COUNTRY TRADE_DIVISION \\\n", + "0 None None None DIVISION G. - RETAIL TRADE \n", + "1 None None None DIVISION G. - RETAIL TRADE \n", + "2 None None None DIVISION G. - RETAIL TRADE \n", + "3 None None None DIVISION G. - RETAIL TRADE \n", + "4 None None USA DIVISION G. - RETAIL TRADE \n", + "5 None None None DIVISION G. - RETAIL TRADE \n", + "6 None None None DIVISION G. - RETAIL TRADE \n", + "7 None None None DIVISION G. - RETAIL TRADE \n", + "8 None None None DIVISION G. - RETAIL TRADE \n", + "9 None None USA DIVISION G. - RETAIL TRADE \n", + "\n", + " ADDRESSLASTLINE CONFIDENCE_CODE MAINADDRESSLINE \\\n", + "0 OREM, UT, 84097 HIGH None \n", + "1 LYNCHBURG, VA, 24503-3872 HIGH None \n", + "2 VIRGINIA BEACH, VA, 23464-6500 HIGH None \n", + "3 BURLINGTON, WI, 53105-2380 HIGH None \n", + "4 ALBION, ME, 04910-6236 HIGH None \n", + "5 HONOLULU, HI, 96816-2637 HIGH None \n", + "6 CULVER CITY, CA, 90232-3652 HIGH None \n", + "7 BRANDON, FL, 33510-2314 HIGH None \n", + "8 SALEM, UT, 84653-9453 HIGH None \n", + "9 ALBUQUERQUE, NM, 87114-3809 HIGH None \n", + "\n", + " PARENT_POSTCODE FORMATTEDADDRESS PARENT_AREANAME1 PARENT_AREANAME3 \\\n", + "0 None GU IDAHO ROCKVILLE \n", + "1 None GU None None \n", + "2 283418534 GU None None \n", + "3 None GU PENNSYLVANIA None \n", + "4 None GU None None \n", + "5 None IA None None \n", + "6 None IA None None \n", + "7 None IA None GALT \n", + "8 None IA None None \n", + "9 None IA None None \n", + "\n", + " SIC8_DESCRIPTION ALT_INDUSTRY_CODE \\\n", + "0 LIFE INSURANCE CARRIERS 812930 \n", + "1 MORTGAGE BANKERS 812930 \n", + "2 LOAN AGENTS 812930 \n", + "3 ASSESSMENT ASSOCIATIONS, ACCIDENT AND HEALTH I... 812930 \n", + "4 PENSION FUNDS 812930 \n", + "5 WARRANTY INSURANCE, AUTOMOBILE 812930 \n", + "6 ACCIDENT INSURANCE CARRIERS 812930 \n", + "7 HEALTH INSURANCE CARRIERS 812930 \n", + "8 PENSION FUNDS 812930 \n", + "9 LOAN AGENTS 812930 \n", + "\n", + " LEGAL_STATUS_CODE SALES_VOLUME_LOCAL COUNTRY_ACCESS_CODE \\\n", + "0 003 706388 None \n", + "1 003 600000 None \n", + "2 003 4230106 None \n", + "3 000 508581 None \n", + "4 000 269036 None \n", + "5 003 218834 None \n", + "6 000 1179493 None \n", + "7 003 702600 None \n", + "8 003 176397 None \n", + "9 003 1806921 None \n", + "\n", + " PARENT_BUSINESS_NAME SUBSIDIARY_INDICATOR PARENT_STREET_ADDRESS \\\n", + "0 None 0 None \n", + "1 None 0 None \n", + "2 None 0 None \n", + "3 None 0 None \n", + "4 None 0 None \n", + "5 None 0 None \n", + "6 None 0 None \n", + "7 None 0 None \n", + "8 None 0 None \n", + "9 None 0 None \n", + "\n", + " GLOBAL_ULTIMATE_ADDRESS GLOBAL_ULTIMATE_COUNTRY \\\n", + "0 6000 EXECUTIVE BLVD # 700, ROCKVILLE, MARYLAND... None \n", + "1 1101 ELLER DR, FORT LAUDERDALE, FLORIDA, 33316... None \n", + "2 None None \n", + "3 222 3RD AVE SE STE 285, CEDAR RAPIDS, IOWA, 52... None \n", + "4 None USA \n", + "5 None None \n", + "6 1050 THMAS JFFERSON ST NW, WASHINGTON, DISTRIC... None \n", + "7 None None \n", + "8 1325 N 10TH ST, SAINT LOUIS, MISSOURI, 6310645... None \n", + "9 None USA \n", + "\n", + " SALES_VOLUME_US_DOLLARS GLOBAL_ULTIMATE_POSTCODE DOMESTIC_ULTIMATE_ADDRESS \\\n", + "0 None None None \n", + "1 None None None \n", + "2 None None None \n", + "3 None None None \n", + "4 None None None \n", + "5 None None None \n", + "6 None None None \n", + "7 None None None \n", + "8 None None None \n", + "9 None None None \n", + "\n", + " GLOBAL_ULTIMATE_AREANAME1 GLOBAL_ULTIMATE_AREANAME3 \\\n", + "0 None None \n", + "1 None None \n", + "2 None None \n", + "3 None None \n", + "4 None None \n", + "5 None None \n", + "6 None None \n", + "7 None None \n", + "8 None None \n", + "9 None None \n", + "\n", + " GLOBAL_ULTIMATE_INDICATOR DOMESTIC_ULTIMATE_POSTCODE \\\n", + "0 N None \n", + "1 N None \n", + "2 N None \n", + "3 Y None \n", + "4 N None \n", + "5 N None \n", + "6 N None \n", + "7 N None \n", + "8 N None \n", + "9 N None \n", + "\n", + " DOMESTIC_ULTIMATE_AREANAME1 DOMESTIC_ULTIMATE_AREANAME3 \\\n", + "0 None None \n", + "1 None None \n", + "2 None None \n", + "3 None None \n", + "4 None None \n", + "5 None None \n", + "6 None None \n", + "7 None None \n", + "8 None None \n", + "9 None None \n", + "\n", + " GLOBAL_ULTIMATE_BUSINESS_NAME GLOBAL_ULTIMATE_STREET_ADDRESS \\\n", + "0 None None \n", + "1 None None \n", + "2 None 711 D ST NW STE 200 \n", + "3 None None \n", + "4 None None \n", + "5 None None \n", + "6 None None \n", + "7 None None \n", + "8 None None \n", + "9 None 820 1ST ST NE STE 740 \n", + "\n", + " DOMESTIC_ULTIMATE_BUSINESS_NAME DOMESTIC_ULTIMATE_STREET_ADDRESS \n", + "0 None None \n", + "1 None None \n", + "2 None None \n", + "3 None None \n", + "4 None None \n", + "5 None None \n", + "6 None None \n", + "7 None None \n", + "8 None None \n", + "9 None None " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's now download a small sample to help us identify which of the four hierarchy variables gives us the pharmacies." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "id": "0sMcmlbEVmmN" + }, + "outputs": [], + "source": [ + "sql_query = \"SELECT * except(do_label) FROM $dataset$ WHERE ST_IntersectsBox(geom, -75.161723,39.962019,-75.149535,39.968071)\"\n", + "sample = dataset.to_dataframe(sql_query=sql_query)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 417 + }, + "id": "7LDBunMhVmjQ", + "outputId": "d989406d-49c0-478c-99b6-70fac54eae67" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                              \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                              geoiddo_dateNAMEBRANDNAMEPB_IDTRADE_NAMEFRANCHISE_NAMEISO3AREANAME4AREANAME3AREANAME2AREANAME1STABBPOSTCODEFORMATTEDADDRESSMAINADDRESSLINEADDRESSLASTLINELONGITUDELATITUDEGEORESULTCONFIDENCE_CODECOUNTRY_ACCESS_CODETEL_NUMFAXNUMEMAILHTTPOPEN_24HBUSINESS_LINESIC1SIC2SIC8SIC8_DESCRIPTIONALT_INDUSTRY_CODEMICODETRADE_DIVISIONGROUPCLASSSUB_CLASSEMPLOYEE_HEREEMPLOYEE_COUNTYEAR_STARTSALES_VOLUME_LOCALSALES_VOLUME_US_DOLLARSCURRENCY_CODEAGENT_CODELEGAL_STATUS_CODESTATUS_CODESUBSIDIARY_INDICATORPARENT_BUSINESS_NAMEPARENT_ADDRESSPARENT_STREET_ADDRESSPARENT_AREANAME3PARENT_AREANAME1PARENT_COUNTRYPARENT_POSTCODEDOMESTIC_ULTIMATE_BUSINESS_NAMEDOMESTIC_ULTIMATE_ADDRESSDOMESTIC_ULTIMATE_STREET_ADDRESSDOMESTIC_ULTIMATE_AREANAME3DOMESTIC_ULTIMATE_AREANAME1DOMESTIC_ULTIMATE_POSTCODEGLOBAL_ULTIMATE_INDICATORGLOBAL_ULTIMATE_BUSINESS_NAMEGLOBAL_ULTIMATE_ADDRESSGLOBAL_ULTIMATE_STREET_ADDRESSGLOBAL_ULTIMATE_AREANAME3GLOBAL_ULTIMATE_AREANAME1GLOBAL_ULTIMATE_COUNTRYGLOBAL_ULTIMATE_POSTCODEFAMILY_MEMBERSHIERARCHY_CODETICKER_SYMBOLEXCHANGE_NAMEgeom
                                                              01116489911#-75.157314#39.9628572019-11-01DRINKER DOWNS, INC.NaN1116489911NaNNaNUSANaNPHILADELPHIANaNPENNSYLVANIAPA191233332549 N 12TH ST, PHILADELPHIA, PA, 191233332549 N 12TH STPHILADELPHIA, PA, 191233332-75.15731439.962857S8HPNTSCZAHIGH1.0(267) 318-7772NaNNaNWWW.INSTITUTEBAR.COM/NaNDRINKING PLACES, NSK5813.0NaN58130200.0NIGHT CLUBS722410.010130261DIVISION G. - RETAIL TRADEEATING AND DRINKING PLACESDRINKING PLACESDRINKING PLACES/CAFE, PUB4.04.02008.0165700.0165700.020.0G3.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaN0.00.0NaNNaNPOINT (-75.15731 39.96286)
                                                              12019661767#-75.160361#39.965872019-10-01DIVING BELL SCUBA SHOPNaN2019661767NaNNaNUSANaNPHILADELPHIAPHILADELPHIAPENNSYLVANIAPA19123681 N BROAD ST, PHILADELPHIA, PA, 19123681 N BROAD STPHILADELPHIA, PA, 19123-75.16036139.965870S8HPNTSCZAHIGHNaN(215) 763-6868NaNHOWARD_PRUYN@DIVINGBELL.COMNaNNaNNaNNaNNaNNaNWATER SPORTNaN10120300DIVISION M. - SPORTSSPORTSWATER SPORTWATER SPORTNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-75.16036 39.96587)
                                                              21116489911#-75.157314#39.9628572019-09-01DRINKER DOWNS, INC.NaN1116489911NaNNaNUSANaNPHILADELPHIANaNPENNSYLVANIAPA191233332549 N 12TH ST, PHILADELPHIA, PA 191233332549 N 12TH STPHILADELPHIA, PA 191233332-75.15731439.962857S8HPNTSCZAHIGH1.0(267) 318-7772NaNNaNWWW.INSTITUTEBAR.COM/NaNDRINKING PLACES, NSK5813.0NaN58130200.0NIGHT CLUBS722410.010130261DIVISION G. - RETAIL TRADEEATING AND DRINKING PLACESDRINKING PLACESDRINKING PLACES/CAFE, PUB4.04.02008.0165700.0165700.020.0G3.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaN0.00.0NaNNaNPOINT (-75.15731 39.96286)
                                                              31249192804#-75.157314#39.9628572019-11-01THE INSTITUTE BARNaN1249192804NaNNaNUSANaNPHILADELPHIANaNPENNSYLVANIAPA191233332549 N 12TH ST, PHILADELPHIA, PA, 191233332549 N 12TH STPHILADELPHIA, PA, 191233332-75.15731439.962857S8HPNTSCZAHIGH1.0(215) 787-0888NaNCHARLIE@INSTITUTEBAR.COMWWW.INSTITUTEBAR.COMNaNDRINKING PLACES, NSK5813.0NaN58130105.0TAVERN (DRINKING PLACES)722410.010786105DIVISION G. - RETAIL TRADEEATING AND DRINKING PLACESDRINKING PLACESDRINKING PLACES/CAFE, PUB4.04.02013.0101129.0101129.020.0G0.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaN0.00.0NaNNaNPOINT (-75.15731 39.96286)
                                                              41243566100#-75.15985#39.964912019-09-01LIUNA LOCAL UNION 332NaN1243566100NaNNaNUSANaNPHILADELPHIANaNPENNSYLVANIAPA1912324111310 WALLACE ST, PHILADELPHIA, PA 1912324111310 WALLACE STPHILADELPHIA, PA 191232411-75.15985039.964910S5HPNTSCZAHIGH1.0(215) 765-6272NaNNaNWWW.LDC-PHILA-VIC.ORGNaNLABOR ORGANIZATIONS, NSK8631.0NaN86310000.0LABOR ORGANIZATIONS813930.010248631DIVISION I. - SERVICESMEMBERSHIP ORGANIZATIONSLABOR UNIONS AND SIMILAR LABOR ORGANIZATIONSLABOR ORGANIZATIONS3.03.02010.03033044.03033044.020.0G0.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaN0.00.0NaNNaNPOINT (-75.15985 39.96491)
                                                              \n", + "
                                                              " + ], + "text/plain": [ + " geoid do_date NAME \\\n", + "0 1116489911#-75.157314#39.962857 2019-11-01 DRINKER DOWNS, INC. \n", + "1 2019661767#-75.160361#39.96587 2019-10-01 DIVING BELL SCUBA SHOP \n", + "2 1116489911#-75.157314#39.962857 2019-09-01 DRINKER DOWNS, INC. \n", + "3 1249192804#-75.157314#39.962857 2019-11-01 THE INSTITUTE BAR \n", + "4 1243566100#-75.15985#39.96491 2019-09-01 LIUNA LOCAL UNION 332 \n", + "\n", + " BRANDNAME PB_ID TRADE_NAME FRANCHISE_NAME ISO3 AREANAME4 \\\n", + "0 NaN 1116489911 NaN NaN USA NaN \n", + "1 NaN 2019661767 NaN NaN USA NaN \n", + "2 NaN 1116489911 NaN NaN USA NaN \n", + "3 NaN 1249192804 NaN NaN USA NaN \n", + "4 NaN 1243566100 NaN NaN USA NaN \n", + "\n", + " AREANAME3 AREANAME2 AREANAME1 STABB POSTCODE \\\n", + "0 PHILADELPHIA NaN PENNSYLVANIA PA 191233332 \n", + "1 PHILADELPHIA PHILADELPHIA PENNSYLVANIA PA 19123 \n", + "2 PHILADELPHIA NaN PENNSYLVANIA PA 191233332 \n", + "3 PHILADELPHIA NaN PENNSYLVANIA PA 191233332 \n", + "4 PHILADELPHIA NaN PENNSYLVANIA PA 191232411 \n", + "\n", + " FORMATTEDADDRESS MAINADDRESSLINE \\\n", + "0 549 N 12TH ST, PHILADELPHIA, PA, 191233332 549 N 12TH ST \n", + "1 681 N BROAD ST, PHILADELPHIA, PA, 19123 681 N BROAD ST \n", + "2 549 N 12TH ST, PHILADELPHIA, PA 191233332 549 N 12TH ST \n", + "3 549 N 12TH ST, PHILADELPHIA, PA, 191233332 549 N 12TH ST \n", + "4 1310 WALLACE ST, PHILADELPHIA, PA 191232411 1310 WALLACE ST \n", + "\n", + " ADDRESSLASTLINE LONGITUDE LATITUDE GEORESULT \\\n", + "0 PHILADELPHIA, PA, 191233332 -75.157314 39.962857 S8HPNTSCZA \n", + "1 PHILADELPHIA, PA, 19123 -75.160361 39.965870 S8HPNTSCZA \n", + "2 PHILADELPHIA, PA 191233332 -75.157314 39.962857 S8HPNTSCZA \n", + "3 PHILADELPHIA, PA, 191233332 -75.157314 39.962857 S8HPNTSCZA \n", + "4 PHILADELPHIA, PA 191232411 -75.159850 39.964910 S5HPNTSCZA \n", + "\n", + " CONFIDENCE_CODE COUNTRY_ACCESS_CODE TEL_NUM FAXNUM \\\n", + "0 HIGH 1.0 (267) 318-7772 NaN \n", + "1 HIGH NaN (215) 763-6868 NaN \n", + "2 HIGH 1.0 (267) 318-7772 NaN \n", + "3 HIGH 1.0 (215) 787-0888 NaN \n", + "4 HIGH 1.0 (215) 765-6272 NaN \n", + "\n", + " EMAIL HTTP OPEN_24H \\\n", + "0 NaN WWW.INSTITUTEBAR.COM/ NaN \n", + "1 HOWARD_PRUYN@DIVINGBELL.COM NaN NaN \n", + "2 NaN WWW.INSTITUTEBAR.COM/ NaN \n", + "3 CHARLIE@INSTITUTEBAR.COM WWW.INSTITUTEBAR.COM NaN \n", + "4 NaN WWW.LDC-PHILA-VIC.ORG NaN \n", + "\n", + " BUSINESS_LINE SIC1 SIC2 SIC8 \\\n", + "0 DRINKING PLACES, NSK 5813.0 NaN 58130200.0 \n", + "1 NaN NaN NaN NaN \n", + "2 DRINKING PLACES, NSK 5813.0 NaN 58130200.0 \n", + "3 DRINKING PLACES, NSK 5813.0 NaN 58130105.0 \n", + "4 LABOR ORGANIZATIONS, NSK 8631.0 NaN 86310000.0 \n", + "\n", + " SIC8_DESCRIPTION ALT_INDUSTRY_CODE MICODE \\\n", + "0 NIGHT CLUBS 722410.0 10130261 \n", + "1 WATER SPORT NaN 10120300 \n", + "2 NIGHT CLUBS 722410.0 10130261 \n", + "3 TAVERN (DRINKING PLACES) 722410.0 10786105 \n", + "4 LABOR ORGANIZATIONS 813930.0 10248631 \n", + "\n", + " TRADE_DIVISION GROUP \\\n", + "0 DIVISION G. - RETAIL TRADE EATING AND DRINKING PLACES \n", + "1 DIVISION M. - SPORTS SPORTS \n", + "2 DIVISION G. - RETAIL TRADE EATING AND DRINKING PLACES \n", + "3 DIVISION G. - RETAIL TRADE EATING AND DRINKING PLACES \n", + "4 DIVISION I. - SERVICES MEMBERSHIP ORGANIZATIONS \n", + "\n", + " CLASS SUB_CLASS \\\n", + "0 DRINKING PLACES DRINKING PLACES/CAFE, PUB \n", + "1 WATER SPORT WATER SPORT \n", + "2 DRINKING PLACES DRINKING PLACES/CAFE, PUB \n", + "3 DRINKING PLACES DRINKING PLACES/CAFE, PUB \n", + "4 LABOR UNIONS AND SIMILAR LABOR ORGANIZATIONS LABOR ORGANIZATIONS \n", + "\n", + " EMPLOYEE_HERE EMPLOYEE_COUNT YEAR_START SALES_VOLUME_LOCAL \\\n", + "0 4.0 4.0 2008.0 165700.0 \n", + "1 NaN NaN NaN NaN \n", + "2 4.0 4.0 2008.0 165700.0 \n", + "3 4.0 4.0 2013.0 101129.0 \n", + "4 3.0 3.0 2010.0 3033044.0 \n", + "\n", + " SALES_VOLUME_US_DOLLARS CURRENCY_CODE AGENT_CODE LEGAL_STATUS_CODE \\\n", + "0 165700.0 20.0 G 3.0 \n", + "1 NaN NaN NaN NaN \n", + "2 165700.0 20.0 G 3.0 \n", + "3 101129.0 20.0 G 0.0 \n", + "4 3033044.0 20.0 G 0.0 \n", + "\n", + " STATUS_CODE SUBSIDIARY_INDICATOR PARENT_BUSINESS_NAME PARENT_ADDRESS \\\n", + "0 0.0 0.0 NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 0.0 0.0 NaN NaN \n", + "3 0.0 0.0 NaN NaN \n", + "4 0.0 0.0 NaN NaN \n", + "\n", + " PARENT_STREET_ADDRESS PARENT_AREANAME3 PARENT_AREANAME1 PARENT_COUNTRY \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " PARENT_POSTCODE DOMESTIC_ULTIMATE_BUSINESS_NAME DOMESTIC_ULTIMATE_ADDRESS \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " DOMESTIC_ULTIMATE_STREET_ADDRESS DOMESTIC_ULTIMATE_AREANAME3 \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " DOMESTIC_ULTIMATE_AREANAME1 DOMESTIC_ULTIMATE_POSTCODE \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " GLOBAL_ULTIMATE_INDICATOR GLOBAL_ULTIMATE_BUSINESS_NAME \\\n", + "0 N NaN \n", + "1 NaN NaN \n", + "2 N NaN \n", + "3 N NaN \n", + "4 N NaN \n", + "\n", + " GLOBAL_ULTIMATE_ADDRESS GLOBAL_ULTIMATE_STREET_ADDRESS \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " GLOBAL_ULTIMATE_AREANAME3 GLOBAL_ULTIMATE_AREANAME1 GLOBAL_ULTIMATE_COUNTRY \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " GLOBAL_ULTIMATE_POSTCODE FAMILY_MEMBERS HIERARCHY_CODE TICKER_SYMBOL \\\n", + "0 NaN 0.0 0.0 NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN 0.0 0.0 NaN \n", + "3 NaN 0.0 0.0 NaN \n", + "4 NaN 0.0 0.0 NaN \n", + "\n", + " EXCHANGE_NAME geom \n", + "0 NaN POINT (-75.15731 39.96286) \n", + "1 NaN POINT (-75.16036 39.96587) \n", + "2 NaN POINT (-75.15731 39.96286) \n", + "3 NaN POINT (-75.15731 39.96286) \n", + "4 NaN POINT (-75.15985 39.96491) " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 141 + }, + "id": "V0nvkfg6ZKdF", + "outputId": "88969105-7029-412a-e38e-75622fc0eb82" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['DIVISION G. - RETAIL TRADE', 'DIVISION M. - SPORTS',\n", + " 'DIVISION I. - SERVICES',\n", + " 'DIVISION H. - FINANCE, INSURANCE, AND REAL ESTATE',\n", + " 'DIVISION C. - CONSTRUCTION',\n", + " 'DIVISION J. - PUBLIC ADMINISTRATION',\n", + " 'DIVISION E. - TRANSPORTATION AND PUBLIC UTILITIES',\n", + " 'DIVISION L. - TOURISM'], dtype=object)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample['TRADE_DIVISION'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 123 + }, + "id": "maJzFw3pZKaX", + "outputId": "e3162bc9-b919-4b7d-b25d-c5f1adb9b2b9" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['EATING AND DRINKING PLACES',\n", + " 'AUTOMOTIVE DEALERS AND GASOLINE SERVICE STATIONS',\n", + " 'MISCELLANEOUS RETAIL',\n", + " 'BUILDING MATERIALS, HARDWARE, GARDEN SUPPLIES AND MOBILE HOMES',\n", + " 'APPAREL AND ACCESSORY STORES',\n", + " 'HOME FURNITURE, FURNISHINGS AND EQUIPMENT STORES', 'FOOD STORES'],\n", + " dtype=object)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample.loc[sample['TRADE_DIVISION'] == 'DIVISION G. - RETAIL TRADE', 'GROUP'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 212 + }, + "id": "feTf6hYZZKXs", + "outputId": "601305d0-3f70-4a16-aceb-f8743257e53b" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['DRINKING PLACES', 'EATING PLACES/RESTAURANTS',\n", + " 'AUTO AND HOME SUPPLY STORES', 'GASOLINE SERVICE STATIONS',\n", + " 'MOTOR VEHICLE DEALERS (NEW AND USED)',\n", + " 'RETAIL STORES, NOT ELSEWHERE CLASSIFIED',\n", + " 'PAINT, GLASS, AND WALLPAPER STORES',\n", + " 'MISCELLANEOUS APPAREL AND ACCESSORY STORES',\n", + " 'FAMILY CLOTHING STORES', 'MISCELLANEOUS SHOPPING GOODS STORES',\n", + " 'LUMBER AND OTHER BUILDING MATERIALS DEALERS',\n", + " 'HOME FURNITURE AND FURNISHINGS STORES',\n", + " 'DRUG STORES AND PROPRIETARY STORES', 'NONSTORE RETAILERS',\n", + " 'GROCERY STORES', 'FRUIT AND VEGETABLE MARKETS', 'LIQUOR STORES'],\n", + " dtype=object)" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample.loc[sample['TRADE_DIVISION'] == 'DIVISION G. - RETAIL TRADE', 'CLASS'].unique()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The class `DRUG STORES AND PROPRIETARY STORES` is the one we're looking for." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 34 + }, + "id": "HGNBhEtzZKUp", + "outputId": "2841f1bb-0c24-4eb2-fcec-429312ac4157" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['DRUG STORES AND PROPRIETARY STORES/PHARMACY'], dtype=object)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample.loc[sample['CLASS'] == 'DRUG STORES AND PROPRIETARY STORES', 'SUB_CLASS'].unique()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "_hefGvb2r6cJ" + }, + "source": [ + "#### Download all pharmacies in the area of study" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "id": "giSmBp0harWJ" + }, + "outputs": [], + "source": [ + "sql_query = \"\"\"SELECT * except(do_label) \n", + " FROM $dataset$\n", + " WHERE CLASS = 'DRUG STORES AND PROPRIETARY STORES'\n", + " AND ST_IntersectsBox(geom, -75.229353,39.885501,-75.061124,39.997898)\"\"\"\n", + "\n", + "ph_pharmacies = dataset.to_dataframe(sql_query=sql_query)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 467 + }, + "id": "a1B66RyjbotY", + "outputId": "44176523-8e36-4111-b5e1-10bf10e96f61" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                              \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                              geoiddo_dateNAMEBRANDNAMEPB_IDTRADE_NAMEFRANCHISE_NAMEISO3AREANAME4AREANAME3AREANAME2AREANAME1STABBPOSTCODEFORMATTEDADDRESSMAINADDRESSLINEADDRESSLASTLINELONGITUDELATITUDEGEORESULTCONFIDENCE_CODECOUNTRY_ACCESS_CODETEL_NUMFAXNUMEMAILHTTPOPEN_24HBUSINESS_LINESIC1SIC2SIC8SIC8_DESCRIPTIONALT_INDUSTRY_CODEMICODETRADE_DIVISIONGROUPCLASSSUB_CLASSEMPLOYEE_HEREEMPLOYEE_COUNTYEAR_STARTSALES_VOLUME_LOCALSALES_VOLUME_US_DOLLARSCURRENCY_CODEAGENT_CODELEGAL_STATUS_CODESTATUS_CODESUBSIDIARY_INDICATORPARENT_BUSINESS_NAMEPARENT_ADDRESSPARENT_STREET_ADDRESSPARENT_AREANAME3PARENT_AREANAME1PARENT_COUNTRYPARENT_POSTCODEDOMESTIC_ULTIMATE_BUSINESS_NAMEDOMESTIC_ULTIMATE_ADDRESSDOMESTIC_ULTIMATE_STREET_ADDRESSDOMESTIC_ULTIMATE_AREANAME3DOMESTIC_ULTIMATE_AREANAME1DOMESTIC_ULTIMATE_POSTCODEGLOBAL_ULTIMATE_INDICATORGLOBAL_ULTIMATE_BUSINESS_NAMEGLOBAL_ULTIMATE_ADDRESSGLOBAL_ULTIMATE_STREET_ADDRESSGLOBAL_ULTIMATE_AREANAME3GLOBAL_ULTIMATE_AREANAME1GLOBAL_ULTIMATE_COUNTRYGLOBAL_ULTIMATE_POSTCODEFAMILY_MEMBERSHIERARCHY_CODETICKER_SYMBOLEXCHANGE_NAMEgeom
                                                              02128682600#-75.156071#39.9537382019-08-01HERBALIFENaN2128682600NaNNaNUSANaNPHILADELPHIAPHILADELPHIAPENNSYLVANIAPA19107933 ARCH ST, PHILADELPHIA, PA, 19107933 ARCH STPHILADELPHIA, PA, 19107-75.15607139.953738S8HPNTSCZAHIGHNaN(267) 687-8065NaNNaNWWW.HERBALIFE.COMNaNNaN5912NaN59129901DRUG STORESNaN10010700DIVISION G. - RETAIL TRADEMISCELLANEOUS RETAILDRUG STORES AND PROPRIETARY STORESDRUG STORES AND PROPRIETARY STORES/PHARMACYNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-75.15607 39.95374)
                                                              12154275062#-75.15871#39.9358682019-08-01HERBALIFENaN2154275062NaNNaNUSANaNPHILADELPHIAPHILADELPHIAPENNSYLVANIAPA191471116 S 9TH ST, PHILADELPHIA, PA, 191471116 S 9TH STPHILADELPHIA, PA, 19147-75.15871039.935868S7HPNTSCZAHIGHNaN(267) 519-3122NaNNaNWWW.HERBALIFE.COMNaNNaN5912NaN59129901DRUG STORESNaN10010700DIVISION G. - RETAIL TRADEMISCELLANEOUS RETAILDRUG STORES AND PROPRIETARY STORESDRUG STORES AND PROPRIETARY STORES/PHARMACYNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-75.15871 39.93587)
                                                              22038322702#-75.063221#39.9465452019-08-01SHAKLEE DISTRIBUTORNaN2038322702NaNNaNUSANaNMERCHANTVILLECAMDENNEW JERSEYNJ08109226 POPLAR AVE, MERCHANTVILLE, NJ, 08109226 POPLAR AVEMERCHANTVILLE, NJ, 08109-75.06322139.946545S7HPNTSCZAHIGHNaN(856) 767-9203NaNNaNWWW.SHAKLEE.COMNaNNaN5912NaN59129901DRUG STORESNaN10010700DIVISION G. - RETAIL TRADEMISCELLANEOUS RETAILDRUG STORES AND PROPRIETARY STORESDRUG STORES AND PROPRIETARY STORES/PHARMACYNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-75.06322 39.94655)
                                                              32038337811#-75.063855#39.9492019-08-01RYLA COMMUNITY PHARMACYNaN2038337811NaNNaNUSANaNMERCHANTVILLECAMDENNEW JERSEYNJ081094301 MAPLE AVE, MERCHANTVILLE, NJ, 081094301 MAPLE AVEMERCHANTVILLE, NJ, 08109-75.06385539.949000S8HPNTSCZAHIGHNaN(856) 320-2609NaNNaNNaNNaNNaN5912NaN59120000DRUG STORES AND PROPRIETARY STORESNaN10230030DIVISION G. - RETAIL TRADEMISCELLANEOUS RETAILDRUG STORES AND PROPRIETARY STORESDRUG STORES AND PROPRIETARY STORES/PHARMACYNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-75.06386 39.94900)
                                                              42017798948#-75.119533#39.9417572019-08-01LINCOLN DRUG CONaN2017798948NaNNaNUSANaNCAMDENCAMDENNEW JERSEYNJ08103221 S BROADWAY, CAMDEN, NJ, 08103221 S BROADWAYCAMDEN, NJ, 08103-75.11953339.941757T16MEDIUMNaN(856) 365-3400NaNNaNNaNNaNNaN5912NaN59120000DRUG STORES AND PROPRIETARY STORESNaN10230030DIVISION G. - RETAIL TRADEMISCELLANEOUS RETAILDRUG STORES AND PROPRIETARY STORESDRUG STORES AND PROPRIETARY STORES/PHARMACYNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNPOINT (-75.11953 39.94176)
                                                              \n", + "
                                                              " + ], + "text/plain": [ + " geoid do_date NAME \\\n", + "0 2128682600#-75.156071#39.953738 2019-08-01 HERBALIFE \n", + "1 2154275062#-75.15871#39.935868 2019-08-01 HERBALIFE \n", + "2 2038322702#-75.063221#39.946545 2019-08-01 SHAKLEE DISTRIBUTOR \n", + "3 2038337811#-75.063855#39.949 2019-08-01 RYLA COMMUNITY PHARMACY \n", + "4 2017798948#-75.119533#39.941757 2019-08-01 LINCOLN DRUG CO \n", + "\n", + " BRANDNAME PB_ID TRADE_NAME FRANCHISE_NAME ISO3 AREANAME4 \\\n", + "0 NaN 2128682600 NaN NaN USA NaN \n", + "1 NaN 2154275062 NaN NaN USA NaN \n", + "2 NaN 2038322702 NaN NaN USA NaN \n", + "3 NaN 2038337811 NaN NaN USA NaN \n", + "4 NaN 2017798948 NaN NaN USA NaN \n", + "\n", + " AREANAME3 AREANAME2 AREANAME1 STABB POSTCODE \\\n", + "0 PHILADELPHIA PHILADELPHIA PENNSYLVANIA PA 19107 \n", + "1 PHILADELPHIA PHILADELPHIA PENNSYLVANIA PA 19147 \n", + "2 MERCHANTVILLE CAMDEN NEW JERSEY NJ 08109 \n", + "3 MERCHANTVILLE CAMDEN NEW JERSEY NJ 08109 \n", + "4 CAMDEN CAMDEN NEW JERSEY NJ 08103 \n", + "\n", + " FORMATTEDADDRESS MAINADDRESSLINE \\\n", + "0 933 ARCH ST, PHILADELPHIA, PA, 19107 933 ARCH ST \n", + "1 1116 S 9TH ST, PHILADELPHIA, PA, 19147 1116 S 9TH ST \n", + "2 226 POPLAR AVE, MERCHANTVILLE, NJ, 08109 226 POPLAR AVE \n", + "3 4301 MAPLE AVE, MERCHANTVILLE, NJ, 08109 4301 MAPLE AVE \n", + "4 221 S BROADWAY, CAMDEN, NJ, 08103 221 S BROADWAY \n", + "\n", + " ADDRESSLASTLINE LONGITUDE LATITUDE GEORESULT CONFIDENCE_CODE \\\n", + "0 PHILADELPHIA, PA, 19107 -75.156071 39.953738 S8HPNTSCZA HIGH \n", + "1 PHILADELPHIA, PA, 19147 -75.158710 39.935868 S7HPNTSCZA HIGH \n", + "2 MERCHANTVILLE, NJ, 08109 -75.063221 39.946545 S7HPNTSCZA HIGH \n", + "3 MERCHANTVILLE, NJ, 08109 -75.063855 39.949000 S8HPNTSCZA HIGH \n", + "4 CAMDEN, NJ, 08103 -75.119533 39.941757 T16 MEDIUM \n", + "\n", + " COUNTRY_ACCESS_CODE TEL_NUM FAXNUM EMAIL HTTP \\\n", + "0 NaN (267) 687-8065 NaN NaN WWW.HERBALIFE.COM \n", + "1 NaN (267) 519-3122 NaN NaN WWW.HERBALIFE.COM \n", + "2 NaN (856) 767-9203 NaN NaN WWW.SHAKLEE.COM \n", + "3 NaN (856) 320-2609 NaN NaN NaN \n", + "4 NaN (856) 365-3400 NaN NaN NaN \n", + "\n", + " OPEN_24H BUSINESS_LINE SIC1 SIC2 SIC8 \\\n", + "0 NaN NaN 5912 NaN 59129901 \n", + "1 NaN NaN 5912 NaN 59129901 \n", + "2 NaN NaN 5912 NaN 59129901 \n", + "3 NaN NaN 5912 NaN 59120000 \n", + "4 NaN NaN 5912 NaN 59120000 \n", + "\n", + " SIC8_DESCRIPTION ALT_INDUSTRY_CODE MICODE \\\n", + "0 DRUG STORES NaN 10010700 \n", + "1 DRUG STORES NaN 10010700 \n", + "2 DRUG STORES NaN 10010700 \n", + "3 DRUG STORES AND PROPRIETARY STORES NaN 10230030 \n", + "4 DRUG STORES AND PROPRIETARY STORES NaN 10230030 \n", + "\n", + " TRADE_DIVISION GROUP \\\n", + "0 DIVISION G. - RETAIL TRADE MISCELLANEOUS RETAIL \n", + "1 DIVISION G. - RETAIL TRADE MISCELLANEOUS RETAIL \n", + "2 DIVISION G. - RETAIL TRADE MISCELLANEOUS RETAIL \n", + "3 DIVISION G. - RETAIL TRADE MISCELLANEOUS RETAIL \n", + "4 DIVISION G. - RETAIL TRADE MISCELLANEOUS RETAIL \n", + "\n", + " CLASS \\\n", + "0 DRUG STORES AND PROPRIETARY STORES \n", + "1 DRUG STORES AND PROPRIETARY STORES \n", + "2 DRUG STORES AND PROPRIETARY STORES \n", + "3 DRUG STORES AND PROPRIETARY STORES \n", + "4 DRUG STORES AND PROPRIETARY STORES \n", + "\n", + " SUB_CLASS EMPLOYEE_HERE EMPLOYEE_COUNT \\\n", + "0 DRUG STORES AND PROPRIETARY STORES/PHARMACY NaN NaN \n", + "1 DRUG STORES AND PROPRIETARY STORES/PHARMACY NaN NaN \n", + "2 DRUG STORES AND PROPRIETARY STORES/PHARMACY NaN NaN \n", + "3 DRUG STORES AND PROPRIETARY STORES/PHARMACY NaN NaN \n", + "4 DRUG STORES AND PROPRIETARY STORES/PHARMACY NaN NaN \n", + "\n", + " YEAR_START SALES_VOLUME_LOCAL SALES_VOLUME_US_DOLLARS CURRENCY_CODE \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " AGENT_CODE LEGAL_STATUS_CODE STATUS_CODE SUBSIDIARY_INDICATOR \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " PARENT_BUSINESS_NAME PARENT_ADDRESS PARENT_STREET_ADDRESS PARENT_AREANAME3 \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " PARENT_AREANAME1 PARENT_COUNTRY PARENT_POSTCODE \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " DOMESTIC_ULTIMATE_BUSINESS_NAME DOMESTIC_ULTIMATE_ADDRESS \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " DOMESTIC_ULTIMATE_STREET_ADDRESS DOMESTIC_ULTIMATE_AREANAME3 \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " DOMESTIC_ULTIMATE_AREANAME1 DOMESTIC_ULTIMATE_POSTCODE \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " GLOBAL_ULTIMATE_INDICATOR GLOBAL_ULTIMATE_BUSINESS_NAME \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " GLOBAL_ULTIMATE_ADDRESS GLOBAL_ULTIMATE_STREET_ADDRESS \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " GLOBAL_ULTIMATE_AREANAME3 GLOBAL_ULTIMATE_AREANAME1 GLOBAL_ULTIMATE_COUNTRY \\\n", + "0 NaN NaN NaN \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 NaN NaN NaN \n", + "4 NaN NaN NaN \n", + "\n", + " GLOBAL_ULTIMATE_POSTCODE FAMILY_MEMBERS HIERARCHY_CODE TICKER_SYMBOL \\\n", + "0 NaN NaN NaN NaN \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 NaN NaN NaN NaN \n", + "4 NaN NaN NaN NaN \n", + "\n", + " EXCHANGE_NAME geom \n", + "0 NaN POINT (-75.15607 39.95374) \n", + "1 NaN POINT (-75.15871 39.93587) \n", + "2 NaN POINT (-75.06322 39.94655) \n", + "3 NaN POINT (-75.06386 39.94900) \n", + "4 NaN POINT (-75.11953 39.94176) " + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ph_pharmacies.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "7k0cIht6sDUR" + }, + "source": [ + "The dataset contains different versions of the POI's tagged by the _do_date_ column. We are only inetrested in the latest version of each POI." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "id": "rVwNF4cakE1W" + }, + "outputs": [], + "source": [ + "ph_pharmacies = ph_pharmacies.sort_values(by='do_date', ascending=False).groupby('PB_ID').first().reset_index()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 34 + }, + "id": "qmN37R821xuA", + "outputId": "8714967b-d02d-4c4e-c77b-2285992800cb" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(477, 74)" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ph_pharmacies.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "KBCirDMtsYjT" + }, + "source": [ + "#### Visualize the dataset" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 674 + }, + "id": "HeZ9LEkibjWM", + "outputId": "19b69a5d-ff91-4293-9196-5e0366b98699" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                                              \n", + "
                                                              \n", + "
                                                              \n", + " \n", + " \n", + "
                                                              \n", + "
                                                              \n", + "
                                                              \n", + "\n", + " \n", + "\n", + "
                                                              \n", + "
                                                              \n", + " :\n", + "
                                                              \n", + " \n", + " \n", + "
                                                              \n", + "
                                                              \n", + "\n", + "
                                                              \n", + " StackTrace\n", + "
                                                                \n", + "
                                                                \n", + "
                                                                \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Layer(ph_pharmacies, \n", + " geom_col='geom', \n", + " style=basic_style(opacity=0.75), \n", + " popup_hover=popup_element('NAME'))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "3SWS9BAusgu6" + }, + "source": [ + "\n", + "### 2. Calculate catchment areas" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "QNJV-qqVsofB" + }, + "source": [ + "In order to know the characteristics of the potential customers of every pharmacy, we assume the majority of their clients live closeby. Therefore we will calculate **5-minute-by-car isochrones** and take them as their cathment areas.\n", + "\n", + "_Note_ catchment areas usually depend on whether it is a store in the downtown area or in the suburbs, or if it is reachable on foot or only by car. For this example, we will not make such distiction between pharmacies, but we strongly encourage you to do so on your analyses. As an example, [here](https://carto.com/blog/calculating-catchment-human-mobility-data/) we describe how to calculate catchment areas using human mobility data." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 34 + }, + "id": "tNCwQIxLF3xi", + "outputId": "0507ffc2-908e-45c8-8b90-e5806158b676" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Success! Isolines created correctly\n" + ] + } + ], + "source": [ + "iso_service = Isolines()\n", + "isochrones_gdf, _ = iso_service.isochrones(ph_pharmacies, [300], mode='car', geom_col='geom')" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "id": "CX-hmSBCF3vc" + }, + "outputs": [], + "source": [ + "ph_pharmacies['iso_5car'] = isochrones_gdf.sort_values(by='source_id')['the_geom'].values" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Visualize isochrones\n", + "\n", + "We'll only visualize the ten first isochrones to get a clean visualization." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 674 + }, + "id": "xGbYeg0PF3r9", + "outputId": "7e265d80-8a06-483e-ae02-55294c7de274" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                                                \n", + "
                                                                \n", + "
                                                                \n", + " \n", + " \n", + "
                                                                \n", + "
                                                                \n", + " \n", + "\n", + "
                                                                \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                \n", + " \n", + " \n", + "
                                                                \n", + "
                                                                \n", + "
                                                                \n", + "
                                                                \n", + " \n", + "
                                                                \n", + "
                                                                \n", + "
                                                                \n", + "\n", + " \n", + "\n", + "
                                                                \n", + "
                                                                \n", + " :\n", + "
                                                                \n", + " \n", + " \n", + "
                                                                \n", + "
                                                                \n", + "\n", + "
                                                                \n", + " StackTrace\n", + "
                                                                  \n", + "
                                                                  \n", + "
                                                                  \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Map([Layer(ph_pharmacies.iloc[:10], \n", + " geom_col='iso_5car', \n", + " style=basic_style(opacity=0.1),\n", + " legends=basic_legend('Catchment Areas')),\n", + " Layer(ph_pharmacies.iloc[:10],\n", + " geom_col='geom',\n", + " popup_hover=popup_element('NAME'),\n", + " legends=basic_legend('Pharmacies'))])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "M5QD7ECiu9H2" + }, + "source": [ + "\n", + "### 3. Enrichment: Chacacterize catchment areas\n", + "\n", + "We'll now enrich the pharmacies catchment areas with demographics, POI's, and consumer spending data.\n", + "\n", + "For the enrichment, we will use the CARTOframes Enrichment class. This class contains the functionality to enrich polygons and points. \n", + "\n", + "Visit [CARTOframes Guides](https://carto.com/developers/cartoframes/guides/) for further detail." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "id": "Az9LQ78AvUUm" + }, + "outputs": [], + "source": [ + "enrichment = Enrichment()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Demographics\n", + "\n", + "We will use AGS premium data. In particular, we will work with the dataset `ags_sociodemogr_f510a947` which contains [yearly demographics data from 2019](https://carto.com/spatial-data-catalog/browser/dataset/ags_sociodemogr_f510a947/)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "vWtBbn6TvHAK" + }, + "source": [ + "##### Variable selection\n", + "\n", + "Here we will enrich the pharmacies isochrones with:\n", + " - Population aged 60+\n", + " - Household income\n", + " - Household income for population ages 65+" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 514 + }, + "id": "uqt0lEOyIvZ2", + "outputId": "29124c1a-0dc9-440a-846e-47ade732641f" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You can find more entities with the Global country filter. To apply that filter run:\n", + "\tCatalog().country('glo')\n" + ] + }, + { + "data": { + "text/html": [ + "
                                                                  \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                  slugnamedescriptioncategory_idcountry_iddata_source_idprovider_idgeography_namegeography_descriptiontemporal_aggregationtime_coverageupdate_frequencyis_public_datalangversioncategory_nameprovider_namegeography_idid
                                                                  0ags_consumer_pr_9f337eb8Consumer Profiles - United States of America (...Segmentation of the population in sixty-eight ...demographicsusaconsumer_profilesagsCensus Block Group - United States of America ...Shoreline clipped TIGER/Line boundaries. More ...yearly[2018-01-01, 2019-01-01)yearlyFalseeng2019DemographicsApplied Geographic Solutionscarto-do-public-data.carto.geography_usa_block...carto-do.ags.demographics_consumerprofiles_usa...
                                                                  1ags_sociodemogr_f510a947Sociodemographics - United States of America (...Census and ACS sociodemographic data estimated...demographicsusasociodemographicsagsCensus Block Group - United States of America ...Shoreline clipped TIGER/Line boundaries. More ...yearly[2019-01-01, 2020-01-01)yearlyFalseeng2019DemographicsApplied Geographic Solutionscarto-do-public-data.carto.geography_usa_block...carto-do.ags.demographics_sociodemographics_us...
                                                                  2ags_businesscou_df363a87Business Counts - United States of America (Ce...Business Counts database is a geographic summa...demographicsusabusinesscountsagsCensus Block Group - United States of America ...Shoreline clipped TIGER/Line boundaries. More ...yearly[2018-01-01, 2019-01-01)yearlyFalseeng2019DemographicsApplied Geographic Solutionscarto-do-public-data.carto.geography_usa_block...carto-do.ags.demographics_businesscounts_usa_b...
                                                                  3ags_consumer_sp_895a369cConsumer Spending - United States of America (...The Consumer Expenditure database consists of ...demographicsusaconsumer_spendingagsCensus Block Group - United States of America ...Shoreline clipped TIGER/Line boundaries. More ...yearly[2018-01-01, 2019-01-01)yearlyFalseeng2019DemographicsApplied Geographic Solutionscarto-do-public-data.carto.geography_usa_block...carto-do.ags.demographics_consumerspending_usa...
                                                                  4ags_crimerisk_bb3e4fb3Crime Risk - United States of America (Census ...Using advanced statistical methodologies and a...demographicsusacrimeriskagsCensus Block Group - United States of AmericaNoneyearlyNoneyearlyFalseeng2020DemographicsApplied Geographic Solutionscarto-do.ags.geography_usa_blockgroup_2015carto-do.ags.demographics_crimerisk_usa_blockg...
                                                                  \n", + "
                                                                  " + ], + "text/plain": [ + " slug \\\n", + "0 ags_consumer_pr_9f337eb8 \n", + "1 ags_sociodemogr_f510a947 \n", + "2 ags_businesscou_df363a87 \n", + "3 ags_consumer_sp_895a369c \n", + "4 ags_crimerisk_bb3e4fb3 \n", + "\n", + " name \\\n", + "0 Consumer Profiles - United States of America (... \n", + "1 Sociodemographics - United States of America (... \n", + "2 Business Counts - United States of America (Ce... \n", + "3 Consumer Spending - United States of America (... \n", + "4 Crime Risk - United States of America (Census ... \n", + "\n", + " description category_id country_id \\\n", + "0 Segmentation of the population in sixty-eight ... demographics usa \n", + "1 Census and ACS sociodemographic data estimated... demographics usa \n", + "2 Business Counts database is a geographic summa... demographics usa \n", + "3 The Consumer Expenditure database consists of ... demographics usa \n", + "4 Using advanced statistical methodologies and a... demographics usa \n", + "\n", + " data_source_id provider_id \\\n", + "0 consumer_profiles ags \n", + "1 sociodemographics ags \n", + "2 businesscounts ags \n", + "3 consumer_spending ags \n", + "4 crimerisk ags \n", + "\n", + " geography_name \\\n", + "0 Census Block Group - United States of America ... \n", + "1 Census Block Group - United States of America ... \n", + "2 Census Block Group - United States of America ... \n", + "3 Census Block Group - United States of America ... \n", + "4 Census Block Group - United States of America \n", + "\n", + " geography_description temporal_aggregation \\\n", + "0 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "1 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "2 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "3 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "4 None yearly \n", + "\n", + " time_coverage update_frequency is_public_data lang version \\\n", + "0 [2018-01-01, 2019-01-01) yearly False eng 2019 \n", + "1 [2019-01-01, 2020-01-01) yearly False eng 2019 \n", + "2 [2018-01-01, 2019-01-01) yearly False eng 2019 \n", + "3 [2018-01-01, 2019-01-01) yearly False eng 2019 \n", + "4 None yearly False eng 2020 \n", + "\n", + " category_name provider_name \\\n", + "0 Demographics Applied Geographic Solutions \n", + "1 Demographics Applied Geographic Solutions \n", + "2 Demographics Applied Geographic Solutions \n", + "3 Demographics Applied Geographic Solutions \n", + "4 Demographics Applied Geographic Solutions \n", + "\n", + " geography_id \\\n", + "0 carto-do-public-data.carto.geography_usa_block... \n", + "1 carto-do-public-data.carto.geography_usa_block... \n", + "2 carto-do-public-data.carto.geography_usa_block... \n", + "3 carto-do-public-data.carto.geography_usa_block... \n", + "4 carto-do.ags.geography_usa_blockgroup_2015 \n", + "\n", + " id \n", + "0 carto-do.ags.demographics_consumerprofiles_usa... \n", + "1 carto-do.ags.demographics_sociodemographics_us... \n", + "2 carto-do.ags.demographics_businesscounts_usa_b... \n", + "3 carto-do.ags.demographics_consumerspending_usa... \n", + "4 carto-do.ags.demographics_crimerisk_usa_blockg... " + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Catalog().country('usa').category('demographics').provider('ags').datasets.to_dataframe().head()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "id": "YBMKA2m2IvW4" + }, + "outputs": [], + "source": [ + "dataset = Dataset.get('ags_sociodemogr_f510a947')" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 367 + }, + "id": "hjUYGb3s4DLJ", + "outputId": "d73b3c91-02a3-44ac-8882-daaf750716c5" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                  \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                  DWLCYHHDCYPOPCYVPHCY1AGECYMEDHHDCYFAMHOOEXMEDHUSEXAPTLBFCYARMLBFCYLBFLBFCYNLFMARCYSEPPOPCYGRPRNTEXMEDSEXCYFEMSEXCYMALVPHCYGT1AGECY0004AGECY0509AGECY1014AGECY1519AGECY2024AGECY2529AGECY3034AGECY3539AGECY4044AGECY4549AGECY5054AGECY5559AGECY6064AGECY6569AGECY7074AGECY7579AGECY8084AGECYGT15AGECYGT25AGECYGT85DWLCYRENTEDUCYBACHEDUCYGRADEDUCYHSCHHINCY1015HINCY1520HINCY2025HINCY2530HINCY3035HINCY3540HINCY4045HINCY4550HINCY5060HINCY6075HINCYLT10HISCYHISPHUSEX1DETINCCYPCAPLBFCYEMPLLBFCYUNEMLNIEXISOLLNIEXSPANMARCYMARRPOPCYGRPIUNECYRATEVPHCYNONEBLOCKGROUPDWLCYOWNEDDWLCYVACNTEDUCYASSOCEDUCYLTGR9EDUCYSCOLLEDUCYSHSCHHHDCYAVESZHHDCYMEDAGHHSCYLPFCHHHSCYLPMCHHHSCYMCFCHHINCY10025HINCY12550HINCY15020HINCY75100HINCYGT200HINCYMED24HINCYMED25HINCYMED35HINCYMED45HINCYMED55HINCYMED65HINCYMED75INCCYAVEHHINCCYMEDFAINCCYMEDHHLBFCYPOP16MARCYDIVORMARCYNEVERMARCYWIDOWRCHCYAMNHSRCHCYASNHSRCHCYBLNHSRCHCYHANHSRCHCYMUNHSRCHCYOTNHSRCHCYWHNHS
                                                                  0556064.0016374900060005150000000001011200066100050000000005002537540000600.0000101598190115001001.261.5000000000006750067500675006750064504674996749960000000006
                                                                  1225136.50212499900210003210020000100002000033000000000000000002330262000200.0000101598190212001202.554.01000002000875000875000082566874998749930100030002
                                                                  200000.00000000000000000000000000000000000000000000000000000000000.0000101598190310000000.00.000000000000000000000000000000
                                                                  3211122464.006749990010101044991350111100103120711020182611811111000222091664710000000.00201097000401151010342.061.5100000000050006000030000500001250033294499992749920413200220000
                                                                  400959018.9100003785810959058537400004884303150030000000959412073140000000000036037533463200008.47001097003605100301040.00.0000000000000000000959095905532300250609
                                                                  500000.00000000000000000000000000000000000000000000000000000000000.0000209000180010000000.00.000000000000000000000000000000
                                                                  600000.00000000000000000000000000000000000000000000000000000000000.0000400300140210000000.00.000000000000000000000000000000
                                                                  700000.00000000000000000000000000000000000000000000000000000000000.0000400300140220000000.00.000000000000000000000000000000
                                                                  800000.00000000000000000000000000000000000000000000000000000000000.0000401298000010000000.00.000000000000000000000000000000
                                                                  900000.00000000000000000000000000000000000000000000000000000000000.0000401398010010000000.00.000000000000000000000000000000
                                                                  \n", + "
                                                                  " + ], + "text/plain": [ + " DWLCY HHDCY POPCY VPHCY1 AGECYMED HHDCYFAM HOOEXMED HUSEXAPT \\\n", + "0 5 5 6 0 64.00 1 63749 0 \n", + "1 2 2 5 1 36.50 2 124999 0 \n", + "2 0 0 0 0 0.00 0 0 0 \n", + "3 21 11 22 4 64.00 6 74999 0 \n", + "4 0 0 959 0 18.91 0 0 0 \n", + "5 0 0 0 0 0.00 0 0 0 \n", + "6 0 0 0 0 0.00 0 0 0 \n", + "7 0 0 0 0 0.00 0 0 0 \n", + "8 0 0 0 0 0.00 0 0 0 \n", + "9 0 0 0 0 0.00 0 0 0 \n", + "\n", + " LBFCYARM LBFCYLBF LBFCYNLF MARCYSEP POPCYGRP RNTEXMED SEXCYFEM \\\n", + "0 0 0 6 0 0 0 5 \n", + "1 0 2 1 0 0 0 3 \n", + "2 0 0 0 0 0 0 0 \n", + "3 0 10 10 1 0 449 9 \n", + "4 0 378 581 0 959 0 585 \n", + "5 0 0 0 0 0 0 0 \n", + "6 0 0 0 0 0 0 0 \n", + "7 0 0 0 0 0 0 0 \n", + "8 0 0 0 0 0 0 0 \n", + "9 0 0 0 0 0 0 0 \n", + "\n", + " SEXCYMAL VPHCYGT1 AGECY0004 AGECY0509 AGECY1014 AGECY1519 AGECY2024 \\\n", + "0 1 5 0 0 0 0 0 \n", + "1 2 1 0 0 2 0 0 \n", + "2 0 0 0 0 0 0 0 \n", + "3 13 5 0 1 1 1 1 \n", + "4 374 0 0 0 0 488 430 \n", + "5 0 0 0 0 0 0 0 \n", + "6 0 0 0 0 0 0 0 \n", + "7 0 0 0 0 0 0 0 \n", + "8 0 0 0 0 0 0 0 \n", + "9 0 0 0 0 0 0 0 \n", + "\n", + " AGECY2529 AGECY3034 AGECY3539 AGECY4044 AGECY4549 AGECY5054 \\\n", + "0 0 0 0 0 1 0 \n", + "1 0 0 1 0 0 0 \n", + "2 0 0 0 0 0 0 \n", + "3 0 0 1 0 3 1 \n", + "4 31 5 0 0 3 0 \n", + "5 0 0 0 0 0 0 \n", + "6 0 0 0 0 0 0 \n", + "7 0 0 0 0 0 0 \n", + "8 0 0 0 0 0 0 \n", + "9 0 0 0 0 0 0 \n", + "\n", + " AGECY5559 AGECY6064 AGECY6569 AGECY7074 AGECY7579 AGECY8084 \\\n", + "0 1 1 2 0 0 0 \n", + "1 0 2 0 0 0 0 \n", + "2 0 0 0 0 0 0 \n", + "3 2 0 7 1 1 0 \n", + "4 0 0 0 0 0 0 \n", + "5 0 0 0 0 0 0 \n", + "6 0 0 0 0 0 0 \n", + "7 0 0 0 0 0 0 \n", + "8 0 0 0 0 0 0 \n", + "9 0 0 0 0 0 0 \n", + "\n", + " AGECYGT15 AGECYGT25 AGECYGT85 DWLCYRENT EDUCYBACH EDUCYGRAD \\\n", + "0 6 6 1 0 0 0 \n", + "1 3 3 0 0 0 0 \n", + "2 0 0 0 0 0 0 \n", + "3 20 18 2 6 1 1 \n", + "4 959 41 2 0 7 3 \n", + "5 0 0 0 0 0 0 \n", + "6 0 0 0 0 0 0 \n", + "7 0 0 0 0 0 0 \n", + "8 0 0 0 0 0 0 \n", + "9 0 0 0 0 0 0 \n", + "\n", + " EDUCYHSCH HINCY1015 HINCY1520 HINCY2025 HINCY2530 HINCY3035 \\\n", + "0 5 0 0 0 0 0 \n", + "1 0 0 0 0 0 0 \n", + "2 0 0 0 0 0 0 \n", + "3 8 1 1 1 1 1 \n", + "4 14 0 0 0 0 0 \n", + "5 0 0 0 0 0 0 \n", + "6 0 0 0 0 0 0 \n", + "7 0 0 0 0 0 0 \n", + "8 0 0 0 0 0 0 \n", + "9 0 0 0 0 0 0 \n", + "\n", + " HINCY3540 HINCY4045 HINCY4550 HINCY5060 HINCY6075 HINCYLT10 \\\n", + "0 0 0 0 0 5 0 \n", + "1 0 0 0 0 0 0 \n", + "2 0 0 0 0 0 0 \n", + "3 0 0 0 2 2 2 \n", + "4 0 0 0 0 0 0 \n", + "5 0 0 0 0 0 0 \n", + "6 0 0 0 0 0 0 \n", + "7 0 0 0 0 0 0 \n", + "8 0 0 0 0 0 0 \n", + "9 0 0 0 0 0 0 \n", + "\n", + " HISCYHISP HUSEX1DET INCCYPCAP LBFCYEMPL LBFCYUNEM LNIEXISOL \\\n", + "0 0 2 53754 0 0 0 \n", + "1 0 2 33026 2 0 0 \n", + "2 0 0 0 0 0 0 \n", + "3 0 9 16647 10 0 0 \n", + "4 36 0 3753 346 32 0 \n", + "5 0 0 0 0 0 0 \n", + "6 0 0 0 0 0 0 \n", + "7 0 0 0 0 0 0 \n", + "8 0 0 0 0 0 0 \n", + "9 0 0 0 0 0 0 \n", + "\n", + " LNIEXSPAN MARCYMARR POPCYGRPI UNECYRATE VPHCYNONE BLOCKGROUP \\\n", + "0 0 6 0 0.00 0 010159819011 \n", + "1 0 2 0 0.00 0 010159819021 \n", + "2 0 0 0 0.00 0 010159819031 \n", + "3 0 0 0 0.00 2 010970004011 \n", + "4 0 0 0 8.47 0 010970036051 \n", + "5 0 0 0 0.00 0 020900018001 \n", + "6 0 0 0 0.00 0 040030014021 \n", + "7 0 0 0 0.00 0 040030014022 \n", + "8 0 0 0 0.00 0 040129800001 \n", + "9 0 0 0 0.00 0 040139801001 \n", + "\n", + " DWLCYOWNED DWLCYVACNT EDUCYASSOC EDUCYLTGR9 EDUCYSCOLL EDUCYSHSCH \\\n", + "0 5 0 0 1 0 0 \n", + "1 2 0 0 1 2 0 \n", + "2 0 0 0 0 0 0 \n", + "3 5 10 1 0 3 4 \n", + "4 0 0 3 0 10 4 \n", + "5 0 0 0 0 0 0 \n", + "6 0 0 0 0 0 0 \n", + "7 0 0 0 0 0 0 \n", + "8 0 0 0 0 0 0 \n", + "9 0 0 0 0 0 0 \n", + "\n", + " HHDCYAVESZ HHDCYMEDAG HHSCYLPFCH HHSCYLPMCH HHSCYMCFCH HINCY10025 \\\n", + "0 1.2 61.5 0 0 0 0 \n", + "1 2.5 54.0 1 0 0 0 \n", + "2 0.0 0.0 0 0 0 0 \n", + "3 2.0 61.5 1 0 0 0 \n", + "4 0.0 0.0 0 0 0 0 \n", + "5 0.0 0.0 0 0 0 0 \n", + "6 0.0 0.0 0 0 0 0 \n", + "7 0.0 0.0 0 0 0 0 \n", + "8 0.0 0.0 0 0 0 0 \n", + "9 0.0 0.0 0 0 0 0 \n", + "\n", + " HINCY12550 HINCY15020 HINCY75100 HINCYGT200 HINCYMED24 HINCYMED25 \\\n", + "0 0 0 0 0 0 0 \n", + "1 0 0 2 0 0 0 \n", + "2 0 0 0 0 0 0 \n", + "3 0 0 0 0 0 0 \n", + "4 0 0 0 0 0 0 \n", + "5 0 0 0 0 0 0 \n", + "6 0 0 0 0 0 0 \n", + "7 0 0 0 0 0 0 \n", + "8 0 0 0 0 0 0 \n", + "9 0 0 0 0 0 0 \n", + "\n", + " HINCYMED35 HINCYMED45 HINCYMED55 HINCYMED65 HINCYMED75 INCCYAVEHH \\\n", + "0 0 67500 67500 67500 67500 64504 \n", + "1 87500 0 87500 0 0 82566 \n", + "2 0 0 0 0 0 0 \n", + "3 5000 60000 30000 50000 12500 33294 \n", + "4 0 0 0 0 0 0 \n", + "5 0 0 0 0 0 0 \n", + "6 0 0 0 0 0 0 \n", + "7 0 0 0 0 0 0 \n", + "8 0 0 0 0 0 0 \n", + "9 0 0 0 0 0 0 \n", + "\n", + " INCCYMEDFA INCCYMEDHH LBFCYPOP16 MARCYDIVOR MARCYNEVER MARCYWIDOW \\\n", + "0 67499 67499 6 0 0 0 \n", + "1 87499 87499 3 0 1 0 \n", + "2 0 0 0 0 0 0 \n", + "3 49999 27499 20 4 13 2 \n", + "4 0 0 959 0 959 0 \n", + "5 0 0 0 0 0 0 \n", + "6 0 0 0 0 0 0 \n", + "7 0 0 0 0 0 0 \n", + "8 0 0 0 0 0 0 \n", + "9 0 0 0 0 0 0 \n", + "\n", + " RCHCYAMNHS RCHCYASNHS RCHCYBLNHS RCHCYHANHS RCHCYMUNHS RCHCYOTNHS \\\n", + "0 0 0 0 0 0 0 \n", + "1 0 0 3 0 0 0 \n", + "2 0 0 0 0 0 0 \n", + "3 0 0 22 0 0 0 \n", + "4 5 53 230 0 25 0 \n", + "5 0 0 0 0 0 0 \n", + "6 0 0 0 0 0 0 \n", + "7 0 0 0 0 0 0 \n", + "8 0 0 0 0 0 0 \n", + "9 0 0 0 0 0 0 \n", + "\n", + " RCHCYWHNHS \n", + "0 6 \n", + "1 2 \n", + "2 0 \n", + "3 0 \n", + "4 609 \n", + "5 0 \n", + "6 0 \n", + "7 0 \n", + "8 0 \n", + "9 0 " + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We explore the variables to identify the ones we're interested in. \n", + "\n", + "Variables in a dataset are uniquely identified by their slug." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "BQ7HvT5L4PSA", + "outputId": "b86413c0-a0c4-4e70-ec47-836ca615bd43" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                  \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                  slugnamedescriptiondb_typeagg_methodcolumn_namevariable_group_iddataset_idid
                                                                  0BLOCKGROUP_108673f9BLOCKGROUPGeographic IdentifierSTRINGNoneBLOCKGROUPNonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                  1POPCY_5e23b8f4Total PopulationPopulation (2019A)INTEGERSUMPOPCYNonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                  2POPCYGRP_55c4a2e5POPCYGRPPopulation in Group Quarters (2019A)INTEGERSUMPOPCYGRPNonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                  3POPCYGRPI_d37c4ecPOPCYGRPIInstitutional Group Quarters Population (2019A)INTEGERSUMPOPCYGRPINonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                  4AGECY0004_a67ddb4fAGECY0004Population age 0-4 (2019A)INTEGERSUMAGECY0004carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                  \n", + "
                                                                  " + ], + "text/plain": [ + " slug name \\\n", + "0 BLOCKGROUP_108673f9 BLOCKGROUP \n", + "1 POPCY_5e23b8f4 Total Population \n", + "2 POPCYGRP_55c4a2e5 POPCYGRP \n", + "3 POPCYGRPI_d37c4ec POPCYGRPI \n", + "4 AGECY0004_a67ddb4f AGECY0004 \n", + "\n", + " description db_type agg_method \\\n", + "0 Geographic Identifier STRING None \n", + "1 Population (2019A) INTEGER SUM \n", + "2 Population in Group Quarters (2019A) INTEGER SUM \n", + "3 Institutional Group Quarters Population (2019A) INTEGER SUM \n", + "4 Population age 0-4 (2019A) INTEGER SUM \n", + "\n", + " column_name variable_group_id \\\n", + "0 BLOCKGROUP None \n", + "1 POPCY None \n", + "2 POPCYGRP None \n", + "3 POPCYGRPI None \n", + "4 AGECY0004 carto-do.ags.demographics_sociodemographics_us... \n", + "\n", + " dataset_id \\\n", + "0 carto-do.ags.demographics_sociodemographics_us... \n", + "1 carto-do.ags.demographics_sociodemographics_us... \n", + "2 carto-do.ags.demographics_sociodemographics_us... \n", + "3 carto-do.ags.demographics_sociodemographics_us... \n", + "4 carto-do.ags.demographics_sociodemographics_us... \n", + "\n", + " id \n", + "0 carto-do.ags.demographics_sociodemographics_us... \n", + "1 carto-do.ags.demographics_sociodemographics_us... \n", + "2 carto-do.ags.demographics_sociodemographics_us... \n", + "3 carto-do.ags.demographics_sociodemographics_us... \n", + "4 carto-do.ags.demographics_sociodemographics_us... " + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.variables.to_dataframe().head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll select:\n", + " - Population and population by age variables to identify number of people aged 60+ as a percentage of total population\n", + " - Average household income\n", + " - Average household income for porpulation aged 65+" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "id": "tZQQJkh34DX2" + }, + "outputs": [], + "source": [ + "vars_enrichment = ['POPCY_5e23b8f4', 'AGECY6064_d54c2315', 'AGECY6569_ad369d43', 'AGECY7074_74eb7531',\n", + " 'AGECY7579_c91cb67', 'AGECY8084_ab1079a8', 'AGECYGT85_a0959a08', 'INCCYMEDHH_b80a7a7b',\n", + " 'HINCYMED65_37a430a4', 'HINCYMED75_2ebf01e5']" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Isochrone enrichment" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "id": "khyZ9U9G4Dla" + }, + "outputs": [], + "source": [ + "ph_pharmacies_enriched = enrichment.enrich_polygons(\n", + " ph_pharmacies,\n", + " variables=vars_enrichment,\n", + " geom_col='iso_5car'\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 467 + }, + "id": "eYUGxuLtDfjK", + "outputId": "ac957f77-a2b2-4f7c-fde7-a3b1910d472f" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                  \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                  PB_IDgeoiddo_dateNAMEBRANDNAMETRADE_NAMEFRANCHISE_NAMEISO3AREANAME4AREANAME3AREANAME2AREANAME1STABBPOSTCODEFORMATTEDADDRESSMAINADDRESSLINEADDRESSLASTLINELONGITUDELATITUDEGEORESULTCONFIDENCE_CODECOUNTRY_ACCESS_CODETEL_NUMFAXNUMEMAILHTTPOPEN_24HBUSINESS_LINESIC1SIC2SIC8SIC8_DESCRIPTIONALT_INDUSTRY_CODEMICODETRADE_DIVISIONGROUPCLASSSUB_CLASSEMPLOYEE_HEREEMPLOYEE_COUNTYEAR_STARTSALES_VOLUME_LOCALSALES_VOLUME_US_DOLLARSCURRENCY_CODEAGENT_CODELEGAL_STATUS_CODESTATUS_CODESUBSIDIARY_INDICATORPARENT_BUSINESS_NAMEPARENT_ADDRESSPARENT_STREET_ADDRESSPARENT_AREANAME3PARENT_AREANAME1PARENT_COUNTRYPARENT_POSTCODEDOMESTIC_ULTIMATE_BUSINESS_NAMEDOMESTIC_ULTIMATE_ADDRESSDOMESTIC_ULTIMATE_STREET_ADDRESSDOMESTIC_ULTIMATE_AREANAME3DOMESTIC_ULTIMATE_AREANAME1DOMESTIC_ULTIMATE_POSTCODEGLOBAL_ULTIMATE_INDICATORGLOBAL_ULTIMATE_BUSINESS_NAMEGLOBAL_ULTIMATE_ADDRESSGLOBAL_ULTIMATE_STREET_ADDRESSGLOBAL_ULTIMATE_AREANAME3GLOBAL_ULTIMATE_AREANAME1GLOBAL_ULTIMATE_COUNTRYGLOBAL_ULTIMATE_POSTCODEFAMILY_MEMBERSHIERARCHY_CODETICKER_SYMBOLEXCHANGE_NAMEgeomiso_5carPOPCYAGECY8084AGECYGT85AGECY6569AGECY7579AGECY7074AGECY6064HINCYMED65HINCYMED75INCCYMEDHH
                                                                  011146893271114689327#-75.186601#39.9183012020-08-01WALGREEN EASTERN CO., INC.WALGREENSWALGREENSNaNUSANaNPHILADELPHIAPHILADELPHIAPENNSYLVANIAPA19145-41222310 W OREGON AVE, PHILADELPHIA, PA, 19145-41222310 W OREGON AVEPHILADELPHIA, PA, 19145-4122-75.18660139.918301S8HPNTSCZAHIGH1.0(215) 468-2481NaNNaNWWW.WALLGREENSBOOTSALLIANCE.COMNaNDRUG STORES AND PROPRIETARY STORES5912NaN59129901DRUG STORES446110.010010700DIVISION G. - RETAIL TRADEMISCELLANEOUS RETAILDRUG STORES AND PROPRIETARY STORESDRUG STORES AND PROPRIETARY STORES/PHARMACY40.00.00.00.00.0NaNG0.02.00.0WALGREEN EASTERN CO., INC.200 WILMOT RD, DEERFIELD, ILLINOIS, 600154620,...200 WILMOT RDDEERFIELDILLINOISUSA600154620.0WALGREENS BOOTS ALLIANCE, INC.108 WILMOT RD, DEERFIELD, ILLINOIS, 600155145108 WILMOT RDDEERFIELDILLINOIS600155145.0NWALGREENS BOOTS ALLIANCE, INC.108 WILMOT RD, DEERFIELD, ILLINOIS, 600155145,...108 WILMOT RDDEERFIELDILLINOISUSA600155145.09551.03.0NaNNaNPOINT (-75.18660 39.91830)MULTIPOLYGON (((-75.19996 39.93393, -75.19953 ...15037.340234293.522613310.290651783.930533454.807673599.859593922.26417050981.22727338971.63636455397.409091
                                                                  111149424691114942469#-75.160179#39.9704782020-08-01TANG PHARMACY IVNaNTANG PHARMACY IVNaNUSANaNPHILADELPHIAPHILADELPHIAPENNSYLVANIAPA19130-1604900 N BROAD ST, PHILADELPHIA, PA, 19130-1604900 N BROAD STPHILADELPHIA, PA, 19130-1604-75.16017939.970478S8HPNTSCZAHIGH1.0(215) 235-1400NaNNaNNaNNaNDRUG STORES AND PROPRIETARY STORES5912NaN59120000DRUG STORES AND PROPRIETARY STORES446110.010230030DIVISION G. - RETAIL TRADEMISCELLANEOUS RETAILDRUG STORES AND PROPRIETARY STORESDRUG STORES AND PROPRIETARY STORES/PHARMACY4.04.02012.0610000.0610000.020.0G3.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaN0.00.0NaNNaNPOINT (-75.16018 39.97048)MULTIPOLYGON (((-75.17592 39.96826, -75.17550 ...54623.530980813.192570983.7033762391.8635571246.6551191799.5278052877.78271546537.36842137788.38596549895.807018
                                                                  211150246091115024609#-75.067035#39.9357052020-08-01AMERICARE 1 PHARMACYNaNNaNNaNUSANaNMERCHANTVILLECAMDENNEW JERSEYNJ08109-48035115 ROUTE 38, MERCHANTVILLE, NJ, 08109-48035115 ROUTE 38MERCHANTVILLE, NJ, 08109-4803-75.06703539.935705S8HPNTSCZAHIGH1.0(215) 821-2720NaNNaNWWW.ACAREPHARMACY.COMNaNDRUG STORES AND PROPRIETARY STORES5912NaN59129901DRUG STORES446110.010010700DIVISION G. - RETAIL TRADEMISCELLANEOUS RETAILDRUG STORES AND PROPRIETARY STORESDRUG STORES AND PROPRIETARY STORES/PHARMACY5.05.02011.0616316.0616316.020.0G13.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaN0.00.0NaNNaNPOINT (-75.06704 39.93570)MULTIPOLYGON (((-75.10743 39.94440, -75.10717 ...11454.933682194.094570219.712464510.703182295.695152426.563198636.48608241940.34615434227.65384650875.269231
                                                                  311152893801115289380#-75.148596#39.9701772020-08-01GET WELL PHARMACYLEADER DRUG STORELEADER DRUG STORELEADER DRUG STORESUSANaNPHILADELPHIAPHILADELPHIAPENNSYLVANIAPA19123-1313708 W GIRARD AVE, PHILADELPHIA, PA, 19123-1313708 W GIRARD AVEPHILADELPHIA, PA, 19123-1313-75.14859639.970177S8HPNTSCZAHIGH1.0(215) 629-5566(215) 629-5567NaNNaNNaNDRUG STORES AND PROPRIETARY STORES5912NaN59129901DRUG STORES446110.010010700DIVISION G. - RETAIL TRADEMISCELLANEOUS RETAILDRUG STORES AND PROPRIETARY STORESDRUG STORES AND PROPRIETARY STORES/PHARMACY6.00.00.00.00.0NaNG0.02.00.0GET WELL PHARMACY4511 N 5TH ST, PHILADELPHIA, PENNSYLVANIA, 191...4511 N 5TH STPHILADELPHIAPENNSYLVANIAUSA191402309.0GET WELL PHARMACY4511 N 5TH ST, PHILADELPHIA, PENNSYLVANIA, 191...4511 N 5TH STPHILADELPHIAPENNSYLVANIA191402309.0NGET WELL PHARMACY4511 N 5TH ST, PHILADELPHIA, PENNSYLVANIA, 191...4511 N 5TH STPHILADELPHIAPENNSYLVANIAUSA191402309.02.01.0NaNNaNPOINT (-75.14860 39.97018)MULTIPOLYGON (((-75.17043 39.97375, -75.16983 ...47722.338755754.767397894.0952942154.8511891133.5203121662.0609432561.43392845865.36734736400.42857147234.571429
                                                                  411160030621116003062#-75.096649#39.9066292020-08-01CVS PHARMACY, INC.CVSCVSNaNUSANaNHADDON TOWNSHIPCAMDENNEW JERSEYNJ081043002 MOUNT EPHRAIM AVE, HADDON TOWNSHIP, NJ, 0...3002 MOUNT EPHRAIM AVEHADDON TOWNSHIP, NJ, 08104-75.09664939.906629S5HPNTSCZAHIGH1.0(856) 854-9163NaNNaNWWW.CVS.COMNaNDRUG STORES AND PROPRIETARY STORES5912NaN59120000DRUG STORES AND PROPRIETARY STORES446110.010230030DIVISION G. - RETAIL TRADEMISCELLANEOUS RETAILDRUG STORES AND PROPRIETARY STORESDRUG STORES AND PROPRIETARY STORES/PHARMACY25.00.00.00.00.0NaNG0.02.00.0CVS PHARMACY, INC.1 CVS DR, WOONSOCKET, RHODE ISLAND, 028956195,...1 CVS DRWOONSOCKETRHODE ISLANDUSA28956195.0CVS HEALTH CORPORATION1 CVS DR, WOONSOCKET, RHODE ISLAND, 0289561951 CVS DRWOONSOCKETRHODE ISLAND28956195.0NCVS HEALTH CORPORATION1 CVS DR, WOONSOCKET, RHODE ISLAND, 028956195,...1 CVS DRWOONSOCKETRHODE ISLANDUSA28956195.013290.02.0NaNNaNPOINT (-75.09665 39.90663)MULTIPOLYGON (((-75.12031 39.90440, -75.11971 ...13244.490216153.927121179.820079533.225761236.796307409.091195686.86169148903.48484840511.36363653548.757576
                                                                  \n", + "
                                                                  " + ], + "text/plain": [ + " PB_ID geoid do_date \\\n", + "0 1114689327 1114689327#-75.186601#39.918301 2020-08-01 \n", + "1 1114942469 1114942469#-75.160179#39.970478 2020-08-01 \n", + "2 1115024609 1115024609#-75.067035#39.935705 2020-08-01 \n", + "3 1115289380 1115289380#-75.148596#39.970177 2020-08-01 \n", + "4 1116003062 1116003062#-75.096649#39.906629 2020-08-01 \n", + "\n", + " NAME BRANDNAME TRADE_NAME \\\n", + "0 WALGREEN EASTERN CO., INC. WALGREENS WALGREENS \n", + "1 TANG PHARMACY IV NaN TANG PHARMACY IV \n", + "2 AMERICARE 1 PHARMACY NaN NaN \n", + "3 GET WELL PHARMACY LEADER DRUG STORE LEADER DRUG STORE \n", + "4 CVS PHARMACY, INC. CVS CVS \n", + "\n", + " FRANCHISE_NAME ISO3 AREANAME4 AREANAME3 AREANAME2 \\\n", + "0 NaN USA NaN PHILADELPHIA PHILADELPHIA \n", + "1 NaN USA NaN PHILADELPHIA PHILADELPHIA \n", + "2 NaN USA NaN MERCHANTVILLE CAMDEN \n", + "3 LEADER DRUG STORES USA NaN PHILADELPHIA PHILADELPHIA \n", + "4 NaN USA NaN HADDON TOWNSHIP CAMDEN \n", + "\n", + " AREANAME1 STABB POSTCODE \\\n", + "0 PENNSYLVANIA PA 19145-4122 \n", + "1 PENNSYLVANIA PA 19130-1604 \n", + "2 NEW JERSEY NJ 08109-4803 \n", + "3 PENNSYLVANIA PA 19123-1313 \n", + "4 NEW JERSEY NJ 08104 \n", + "\n", + " FORMATTEDADDRESS MAINADDRESSLINE \\\n", + "0 2310 W OREGON AVE, PHILADELPHIA, PA, 19145-4122 2310 W OREGON AVE \n", + "1 900 N BROAD ST, PHILADELPHIA, PA, 19130-1604 900 N BROAD ST \n", + "2 5115 ROUTE 38, MERCHANTVILLE, NJ, 08109-4803 5115 ROUTE 38 \n", + "3 708 W GIRARD AVE, PHILADELPHIA, PA, 19123-1313 708 W GIRARD AVE \n", + "4 3002 MOUNT EPHRAIM AVE, HADDON TOWNSHIP, NJ, 0... 3002 MOUNT EPHRAIM AVE \n", + "\n", + " ADDRESSLASTLINE LONGITUDE LATITUDE GEORESULT \\\n", + "0 PHILADELPHIA, PA, 19145-4122 -75.186601 39.918301 S8HPNTSCZA \n", + "1 PHILADELPHIA, PA, 19130-1604 -75.160179 39.970478 S8HPNTSCZA \n", + "2 MERCHANTVILLE, NJ, 08109-4803 -75.067035 39.935705 S8HPNTSCZA \n", + "3 PHILADELPHIA, PA, 19123-1313 -75.148596 39.970177 S8HPNTSCZA \n", + "4 HADDON TOWNSHIP, NJ, 08104 -75.096649 39.906629 S5HPNTSCZA \n", + "\n", + " CONFIDENCE_CODE COUNTRY_ACCESS_CODE TEL_NUM FAXNUM EMAIL \\\n", + "0 HIGH 1.0 (215) 468-2481 NaN NaN \n", + "1 HIGH 1.0 (215) 235-1400 NaN NaN \n", + "2 HIGH 1.0 (215) 821-2720 NaN NaN \n", + "3 HIGH 1.0 (215) 629-5566 (215) 629-5567 NaN \n", + "4 HIGH 1.0 (856) 854-9163 NaN NaN \n", + "\n", + " HTTP OPEN_24H \\\n", + "0 WWW.WALLGREENSBOOTSALLIANCE.COM NaN \n", + "1 NaN NaN \n", + "2 WWW.ACAREPHARMACY.COM NaN \n", + "3 NaN NaN \n", + "4 WWW.CVS.COM NaN \n", + "\n", + " BUSINESS_LINE SIC1 SIC2 SIC8 \\\n", + "0 DRUG STORES AND PROPRIETARY STORES 5912 NaN 59129901 \n", + "1 DRUG STORES AND PROPRIETARY STORES 5912 NaN 59120000 \n", + "2 DRUG STORES AND PROPRIETARY STORES 5912 NaN 59129901 \n", + "3 DRUG STORES AND PROPRIETARY STORES 5912 NaN 59129901 \n", + "4 DRUG STORES AND PROPRIETARY STORES 5912 NaN 59120000 \n", + "\n", + " SIC8_DESCRIPTION ALT_INDUSTRY_CODE MICODE \\\n", + "0 DRUG STORES 446110.0 10010700 \n", + "1 DRUG STORES AND PROPRIETARY STORES 446110.0 10230030 \n", + "2 DRUG STORES 446110.0 10010700 \n", + "3 DRUG STORES 446110.0 10010700 \n", + "4 DRUG STORES AND PROPRIETARY STORES 446110.0 10230030 \n", + "\n", + " TRADE_DIVISION GROUP \\\n", + "0 DIVISION G. - RETAIL TRADE MISCELLANEOUS RETAIL \n", + "1 DIVISION G. - RETAIL TRADE MISCELLANEOUS RETAIL \n", + "2 DIVISION G. - RETAIL TRADE MISCELLANEOUS RETAIL \n", + "3 DIVISION G. - RETAIL TRADE MISCELLANEOUS RETAIL \n", + "4 DIVISION G. - RETAIL TRADE MISCELLANEOUS RETAIL \n", + "\n", + " CLASS \\\n", + "0 DRUG STORES AND PROPRIETARY STORES \n", + "1 DRUG STORES AND PROPRIETARY STORES \n", + "2 DRUG STORES AND PROPRIETARY STORES \n", + "3 DRUG STORES AND PROPRIETARY STORES \n", + "4 DRUG STORES AND PROPRIETARY STORES \n", + "\n", + " SUB_CLASS EMPLOYEE_HERE EMPLOYEE_COUNT \\\n", + "0 DRUG STORES AND PROPRIETARY STORES/PHARMACY 40.0 0.0 \n", + "1 DRUG STORES AND PROPRIETARY STORES/PHARMACY 4.0 4.0 \n", + "2 DRUG STORES AND PROPRIETARY STORES/PHARMACY 5.0 5.0 \n", + "3 DRUG STORES AND PROPRIETARY STORES/PHARMACY 6.0 0.0 \n", + "4 DRUG STORES AND PROPRIETARY STORES/PHARMACY 25.0 0.0 \n", + "\n", + " YEAR_START SALES_VOLUME_LOCAL SALES_VOLUME_US_DOLLARS CURRENCY_CODE \\\n", + "0 0.0 0.0 0.0 NaN \n", + "1 2012.0 610000.0 610000.0 20.0 \n", + "2 2011.0 616316.0 616316.0 20.0 \n", + "3 0.0 0.0 0.0 NaN \n", + "4 0.0 0.0 0.0 NaN \n", + "\n", + " AGENT_CODE LEGAL_STATUS_CODE STATUS_CODE SUBSIDIARY_INDICATOR \\\n", + "0 G 0.0 2.0 0.0 \n", + "1 G 3.0 0.0 0.0 \n", + "2 G 13.0 0.0 0.0 \n", + "3 G 0.0 2.0 0.0 \n", + "4 G 0.0 2.0 0.0 \n", + "\n", + " PARENT_BUSINESS_NAME \\\n", + "0 WALGREEN EASTERN CO., INC. \n", + "1 NaN \n", + "2 NaN \n", + "3 GET WELL PHARMACY \n", + "4 CVS PHARMACY, INC. \n", + "\n", + " PARENT_ADDRESS PARENT_STREET_ADDRESS \\\n", + "0 200 WILMOT RD, DEERFIELD, ILLINOIS, 600154620,... 200 WILMOT RD \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 4511 N 5TH ST, PHILADELPHIA, PENNSYLVANIA, 191... 4511 N 5TH ST \n", + "4 1 CVS DR, WOONSOCKET, RHODE ISLAND, 028956195,... 1 CVS DR \n", + "\n", + " PARENT_AREANAME3 PARENT_AREANAME1 PARENT_COUNTRY PARENT_POSTCODE \\\n", + "0 DEERFIELD ILLINOIS USA 600154620.0 \n", + "1 NaN NaN NaN NaN \n", + "2 NaN NaN NaN NaN \n", + "3 PHILADELPHIA PENNSYLVANIA USA 191402309.0 \n", + "4 WOONSOCKET RHODE ISLAND USA 28956195.0 \n", + "\n", + " DOMESTIC_ULTIMATE_BUSINESS_NAME \\\n", + "0 WALGREENS BOOTS ALLIANCE, INC. \n", + "1 NaN \n", + "2 NaN \n", + "3 GET WELL PHARMACY \n", + "4 CVS HEALTH CORPORATION \n", + "\n", + " DOMESTIC_ULTIMATE_ADDRESS \\\n", + "0 108 WILMOT RD, DEERFIELD, ILLINOIS, 600155145 \n", + "1 NaN \n", + "2 NaN \n", + "3 4511 N 5TH ST, PHILADELPHIA, PENNSYLVANIA, 191... \n", + "4 1 CVS DR, WOONSOCKET, RHODE ISLAND, 028956195 \n", + "\n", + " DOMESTIC_ULTIMATE_STREET_ADDRESS DOMESTIC_ULTIMATE_AREANAME3 \\\n", + "0 108 WILMOT RD DEERFIELD \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 4511 N 5TH ST PHILADELPHIA \n", + "4 1 CVS DR WOONSOCKET \n", + "\n", + " DOMESTIC_ULTIMATE_AREANAME1 DOMESTIC_ULTIMATE_POSTCODE \\\n", + "0 ILLINOIS 600155145.0 \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 PENNSYLVANIA 191402309.0 \n", + "4 RHODE ISLAND 28956195.0 \n", + "\n", + " GLOBAL_ULTIMATE_INDICATOR GLOBAL_ULTIMATE_BUSINESS_NAME \\\n", + "0 N WALGREENS BOOTS ALLIANCE, INC. \n", + "1 N NaN \n", + "2 N NaN \n", + "3 N GET WELL PHARMACY \n", + "4 N CVS HEALTH CORPORATION \n", + "\n", + " GLOBAL_ULTIMATE_ADDRESS \\\n", + "0 108 WILMOT RD, DEERFIELD, ILLINOIS, 600155145,... \n", + "1 NaN \n", + "2 NaN \n", + "3 4511 N 5TH ST, PHILADELPHIA, PENNSYLVANIA, 191... \n", + "4 1 CVS DR, WOONSOCKET, RHODE ISLAND, 028956195,... \n", + "\n", + " GLOBAL_ULTIMATE_STREET_ADDRESS GLOBAL_ULTIMATE_AREANAME3 \\\n", + "0 108 WILMOT RD DEERFIELD \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 4511 N 5TH ST PHILADELPHIA \n", + "4 1 CVS DR WOONSOCKET \n", + "\n", + " GLOBAL_ULTIMATE_AREANAME1 GLOBAL_ULTIMATE_COUNTRY GLOBAL_ULTIMATE_POSTCODE \\\n", + "0 ILLINOIS USA 600155145.0 \n", + "1 NaN NaN NaN \n", + "2 NaN NaN NaN \n", + "3 PENNSYLVANIA USA 191402309.0 \n", + "4 RHODE ISLAND USA 28956195.0 \n", + "\n", + " FAMILY_MEMBERS HIERARCHY_CODE TICKER_SYMBOL EXCHANGE_NAME \\\n", + "0 9551.0 3.0 NaN NaN \n", + "1 0.0 0.0 NaN NaN \n", + "2 0.0 0.0 NaN NaN \n", + "3 2.0 1.0 NaN NaN \n", + "4 13290.0 2.0 NaN NaN \n", + "\n", + " geom \\\n", + "0 POINT (-75.18660 39.91830) \n", + "1 POINT (-75.16018 39.97048) \n", + "2 POINT (-75.06704 39.93570) \n", + "3 POINT (-75.14860 39.97018) \n", + "4 POINT (-75.09665 39.90663) \n", + "\n", + " iso_5car POPCY \\\n", + "0 MULTIPOLYGON (((-75.19996 39.93393, -75.19953 ... 15037.340234 \n", + "1 MULTIPOLYGON (((-75.17592 39.96826, -75.17550 ... 54623.530980 \n", + "2 MULTIPOLYGON (((-75.10743 39.94440, -75.10717 ... 11454.933682 \n", + "3 MULTIPOLYGON (((-75.17043 39.97375, -75.16983 ... 47722.338755 \n", + "4 MULTIPOLYGON (((-75.12031 39.90440, -75.11971 ... 13244.490216 \n", + "\n", + " AGECY8084 AGECYGT85 AGECY6569 AGECY7579 AGECY7074 AGECY6064 \\\n", + "0 293.522613 310.290651 783.930533 454.807673 599.859593 922.264170 \n", + "1 813.192570 983.703376 2391.863557 1246.655119 1799.527805 2877.782715 \n", + "2 194.094570 219.712464 510.703182 295.695152 426.563198 636.486082 \n", + "3 754.767397 894.095294 2154.851189 1133.520312 1662.060943 2561.433928 \n", + "4 153.927121 179.820079 533.225761 236.796307 409.091195 686.861691 \n", + "\n", + " HINCYMED65 HINCYMED75 INCCYMEDHH \n", + "0 50981.227273 38971.636364 55397.409091 \n", + "1 46537.368421 37788.385965 49895.807018 \n", + "2 41940.346154 34227.653846 50875.269231 \n", + "3 45865.367347 36400.428571 47234.571429 \n", + "4 48903.484848 40511.363636 53548.757576 " + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ph_pharmacies_enriched.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "id": "Ywu6fFj7FyXE" + }, + "outputs": [], + "source": [ + "ph_pharmacies = ph_pharmacies_enriched.copy()" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "id": "SZwLsCxWUlUA" + }, + "outputs": [], + "source": [ + "ph_pharmacies['pop_60plus'] = ph_pharmacies[['AGECY8084', 'AGECYGT85', 'AGECY6569', 'AGECY7579', 'AGECY7074', 'AGECY6064']].sum(1)\n", + "ph_pharmacies.drop(columns=['AGECY8084', 'AGECYGT85', 'AGECY6569', 'AGECY7579', 'AGECY7074', 'AGECY6064'], inplace=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Points of Interest\n", + "\n", + "We will use [Pitney Bowes' Consumer Points of Interest](https://carto.com/spatial-data-catalog/browser/dataset/pb_consumer_po_62cddc04/) premium dataset." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "wXrgsacjvZ8M" + }, + "source": [ + "##### Variable selection\n", + "\n", + "We are interested in knowing how many of the following POIs can be found in each isochrone:\n", + " - Beauty shops and beauty salons\n", + " - Gyms and other sports centers\n", + "\n", + "These POI's will be considered as an indicator of personal care awareness in a specific area." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The hierarchy classification variable `SUB_CLASS` variable allows us to identify beaty shops and salons (`BEAUTY SHOPS/BEAUTY SALON`) and gyms (`MEMBERSHIP SPORTS AND RECREATION CLUBS/CLUB AND ASSOCIATION - UNSPECIFIED`)." + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 692 + }, + "id": "bZdJKVsaDssS", + "outputId": "8daadc49-49e8-4109-bd28-00bec4e6cbf6" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['LABOR ORGANIZATIONS', 'MEMBERSHIP ORGANIZATIONS, NEC',\n", + " 'FLATS, APARTMENT COMPLEX', 'HOTEL, MOTEL - UNSPECIFIED',\n", + " 'MEDIA FACILITY', 'COLLEGES AND UNIVERSITIES',\n", + " 'VOCATIONAL SCHOOLS, NEC/VOCATIONAL TRAINING', 'LIBRARIES',\n", + " 'SCHOOL', 'GENERAL MEDICAL AND SURGICAL HOSPITALS',\n", + " 'OFFICES AND CLINICS OF DENTISTS/ DENTIST',\n", + " 'CIVIC AND SOCIAL ASSOCIATIONS',\n", + " 'OFFICES AND CLINICS OF MEDICAL DOCTORS',\n", + " 'RELIGIOUS ORGANIZATIONS',\n", + " 'PARK AND RECREATION AREA - UNSPECIFIED',\n", + " 'SKILLED NURSING CARE FACILITIES',\n", + " 'NURSING AND PERSONAL CARE, NEC', 'RETIREMENT COMMUNITY',\n", + " 'SPECIALTY OUTPATIENT CLINICS, NEC',\n", + " 'PASSENGER CAR RENTAL/RENT-A-CAR FACILITY',\n", + " 'GENERAL AUTOMOTIVE REPAIR SHOPS/GENERAL CAR REPAIR AND SERVICING',\n", + " 'LEGAL SERVICES', 'TOP AND BODY REPAIR AND PAINT SHOPS/BODYSHOPS',\n", + " 'CARWASHES', 'HEALTH AND ALLIED SERVICES, NEC',\n", + " 'SCHOOLS AND EDUCATIONAL SERVICES/SCHOOL - UNSPECIFIED',\n", + " 'LAUNDRY AND GARMENT SERVICES, NEC',\n", + " 'MISCELLANEOUS PERSONAL SERVICES',\n", + " 'PHOTOGRAPHIC STUDIOS, PORTRAIT', 'PRIMARY SCHOOL',\n", + " 'INDIVIDUAL AND FAMILY SERVICES', 'RESIDENTIAL CARE',\n", + " 'CHILD DAY CARE SERVICES/CHILD CARE CENTER',\n", + " 'BARBER SHOPS/HAIRDRESSERS AND BARBERS',\n", + " 'BEAUTY SHOPS/BEAUTY SALON', 'FUNERAL SERVICE AND CREMATORIES',\n", + " 'OFFICES OF HEALTH PRACTITIONER',\n", + " 'ENTERTAINERS AND ENTERTAINMENT GROUPS',\n", + " 'AUTO EXHAUST SYSTEM REPAIR SHOPS',\n", + " 'THEATRICAL PRODUCERS AND SERVICES',\n", + " 'PHYSICAL FITNESS FACILITIES/FITNESS CLUB AND CENTER',\n", + " 'AMUSEMENT AND RECREATION, NEC/AMUSEMENT PLACE',\n", + " 'AUTOMOBILE PARKING/OPEN PARKING AREA',\n", + " 'MUSEUMS AND ART GALLERIES', 'ELEMENTARY AND SECONDARY SCHOOLS',\n", + " 'MOTION PICTURE THEATERS, EXCEPT DRIVE-IN',\n", + " 'HOME HEALTH CARE SERVICES',\n", + " 'OFFICES AND CLINICS OF OSTEOPATHIC PHYSICIANS',\n", + " 'SOCIAL SERVICES, NEC', 'DANCE STUDIOS, SCHOOLS, AND HALLS',\n", + " 'ENTERTAINMENT'], dtype=object)" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sample.loc[sample['TRADE_DIVISION'] == 'DIVISION I. - SERVICES', 'SUB_CLASS'].unique()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "##### Isochrone enrichment" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "OpjHz3iGway_" + }, + "source": [ + "In order to count only Beauty Shops/Salons and Gyms, we will apply a filter to the enrichment. All filters are applied with an AND-like relationship. This means we need to run two independent enrichment calls, one for the beauty shops/salons and another one for the gyms." + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "id": "SsSAQXI1Dsp6" + }, + "outputs": [], + "source": [ + "ph_pharmacies_enriched = enrichment.enrich_polygons(\n", + " ph_pharmacies,\n", + " variables=['SUB_CLASS_10243439'],\n", + " aggregation='COUNT',\n", + " geom_col='iso_5car',\n", + " filters={Variable.get('SUB_CLASS_10243439').id : \"= 'BEAUTY SHOPS/BEAUTY SALON'\"}\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "id": "muDXaFakDsmm" + }, + "outputs": [], + "source": [ + "ph_pharmacies = ph_pharmacies_enriched.rename(columns={'SUB_CLASS_y':'n_beauty_pois'})" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "id": "djUSIiXuDsj5" + }, + "outputs": [], + "source": [ + "ph_pharmacies_enriched = enrichment.enrich_polygons(\n", + " ph_pharmacies,\n", + " variables=['SUB_CLASS_10243439'],\n", + " aggregation='COUNT',\n", + " geom_col='iso_5car',\n", + " filters={Variable.get('SUB_CLASS_10243439').id : \"= 'MEMBERSHIP SPORTS AND RECREATION CLUBS/CLUB AND ASSOCIATION - UNSPECIFIED'\"}\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "id": "JJYbu4k1Dsf_" + }, + "outputs": [], + "source": [ + "ph_pharmacies = ph_pharmacies_enriched.rename(columns={'SUB_CLASS':'n_gym_pois'})" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 34 + }, + "id": "D5x3UTeBMgBz", + "outputId": "07be18f1-d92c-4901-ada4-2c0c14c97c5b" + }, + "outputs": [], + "source": [ + "ph_pharmacies['n_pois_personal_care'] = ph_pharmacies['n_beauty_pois'] + ph_pharmacies['n_gym_pois']\n", + "ph_pharmacies.drop(columns=['n_beauty_pois', 'n_gym_pois'], inplace=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Consumer spending\n", + "\n", + "For consumer spending, we will use AGS premium data. In particular, we will work with the dataset `ags_consumer_sp_dbabddfb` which contains the [latest version of yearly consumer data](https://carto.com/spatial-data-catalog/browser/dataset/ags_consumer_sp_dbabddfb/)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "9CTgbC4rwiMk" + }, + "source": [ + "##### Variable selection\n", + "\n", + "We are interested in spending in:\n", + " - Personal care services\n", + " - Personal care products\n", + " - Health care services" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "id": "e37Yqug9Mf7f" + }, + "outputs": [], + "source": [ + "dataset = Dataset.get('ags_consumer_sp_dbabddfb')" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + }, + "id": "5EtgN_ElO1GH", + "outputId": "c01502a5-2f01-4d7b-8b36-8e66398a413d" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                  \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                  slugnamedescriptiondb_typeagg_methodcolumn_namevariable_group_iddataset_idid
                                                                  0BLOCKGROUP_9c78947bBLOCKGROUPGeographic IdentifierSTRINGNoneBLOCKGROUPNonecarto-do.ags.demographics_consumerspending_usa...carto-do.ags.demographics_consumerspending_usa...
                                                                  1HHDCY_11b160d2Number of householdsHouseholds (2019A)INTEGERSUMHHDCYNonecarto-do.ags.demographics_consumerspending_usa...carto-do.ags.demographics_consumerspending_usa...
                                                                  2XCYAP1_ef233ec0XCYAP1Men's Apparel (Ave Hhd Exp)FLOATAVGXCYAP1carto-do.ags.demographics_consumerspending_usa...carto-do.ags.demographics_consumerspending_usa...carto-do.ags.demographics_consumerspending_usa...
                                                                  3XCYAP2_762a6f7aXCYAP2Boys Apparel (Ave Hhd Exp)FLOATAVGXCYAP2carto-do.ags.demographics_consumerspending_usa...carto-do.ags.demographics_consumerspending_usa...carto-do.ags.demographics_consumerspending_usa...
                                                                  4XCYAP3_12d5fecXCYAP3Women's Apparel (Ave Hhd Exp)FLOATAVGXCYAP3carto-do.ags.demographics_consumerspending_usa...carto-do.ags.demographics_consumerspending_usa...carto-do.ags.demographics_consumerspending_usa...
                                                                  \n", + "
                                                                  " + ], + "text/plain": [ + " slug name description \\\n", + "0 BLOCKGROUP_9c78947b BLOCKGROUP Geographic Identifier \n", + "1 HHDCY_11b160d2 Number of households Households (2019A) \n", + "2 XCYAP1_ef233ec0 XCYAP1 Men's Apparel (Ave Hhd Exp) \n", + "3 XCYAP2_762a6f7a XCYAP2 Boys Apparel (Ave Hhd Exp) \n", + "4 XCYAP3_12d5fec XCYAP3 Women's Apparel (Ave Hhd Exp) \n", + "\n", + " db_type agg_method column_name \\\n", + "0 STRING None BLOCKGROUP \n", + "1 INTEGER SUM HHDCY \n", + "2 FLOAT AVG XCYAP1 \n", + "3 FLOAT AVG XCYAP2 \n", + "4 FLOAT AVG XCYAP3 \n", + "\n", + " variable_group_id \\\n", + "0 None \n", + "1 None \n", + "2 carto-do.ags.demographics_consumerspending_usa... \n", + "3 carto-do.ags.demographics_consumerspending_usa... \n", + "4 carto-do.ags.demographics_consumerspending_usa... \n", + "\n", + " dataset_id \\\n", + "0 carto-do.ags.demographics_consumerspending_usa... \n", + "1 carto-do.ags.demographics_consumerspending_usa... \n", + "2 carto-do.ags.demographics_consumerspending_usa... \n", + "3 carto-do.ags.demographics_consumerspending_usa... \n", + "4 carto-do.ags.demographics_consumerspending_usa... \n", + "\n", + " id \n", + "0 carto-do.ags.demographics_consumerspending_usa... \n", + "1 carto-do.ags.demographics_consumerspending_usa... \n", + "2 carto-do.ags.demographics_consumerspending_usa... \n", + "3 carto-do.ags.demographics_consumerspending_usa... \n", + "4 carto-do.ags.demographics_consumerspending_usa... " + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.variables.to_dataframe().head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The variables we're interested in are:\n", + " - `XCYHC2` Health care services expenditure\n", + " - `XCYPC3` Personal care services expenditure\n", + " - `XCYPC4` Personal care products expenditure" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 176 + }, + "id": "4hnIrl9gO1CZ", + "outputId": "000283d5-423d-427c-9269-c726c5288323" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'slug': 'XCYHC2_18141567',\n", + " 'name': 'XCYHC2',\n", + " 'description': 'Health Care Services (Ave Hhd Exp)',\n", + " 'db_type': 'FLOAT',\n", + " 'agg_method': 'AVG',\n", + " 'column_name': 'XCYHC2',\n", + " 'variable_group_id': 'carto-do.ags.demographics_consumerspending_usa_blockgroup_2015_yearly_2020.consumer_spending_by_product_category',\n", + " 'dataset_id': 'carto-do.ags.demographics_consumerspending_usa_blockgroup_2015_yearly_2020',\n", + " 'id': 'carto-do.ags.demographics_consumerspending_usa_blockgroup_2015_yearly_2020.XCYHC2'}" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Variable.get('XCYHC2_18141567').to_dict()" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": { + "id": "vtbXm1ayO0_g" + }, + "outputs": [], + "source": [ + "ph_pharmacies_enriched = enrichment.enrich_polygons(\n", + " ph_pharmacies,\n", + " variables=['XCYPC3_7d26d739', 'XCYPC4_e342429a', 'XCYHC2_18141567'],\n", + " geom_col='iso_5car'\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We rename the new columns to give them a more descriptive name." + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": { + "id": "cw68th5dQa3r" + }, + "outputs": [], + "source": [ + "ph_pharmacies = ph_pharmacies_enriched.rename(columns={'XCYHC2':'health_care_services_exp',\n", + " 'XCYPC3':'personal_care_services_exp',\n", + " 'XCYPC4':'personal_care_products_exp'})" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 227 + }, + "id": "bdOlUKo4TPQs", + "outputId": "e684af95-31b0-467e-b216-f6b1d8b09553" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                  \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                  PB_IDgeoiddo_dateNAMEBRANDNAMETRADE_NAMEFRANCHISE_NAMEISO3AREANAME4AREANAME3AREANAME2AREANAME1STABBPOSTCODEFORMATTEDADDRESSMAINADDRESSLINEADDRESSLASTLINELONGITUDELATITUDEGEORESULTCONFIDENCE_CODECOUNTRY_ACCESS_CODETEL_NUMFAXNUMEMAILHTTPOPEN_24HBUSINESS_LINESIC1SIC2SIC8SIC8_DESCRIPTIONALT_INDUSTRY_CODEMICODETRADE_DIVISIONGROUPCLASSSUB_CLASS_xEMPLOYEE_HEREEMPLOYEE_COUNTYEAR_STARTSALES_VOLUME_LOCALSALES_VOLUME_US_DOLLARSCURRENCY_CODEAGENT_CODELEGAL_STATUS_CODESTATUS_CODESUBSIDIARY_INDICATORPARENT_BUSINESS_NAMEPARENT_ADDRESSPARENT_STREET_ADDRESSPARENT_AREANAME3PARENT_AREANAME1PARENT_COUNTRYPARENT_POSTCODEDOMESTIC_ULTIMATE_BUSINESS_NAMEDOMESTIC_ULTIMATE_ADDRESSDOMESTIC_ULTIMATE_STREET_ADDRESSDOMESTIC_ULTIMATE_AREANAME3DOMESTIC_ULTIMATE_AREANAME1DOMESTIC_ULTIMATE_POSTCODEGLOBAL_ULTIMATE_INDICATORGLOBAL_ULTIMATE_BUSINESS_NAMEGLOBAL_ULTIMATE_ADDRESSGLOBAL_ULTIMATE_STREET_ADDRESSGLOBAL_ULTIMATE_AREANAME3GLOBAL_ULTIMATE_AREANAME1GLOBAL_ULTIMATE_COUNTRYGLOBAL_ULTIMATE_POSTCODEFAMILY_MEMBERSHIERARCHY_CODETICKER_SYMBOLEXCHANGE_NAMEgeomiso_5carPOPCYHINCYMED65HINCYMED75INCCYMEDHHpop_60plusn_pois_personal_carehealth_care_services_exppersonal_care_services_exppersonal_care_products_exp
                                                                  011146893271114689327#-75.186601#39.9183012020-08-01WALGREEN EASTERN CO., INC.WALGREENSWALGREENSNaNUSANaNPHILADELPHIAPHILADELPHIAPENNSYLVANIAPA19145-41222310 W OREGON AVE, PHILADELPHIA, PA, 19145-41222310 W OREGON AVEPHILADELPHIA, PA, 19145-4122-75.18660139.918301S8HPNTSCZAHIGH1.0(215) 468-2481NaNNaNWWW.WALLGREENSBOOTSALLIANCE.COMNaNDRUG STORES AND PROPRIETARY STORES5912NaN59129901DRUG STORES446110.010010700DIVISION G. - RETAIL TRADEMISCELLANEOUS RETAILDRUG STORES AND PROPRIETARY STORESDRUG STORES AND PROPRIETARY STORES/PHARMACY40.00.00.00.00.0NaNG0.02.00.0WALGREEN EASTERN CO., INC.200 WILMOT RD, DEERFIELD, ILLINOIS, 600154620,...200 WILMOT RDDEERFIELDILLINOISUSA600154620.0WALGREENS BOOTS ALLIANCE, INC.108 WILMOT RD, DEERFIELD, ILLINOIS, 600155145108 WILMOT RDDEERFIELDILLINOIS600155145.0NWALGREENS BOOTS ALLIANCE, INC.108 WILMOT RD, DEERFIELD, ILLINOIS, 600155145,...108 WILMOT RDDEERFIELDILLINOISUSA600155145.09551.03.0NaNNaNPOINT (-75.18660 39.91830)MULTIPOLYGON (((-75.19996 39.93393, -75.19953 ...15037.34023450981.22727338971.63636455397.4090913364.675232541.0925.483182349.088636302.686364
                                                                  111149424691114942469#-75.160179#39.9704782020-08-01TANG PHARMACY IVNaNTANG PHARMACY IVNaNUSANaNPHILADELPHIAPHILADELPHIAPENNSYLVANIAPA19130-1604900 N BROAD ST, PHILADELPHIA, PA, 19130-1604900 N BROAD STPHILADELPHIA, PA, 19130-1604-75.16017939.970478S8HPNTSCZAHIGH1.0(215) 235-1400NaNNaNNaNNaNDRUG STORES AND PROPRIETARY STORES5912NaN59120000DRUG STORES AND PROPRIETARY STORES446110.010230030DIVISION G. - RETAIL TRADEMISCELLANEOUS RETAILDRUG STORES AND PROPRIETARY STORESDRUG STORES AND PROPRIETARY STORES/PHARMACY4.04.02012.0610000.0610000.020.0G3.00.00.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNNaNNaNNaNNaNNaNNaNNaN0.00.0NaNNaNPOINT (-75.16018 39.97048)MULTIPOLYGON (((-75.17592 39.96826, -75.17550 ...54623.53098046537.36842137788.38596549895.80701810112.7251431442.0833.376667321.834211279.067719
                                                                  \n", + "
                                                                  " + ], + "text/plain": [ + " PB_ID geoid do_date \\\n", + "0 1114689327 1114689327#-75.186601#39.918301 2020-08-01 \n", + "1 1114942469 1114942469#-75.160179#39.970478 2020-08-01 \n", + "\n", + " NAME BRANDNAME TRADE_NAME FRANCHISE_NAME \\\n", + "0 WALGREEN EASTERN CO., INC. WALGREENS WALGREENS NaN \n", + "1 TANG PHARMACY IV NaN TANG PHARMACY IV NaN \n", + "\n", + " ISO3 AREANAME4 AREANAME3 AREANAME2 AREANAME1 STABB POSTCODE \\\n", + "0 USA NaN PHILADELPHIA PHILADELPHIA PENNSYLVANIA PA 19145-4122 \n", + "1 USA NaN PHILADELPHIA PHILADELPHIA PENNSYLVANIA PA 19130-1604 \n", + "\n", + " FORMATTEDADDRESS MAINADDRESSLINE \\\n", + "0 2310 W OREGON AVE, PHILADELPHIA, PA, 19145-4122 2310 W OREGON AVE \n", + "1 900 N BROAD ST, PHILADELPHIA, PA, 19130-1604 900 N BROAD ST \n", + "\n", + " ADDRESSLASTLINE LONGITUDE LATITUDE GEORESULT \\\n", + "0 PHILADELPHIA, PA, 19145-4122 -75.186601 39.918301 S8HPNTSCZA \n", + "1 PHILADELPHIA, PA, 19130-1604 -75.160179 39.970478 S8HPNTSCZA \n", + "\n", + " CONFIDENCE_CODE COUNTRY_ACCESS_CODE TEL_NUM FAXNUM EMAIL \\\n", + "0 HIGH 1.0 (215) 468-2481 NaN NaN \n", + "1 HIGH 1.0 (215) 235-1400 NaN NaN \n", + "\n", + " HTTP OPEN_24H \\\n", + "0 WWW.WALLGREENSBOOTSALLIANCE.COM NaN \n", + "1 NaN NaN \n", + "\n", + " BUSINESS_LINE SIC1 SIC2 SIC8 \\\n", + "0 DRUG STORES AND PROPRIETARY STORES 5912 NaN 59129901 \n", + "1 DRUG STORES AND PROPRIETARY STORES 5912 NaN 59120000 \n", + "\n", + " SIC8_DESCRIPTION ALT_INDUSTRY_CODE MICODE \\\n", + "0 DRUG STORES 446110.0 10010700 \n", + "1 DRUG STORES AND PROPRIETARY STORES 446110.0 10230030 \n", + "\n", + " TRADE_DIVISION GROUP \\\n", + "0 DIVISION G. - RETAIL TRADE MISCELLANEOUS RETAIL \n", + "1 DIVISION G. - RETAIL TRADE MISCELLANEOUS RETAIL \n", + "\n", + " CLASS \\\n", + "0 DRUG STORES AND PROPRIETARY STORES \n", + "1 DRUG STORES AND PROPRIETARY STORES \n", + "\n", + " SUB_CLASS_x EMPLOYEE_HERE EMPLOYEE_COUNT \\\n", + "0 DRUG STORES AND PROPRIETARY STORES/PHARMACY 40.0 0.0 \n", + "1 DRUG STORES AND PROPRIETARY STORES/PHARMACY 4.0 4.0 \n", + "\n", + " YEAR_START SALES_VOLUME_LOCAL SALES_VOLUME_US_DOLLARS CURRENCY_CODE \\\n", + "0 0.0 0.0 0.0 NaN \n", + "1 2012.0 610000.0 610000.0 20.0 \n", + "\n", + " AGENT_CODE LEGAL_STATUS_CODE STATUS_CODE SUBSIDIARY_INDICATOR \\\n", + "0 G 0.0 2.0 0.0 \n", + "1 G 3.0 0.0 0.0 \n", + "\n", + " PARENT_BUSINESS_NAME \\\n", + "0 WALGREEN EASTERN CO., INC. \n", + "1 NaN \n", + "\n", + " PARENT_ADDRESS PARENT_STREET_ADDRESS \\\n", + "0 200 WILMOT RD, DEERFIELD, ILLINOIS, 600154620,... 200 WILMOT RD \n", + "1 NaN NaN \n", + "\n", + " PARENT_AREANAME3 PARENT_AREANAME1 PARENT_COUNTRY PARENT_POSTCODE \\\n", + "0 DEERFIELD ILLINOIS USA 600154620.0 \n", + "1 NaN NaN NaN NaN \n", + "\n", + " DOMESTIC_ULTIMATE_BUSINESS_NAME \\\n", + "0 WALGREENS BOOTS ALLIANCE, INC. \n", + "1 NaN \n", + "\n", + " DOMESTIC_ULTIMATE_ADDRESS \\\n", + "0 108 WILMOT RD, DEERFIELD, ILLINOIS, 600155145 \n", + "1 NaN \n", + "\n", + " DOMESTIC_ULTIMATE_STREET_ADDRESS DOMESTIC_ULTIMATE_AREANAME3 \\\n", + "0 108 WILMOT RD DEERFIELD \n", + "1 NaN NaN \n", + "\n", + " DOMESTIC_ULTIMATE_AREANAME1 DOMESTIC_ULTIMATE_POSTCODE \\\n", + "0 ILLINOIS 600155145.0 \n", + "1 NaN NaN \n", + "\n", + " GLOBAL_ULTIMATE_INDICATOR GLOBAL_ULTIMATE_BUSINESS_NAME \\\n", + "0 N WALGREENS BOOTS ALLIANCE, INC. \n", + "1 N NaN \n", + "\n", + " GLOBAL_ULTIMATE_ADDRESS \\\n", + "0 108 WILMOT RD, DEERFIELD, ILLINOIS, 600155145,... \n", + "1 NaN \n", + "\n", + " GLOBAL_ULTIMATE_STREET_ADDRESS GLOBAL_ULTIMATE_AREANAME3 \\\n", + "0 108 WILMOT RD DEERFIELD \n", + "1 NaN NaN \n", + "\n", + " GLOBAL_ULTIMATE_AREANAME1 GLOBAL_ULTIMATE_COUNTRY GLOBAL_ULTIMATE_POSTCODE \\\n", + "0 ILLINOIS USA 600155145.0 \n", + "1 NaN NaN NaN \n", + "\n", + " FAMILY_MEMBERS HIERARCHY_CODE TICKER_SYMBOL EXCHANGE_NAME \\\n", + "0 9551.0 3.0 NaN NaN \n", + "1 0.0 0.0 NaN NaN \n", + "\n", + " geom \\\n", + "0 POINT (-75.18660 39.91830) \n", + "1 POINT (-75.16018 39.97048) \n", + "\n", + " iso_5car POPCY \\\n", + "0 MULTIPOLYGON (((-75.19996 39.93393, -75.19953 ... 15037.340234 \n", + "1 MULTIPOLYGON (((-75.17592 39.96826, -75.17550 ... 54623.530980 \n", + "\n", + " HINCYMED65 HINCYMED75 INCCYMEDHH pop_60plus \\\n", + "0 50981.227273 38971.636364 55397.409091 3364.675232 \n", + "1 46537.368421 37788.385965 49895.807018 10112.725143 \n", + "\n", + " n_pois_personal_care health_care_services_exp personal_care_services_exp \\\n", + "0 541.0 925.483182 349.088636 \n", + "1 1442.0 833.376667 321.834211 \n", + "\n", + " personal_care_products_exp \n", + "0 302.686364 \n", + "1 279.067719 " + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ph_pharmacies.head(2)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "NSrbnR9qxGiT" + }, + "source": [ + "\n", + "### 4. Dashboard\n", + "\n", + "Finally, with all the data gathered, we will build the dashboard and publish it so we can share it with our client/manager/colleague for them to explore it.\n", + "\n", + "This dashboard allows you to select a range of desired expenditure in care products, people aged 60+, household income, and so forth. Selecting the desired ranges will filter out pharmacies, so that in the end you can identify the target pharmacies for your marketing campaign." + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "id": "SCT0p3tbQq8b" + }, + "outputs": [], + "source": [ + "cmap = Map(Layer(ph_pharmacies, \n", + " geom_col='geom', \n", + " style=color_category_style('SIC8_DESCRIPTION', size=4, opacity=0.85, palette='safe', stroke_width=0.15), \n", + " widgets=[formula_widget(\n", + " 'PB_ID', \n", + " operation='COUNT', \n", + " title='Total number of pharmacies', \n", + " description='Keep track of the total amount of pharmacies that meet the ranges selected on the widgets below'),\n", + " histogram_widget(\n", + " 'pop_60plus',\n", + " title='Population 60+',\n", + " description='Select a range of values to filter',\n", + " buckets=15\n", + " ),\n", + " histogram_widget(\n", + " 'HINCYMED65',\n", + " title='Household income 65-74',\n", + " buckets=15\n", + " ),\n", + " histogram_widget(\n", + " 'HINCYMED75',\n", + " title='Household income 75+',\n", + " buckets=15\n", + " ),\n", + " histogram_widget(\n", + " 'n_pois_personal_care',\n", + " title='Number of personal care POIs',\n", + " buckets=15\n", + " ),\n", + " histogram_widget(\n", + " 'personal_care_products_exp',\n", + " title='Expenditure in personal care products ($)',\n", + " buckets=15\n", + " )], \n", + " legends=color_category_legend(\n", + " title='Pharmacies',\n", + " description='Type of store'), \n", + " popup_hover=[popup_element('NAME', title='Name')]\n", + " ), \n", + " viewport={'zoom': 11}\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 674 + }, + "id": "eYvmWDnsXoQK", + "outputId": "81fcf9bf-75bd-4c10-a67e-0139a3389474" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + " \n", + "\n", + "\n", + " \n", + "
                                                                  \n", + "
                                                                  \n", + "
                                                                  \n", + " \n", + " \n", + "
                                                                  \n", + "
                                                                  \n", + " \n", + "\n", + "
                                                                  \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                  \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                  \n", + " \n", + " \n", + "
                                                                  \n", + "
                                                                  \n", + "
                                                                  \n", + "
                                                                  \n", + " \n", + "
                                                                  \n", + "
                                                                  \n", + "
                                                                  \n", + "\n", + " \n", + "\n", + "
                                                                  \n", + "
                                                                  \n", + " :\n", + "
                                                                  \n", + " \n", + " \n", + "
                                                                  \n", + "
                                                                  \n", + "\n", + "
                                                                  \n", + " StackTrace\n", + "
                                                                    \n", + "
                                                                    \n", + "
                                                                    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cmap" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "7A4fyiG1xWVp" + }, + "source": [ + "#### Publish dashboard" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "id": "hu6lMFmvxWnM" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'id': '6765be0f-02da-4bec-b80c-63ec9bcd5624',\n", + " 'url': 'https://cartoframes-org.carto.com/u/cartoframes/kuviz/6765be0f-02da-4bec-b80c-63ec9bcd5624',\n", + " 'name': 'ph_pharmacies_dashboard',\n", + " 'privacy': 'password'}" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cmap.publish('ph_pharmacies_dashboard', password='MY_PASS', if_exists='replace')" + ] + } + ], + "metadata": { + "colab": { + "collapsed_sections": [], + "name": "[CARTO] Building a dashboard.ipynb", + "provenance": [], + "toc_visible": true + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/docs/examples/use_cases/combining_two_datasets.ipynb b/docs/examples/use_cases/combining_two_datasets.ipynb new file mode 100644 index 000000000..d59c73e62 --- /dev/null +++ b/docs/examples/use_cases/combining_two_datasets.ipynb @@ -0,0 +1,3455 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "IkfOIflwHsJN" + }, + "source": [ + "## Combining two datasets. Using geosocial media data to understand retail performance\n", + "\n", + "Geosocial data is location-based social media data that can be interpreted and analyzed as part of any location-oriented business decision. \n", + "\n", + "In this notebook, [Spatial.ai geosocial data](https://carto.com/spatial-data-catalog/browser/?provider=spatial_ai) is combined with [Mastercard financial data](https://carto.com/spatial-data-catalog/browser/?provider=mastercard) to quantify how much of retail performance can be explained by geosocial behavior. We compare the cities of Chicago and Los Angeles to show how retail performance is driven by different social segments depending on the city.\n", + "\n", + "**Note** this use case leverages premium datasets from [CARTO Data Observatory](https://carto.com/spatial-data-catalog/).\n", + "\n", + "The notebook is organized in the following sections:\n", + "1. [Download data from the Data Observatory](#section1)\n", + "2. [Analyzing geosocial drivers](#section2)\n", + " - [Identify where top performers are](#section21)\n", + " - [Characterization of top performers](#section22)\n", + " - [Correlation analysis](#section23)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "3dhzR472HsJO" + }, + "source": [ + "### 0. Setup\n", + "\n", + "#### 0.1. Import packages" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 52 + }, + "id": "UhohOUSPHsJO", + "outputId": "e4d9b65d-ec5d-49da-ee4a-b43404c8561b" + }, + "outputs": [], + "source": [ + "import geopandas as gpd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "\n", + "from cartoframes.auth import set_default_credentials\n", + "from cartoframes.data.observatory import *\n", + "from cartoframes.viz import *\n", + "from shapely import wkt\n", + "\n", + "pd.set_option('display.max_columns', None)\n", + "sns.set_style('whitegrid')\n", + "\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 0.2. Set CARTO default credentials\n", + "\n", + "In order to be able to use the Data Observatory via CARTOframes, you need to set your CARTO account credentials first.\n", + "\n", + "Please, visit the [Authentication guide](https://carto.com/developers/cartoframes/guides/Authentication/) for further detail." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('creds.json')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note about credentials**\n", + "\n", + "For security reasons, we recommend storing your credentials in an external file to prevent publishing them by accident when sharing your notebooks. You can get more information in the section _Setting your credentials_ of the [Authentication guide](https://carto.com/developers/cartoframes/guides/Authentication/)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "UYz9tHunHsJY" + }, + "source": [ + "\n", + "### 1. Download data from the Data Observatory\n", + "\n", + "In this section, we'll download the two datasets we're interested in and combine them into a single dataframe.\n", + "\n", + "For more information on how to access Data Observatory datasets using CARTOframes visit the [Guides](https://carto.com/developers/cartoframes/guides/) or take a look at the Access Premium Data template." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "MxuN2Vs-zscL" + }, + "source": [ + "#### Data loading functions" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following function loads the census block group ids for the city of interest. This is used afterwards to filter the data downloaded from the Data Observatory." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "id": "noaWSMg6SQwB" + }, + "outputs": [], + "source": [ + "LA_CBG_PATH = 'https://libs.cartocdn.com/cartoframes/samples/la_cbg.csv'\n", + "LA_BB = '-118.673619,33.553967,-117.997960,34.360425'\n", + "CHICACO_CBG_PATH = 'https://libs.cartocdn.com/cartoframes/samples/chicago_cbg.csv'\n", + "CHICAGO_BB = '-88.638285,41.434892,-87.487468,42.502873'\n", + "\n", + "def read_cbg(city):\n", + " cbg_list = pd.DataFrame()\n", + " bbox = ''\n", + " if city == 'la':\n", + " cbg_list = pd.read_csv(LA_CBG_PATH, dtype={'geoid':str})['geoid'].tolist()\n", + " bbox = LA_BB\n", + " elif city == 'chicago':\n", + " cbg_list = pd.read_csv(CHICACO_CBG_PATH, dtype={'geoid':str})['geoid'].tolist()\n", + " bbox = CHICAGO_BB\n", + " return cbg_list, bbox" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following function downloads the latest [Spatial.ai Geosocial Segments](https://carto.com/spatial-data-catalog/browser/dataset/spa_geosocial_s_d5dc42ae/) data for the specified bounding box." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "id": "DOuH4oA1ToXo" + }, + "outputs": [], + "source": [ + "def download_social(bbox, cbg_list):\n", + " dataset = Dataset.get('spa_geosocial_s_d5dc42ae')\n", + " sql_query = f\"SELECT * FROM $dataset$ WHERE CAST(do_date AS date) >= (SELECT MAX(CAST(do_date AS date)) FROM $dataset$) AND ST_IntersectsBox(geom, {bbox})\"\n", + " social = dataset.to_dataframe(sql_query=sql_query)\n", + " social = social[social['geoid'].isin(cbg_list)]\n", + " social.drop(columns=['do_label', 'do_area', 'do_perimeter', 'do_num_vertices'], inplace=True)\n", + " return social" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following function downloads the latest [Mastercard Geographic Insights](https://carto.com/spatial-data-catalog/browser/dataset/mc_geographic__7980c5c3/) data for the specified bounding box.\n", + "\n", + "Note the data is also filtered by geo_type. There are three types of geo_types depending if the indices shown represent a comparison with regards to country (c), province (p) or metropolitan area (m)." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "id": "aS0Pb2C-UgzH" + }, + "outputs": [], + "source": [ + "def download_mastercard(bbox, cbg_list):\n", + " dataset = Dataset.get('mc_geographic__7980c5c3')\n", + " sql_query = f\"SELECT * FROM $dataset$ WHERE geo_type = 'm' AND CAST(do_date AS date) >= (SELECT MAX(CAST(do_date AS date)) FROM $dataset$) AND ST_IntersectsBox(geom, {bbox})\"\n", + " mrli = dataset.to_dataframe(sql_query=sql_query)\n", + " mrli = mrli[mrli['geoid'].isin(cbg_list)]\n", + " mrli.drop(columns=['do_label', 'do_area', 'do_perimeter', 'do_num_vertices'], inplace=True)\n", + "\n", + " mrli = mrli.sort_values(['geoid', 'industry', 'segment', 'geo_type', 'do_date']).reset_index(drop=True)\n", + " return mrli" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following function loads the three datasets and merges them into a single one.\n", + "\n", + "**Note** we can merge the dataframes because both datasets are defined at the census block group level, so the geoid's are common to both of them." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "id": "0W7bJ9iEU1mx" + }, + "outputs": [], + "source": [ + "def download_data(city):\n", + " cbg_list, bbox = read_cbg(city)\n", + " social = download_social(bbox, cbg_list)\n", + " social.drop(columns='geom', inplace=True)\n", + " mrli = download_mastercard(bbox, cbg_list)\n", + " mrli = mrli[(mrli['segment'] == 'o')]\n", + " mrli = mrli.merge(social, on='geoid')\n", + " mrli = gpd.GeoDataFrame(mrli, crs='epsg:4326')\n", + " return mrli" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "8eQ05DR1z1vL" + }, + "source": [ + "### Download data into dataframes\n", + "\n", + "Here we'll load the data for Chicago and LA." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 328 + }, + "id": "VywMyAySHsJb", + "outputId": "cf3d5c82-6548-4c6a-d070-e821530e9606" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                    geoiddo_date_xregion_idindustrysegmentgeo_typetxn_amttxn_cntacct_cntavg_ticketavg_freqavg_spend_amtgeomcomparison_levelcomparison_geography_namecomparison_geography_IDcomparison_geography_countEA01_bookishEA02_engine_enthusiastsEA03_green_thumbEA04_natural_beautyEA05_wanderlustEA06_handcraftedEA07_animal_advocatesEA08_dog_loversEA09_smoke_cultureEB01_daily_grindEB02_nerd_cultureEB03_lgbtq_cultureEB04_wealth_signalingEB05_hipsterEB06_student_lifeEB07_farm_cultureEC01_love_and_romanceEC02_happily_ever_afterEC03_dating_lifeEC04_connected_motherhoodEC05_family_timeEC06_my_crewEC07_girl_squadEC08_networkingED01_sweet_treatsED02_coffee_connoisseurED03_trendy_eatsED04_whiskey_businessED05_asian_food_and_cultureED06_ingredient_attentiveED07_fueling_for_fitnessED08_wine_loversED09_hops_and_brewsEE01_film_loversEE02_competitive_natureEE03_live_experiencesEE04_late_night_leisureEE05_party_lifeEE06_live_and_local_musicEE07_lighthearted_funEF01_deep_emotionsEF02_heartfelt_sharingEF03_awestruckEF04_happy_placeEF05_gratitudeEF06_memory_laneEG01_dance_devotionEG02_artistic_appreciationEG03_pieces_of_historyEG04_sites_to_seeEG05_hip_hop_cultureEH01_mindfulness_and_spiritualityEH02_activismEH03_politically_engagedEH04_praise_and_worshipEH05_conservationEH06_civic_attentivenessEI01_trend_trackersEI02_all_about_hairEI03_mens_styleEI04_fitness_fashionEI05_body_artEI06_smart_chicEJ01_home_and_leisureEJ02_past_reflectionsEJ03_humanitarianEJ04_deal_seekersEK01_organized_sportsEK02_fitness_obsessionEK03_outdoor_adventuresEK04_yoga_advocatesEK05_functional_fitnessindex_high_end_affinityindex_mid_range_consumer_affinityindex_discount_affinityindex_foodie_affinityindex_breakfast_and_brunch_affinityindex_fast_casual_affinityindex_coffee_affinityindex_fast_food_affinityindex_organic_and_local_affinityindex_fashion_affinityindex_health_conscious_affinityindex_entertainment_affinityindex_late_night_affinityindex_personal_care_affinityindex_younger_affinityindex_older_affinityindex_family_affinityindex_politically_liberal_affinityindex_politically_conservative_affinityVOLUME_INDEXdo_date_y
                                                                    01703101010022020-11-0117appom0.00.00.00.00.00.0POLYGON ((-87.67710 42.02255, -87.67355 42.019...NationalUSAUSA217739.083.6243.2868.4114.976.3525.0032.4828.9729.1952.5767.7693.5916.9356.8048.3333.1814.038.8327.185.6830.279.6821.2377.1771.3942.1571.6913.0161.7356.8951.8138.3968.3478.9229.9367.0069.6464.6346.6223.2344.2749.2318.9749.6967.2920.2979.4679.3698.0111.8153.2953.8286.2345.1923.0940.4881.3528.6234.726.4426.9969.1312.3162.5640.6045.2423.9352.5353.7412.3356.8950.2554.3341.0860.4942.6459.4832.7167.4836.4154.3721.8253.0459.0154.0942.5268.7622.1420.3864.5724.702.552020-10-01
                                                                    11703101010022020-11-0117appom0.00.00.00.00.00.0POLYGON ((-87.67710 42.02255, -87.67355 42.019...DMAChicago (IL)6026735.079.1964.7571.4329.6521.0942.9750.8645.4035.0652.3464.2587.7724.2057.8852.5760.0220.3520.8729.0314.9134.3419.8819.7466.9967.1742.6768.9622.5157.9164.6557.9451.3670.8775.4537.5960.0667.7659.1150.0644.0449.9742.5133.3352.3469.8026.4874.5576.6195.6124.8742.3559.9686.1951.2534.3952.4777.8132.8936.266.8931.8771.5620.0865.1150.1545.9130.4458.5963.0832.0264.6847.2161.8451.1458.8549.5459.9438.5067.0849.8260.4225.6058.3058.6353.5146.4665.9339.5832.7162.9036.442.552020-10-01
                                                                    21703101010022020-11-0117appom0.00.00.00.00.00.0POLYGON ((-87.67710 42.02255, -87.67355 42.019...CountyCook County170313993.074.2368.1467.1729.3820.3844.7752.0847.3936.7148.0966.7181.1919.8449.9752.4068.9518.5720.6527.6313.7732.4317.9218.8757.5762.7839.2262.8322.2151.9963.9455.2050.4671.4867.8236.4756.3165.6146.3147.2546.7444.1234.3134.5851.4367.7422.8669.6869.5794.1525.4732.5154.0779.4345.2833.0548.5770.8632.1331.704.8230.2469.1618.1762.6144.3144.2929.1962.6167.7637.6062.8346.7959.1951.3752.8248.1755.5738.7461.8650.9456.2423.4159.0456.9149.9043.0561.8742.3733.2255.6538.142.552020-10-01
                                                                    \n", + "
                                                                    " + ], + "text/plain": [ + " geoid do_date_x region_id industry segment geo_type txn_amt \\\n", + "0 170310101002 2020-11-01 17 app o m 0.0 \n", + "1 170310101002 2020-11-01 17 app o m 0.0 \n", + "2 170310101002 2020-11-01 17 app o m 0.0 \n", + "\n", + " txn_cnt acct_cnt avg_ticket avg_freq avg_spend_amt \\\n", + "0 0.0 0.0 0.0 0.0 0.0 \n", + "1 0.0 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " geom comparison_level \\\n", + "0 POLYGON ((-87.67710 42.02255, -87.67355 42.019... National \n", + "1 POLYGON ((-87.67710 42.02255, -87.67355 42.019... DMA \n", + "2 POLYGON ((-87.67710 42.02255, -87.67355 42.019... County \n", + "\n", + " comparison_geography_name comparison_geography_ID \\\n", + "0 USA USA \n", + "1 Chicago (IL) 602 \n", + "2 Cook County 17031 \n", + "\n", + " comparison_geography_count EA01_bookish EA02_engine_enthusiasts \\\n", + "0 217739.0 83.62 43.28 \n", + "1 6735.0 79.19 64.75 \n", + "2 3993.0 74.23 68.14 \n", + "\n", + " EA03_green_thumb EA04_natural_beauty EA05_wanderlust EA06_handcrafted \\\n", + "0 68.41 14.97 6.35 25.00 \n", + "1 71.43 29.65 21.09 42.97 \n", + "2 67.17 29.38 20.38 44.77 \n", + "\n", + " EA07_animal_advocates EA08_dog_lovers EA09_smoke_culture \\\n", + "0 32.48 28.97 29.19 \n", + "1 50.86 45.40 35.06 \n", + "2 52.08 47.39 36.71 \n", + "\n", + " EB01_daily_grind EB02_nerd_culture EB03_lgbtq_culture \\\n", + "0 52.57 67.76 93.59 \n", + "1 52.34 64.25 87.77 \n", + "2 48.09 66.71 81.19 \n", + "\n", + " EB04_wealth_signaling EB05_hipster EB06_student_life EB07_farm_culture \\\n", + "0 16.93 56.80 48.33 33.18 \n", + "1 24.20 57.88 52.57 60.02 \n", + "2 19.84 49.97 52.40 68.95 \n", + "\n", + " EC01_love_and_romance EC02_happily_ever_after EC03_dating_life \\\n", + "0 14.03 8.83 27.18 \n", + "1 20.35 20.87 29.03 \n", + "2 18.57 20.65 27.63 \n", + "\n", + " EC04_connected_motherhood EC05_family_time EC06_my_crew EC07_girl_squad \\\n", + "0 5.68 30.27 9.68 21.23 \n", + "1 14.91 34.34 19.88 19.74 \n", + "2 13.77 32.43 17.92 18.87 \n", + "\n", + " EC08_networking ED01_sweet_treats ED02_coffee_connoisseur \\\n", + "0 77.17 71.39 42.15 \n", + "1 66.99 67.17 42.67 \n", + "2 57.57 62.78 39.22 \n", + "\n", + " ED03_trendy_eats ED04_whiskey_business ED05_asian_food_and_culture \\\n", + "0 71.69 13.01 61.73 \n", + "1 68.96 22.51 57.91 \n", + "2 62.83 22.21 51.99 \n", + "\n", + " ED06_ingredient_attentive ED07_fueling_for_fitness ED08_wine_lovers \\\n", + "0 56.89 51.81 38.39 \n", + "1 64.65 57.94 51.36 \n", + "2 63.94 55.20 50.46 \n", + "\n", + " ED09_hops_and_brews EE01_film_lovers EE02_competitive_nature \\\n", + "0 68.34 78.92 29.93 \n", + "1 70.87 75.45 37.59 \n", + "2 71.48 67.82 36.47 \n", + "\n", + " EE03_live_experiences EE04_late_night_leisure EE05_party_life \\\n", + "0 67.00 69.64 64.63 \n", + "1 60.06 67.76 59.11 \n", + "2 56.31 65.61 46.31 \n", + "\n", + " EE06_live_and_local_music EE07_lighthearted_fun EF01_deep_emotions \\\n", + "0 46.62 23.23 44.27 \n", + "1 50.06 44.04 49.97 \n", + "2 47.25 46.74 44.12 \n", + "\n", + " EF02_heartfelt_sharing EF03_awestruck EF04_happy_place EF05_gratitude \\\n", + "0 49.23 18.97 49.69 67.29 \n", + "1 42.51 33.33 52.34 69.80 \n", + "2 34.31 34.58 51.43 67.74 \n", + "\n", + " EF06_memory_lane EG01_dance_devotion EG02_artistic_appreciation \\\n", + "0 20.29 79.46 79.36 \n", + "1 26.48 74.55 76.61 \n", + "2 22.86 69.68 69.57 \n", + "\n", + " EG03_pieces_of_history EG04_sites_to_see EG05_hip_hop_culture \\\n", + "0 98.01 11.81 53.29 \n", + "1 95.61 24.87 42.35 \n", + "2 94.15 25.47 32.51 \n", + "\n", + " EH01_mindfulness_and_spirituality EH02_activism EH03_politically_engaged \\\n", + "0 53.82 86.23 45.19 \n", + "1 59.96 86.19 51.25 \n", + "2 54.07 79.43 45.28 \n", + "\n", + " EH04_praise_and_worship EH05_conservation EH06_civic_attentiveness \\\n", + "0 23.09 40.48 81.35 \n", + "1 34.39 52.47 77.81 \n", + "2 33.05 48.57 70.86 \n", + "\n", + " EI01_trend_trackers EI02_all_about_hair EI03_mens_style \\\n", + "0 28.62 34.72 6.44 \n", + "1 32.89 36.26 6.89 \n", + "2 32.13 31.70 4.82 \n", + "\n", + " EI04_fitness_fashion EI05_body_art EI06_smart_chic \\\n", + "0 26.99 69.13 12.31 \n", + "1 31.87 71.56 20.08 \n", + "2 30.24 69.16 18.17 \n", + "\n", + " EJ01_home_and_leisure EJ02_past_reflections EJ03_humanitarian \\\n", + "0 62.56 40.60 45.24 \n", + "1 65.11 50.15 45.91 \n", + "2 62.61 44.31 44.29 \n", + "\n", + " EJ04_deal_seekers EK01_organized_sports EK02_fitness_obsession \\\n", + "0 23.93 52.53 53.74 \n", + "1 30.44 58.59 63.08 \n", + "2 29.19 62.61 67.76 \n", + "\n", + " EK03_outdoor_adventures EK04_yoga_advocates EK05_functional_fitness \\\n", + "0 12.33 56.89 50.25 \n", + "1 32.02 64.68 47.21 \n", + "2 37.60 62.83 46.79 \n", + "\n", + " index_high_end_affinity index_mid_range_consumer_affinity \\\n", + "0 54.33 41.08 \n", + "1 61.84 51.14 \n", + "2 59.19 51.37 \n", + "\n", + " index_discount_affinity index_foodie_affinity \\\n", + "0 60.49 42.64 \n", + "1 58.85 49.54 \n", + "2 52.82 48.17 \n", + "\n", + " index_breakfast_and_brunch_affinity index_fast_casual_affinity \\\n", + "0 59.48 32.71 \n", + "1 59.94 38.50 \n", + "2 55.57 38.74 \n", + "\n", + " index_coffee_affinity index_fast_food_affinity \\\n", + "0 67.48 36.41 \n", + "1 67.08 49.82 \n", + "2 61.86 50.94 \n", + "\n", + " index_organic_and_local_affinity index_fashion_affinity \\\n", + "0 54.37 21.82 \n", + "1 60.42 25.60 \n", + "2 56.24 23.41 \n", + "\n", + " index_health_conscious_affinity index_entertainment_affinity \\\n", + "0 53.04 59.01 \n", + "1 58.30 58.63 \n", + "2 59.04 56.91 \n", + "\n", + " index_late_night_affinity index_personal_care_affinity \\\n", + "0 54.09 42.52 \n", + "1 53.51 46.46 \n", + "2 49.90 43.05 \n", + "\n", + " index_younger_affinity index_older_affinity index_family_affinity \\\n", + "0 68.76 22.14 20.38 \n", + "1 65.93 39.58 32.71 \n", + "2 61.87 42.37 33.22 \n", + "\n", + " index_politically_liberal_affinity \\\n", + "0 64.57 \n", + "1 62.90 \n", + "2 55.65 \n", + "\n", + " index_politically_conservative_affinity VOLUME_INDEX do_date_y \n", + "0 24.70 2.55 2020-10-01 \n", + "1 36.44 2.55 2020-10-01 \n", + "2 38.14 2.55 2020-10-01 " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "chicago = download_data('chicago')\n", + "chicago.head(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 328 + }, + "id": "NL1vy1K0HsJh", + "outputId": "e6d94d0f-0cf7-49da-946b-5456535ebcb6" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                    geoiddo_date_xregion_idindustrysegmentgeo_typetxn_amttxn_cntacct_cntavg_ticketavg_freqavg_spend_amtgeomcomparison_levelcomparison_geography_namecomparison_geography_IDcomparison_geography_countEA01_bookishEA02_engine_enthusiastsEA03_green_thumbEA04_natural_beautyEA05_wanderlustEA06_handcraftedEA07_animal_advocatesEA08_dog_loversEA09_smoke_cultureEB01_daily_grindEB02_nerd_cultureEB03_lgbtq_cultureEB04_wealth_signalingEB05_hipsterEB06_student_lifeEB07_farm_cultureEC01_love_and_romanceEC02_happily_ever_afterEC03_dating_lifeEC04_connected_motherhoodEC05_family_timeEC06_my_crewEC07_girl_squadEC08_networkingED01_sweet_treatsED02_coffee_connoisseurED03_trendy_eatsED04_whiskey_businessED05_asian_food_and_cultureED06_ingredient_attentiveED07_fueling_for_fitnessED08_wine_loversED09_hops_and_brewsEE01_film_loversEE02_competitive_natureEE03_live_experiencesEE04_late_night_leisureEE05_party_lifeEE06_live_and_local_musicEE07_lighthearted_funEF01_deep_emotionsEF02_heartfelt_sharingEF03_awestruckEF04_happy_placeEF05_gratitudeEF06_memory_laneEG01_dance_devotionEG02_artistic_appreciationEG03_pieces_of_historyEG04_sites_to_seeEG05_hip_hop_cultureEH01_mindfulness_and_spiritualityEH02_activismEH03_politically_engagedEH04_praise_and_worshipEH05_conservationEH06_civic_attentivenessEI01_trend_trackersEI02_all_about_hairEI03_mens_styleEI04_fitness_fashionEI05_body_artEI06_smart_chicEJ01_home_and_leisureEJ02_past_reflectionsEJ03_humanitarianEJ04_deal_seekersEK01_organized_sportsEK02_fitness_obsessionEK03_outdoor_adventuresEK04_yoga_advocatesEK05_functional_fitnessindex_high_end_affinityindex_mid_range_consumer_affinityindex_discount_affinityindex_foodie_affinityindex_breakfast_and_brunch_affinityindex_fast_casual_affinityindex_coffee_affinityindex_fast_food_affinityindex_organic_and_local_affinityindex_fashion_affinityindex_health_conscious_affinityindex_entertainment_affinityindex_late_night_affinityindex_personal_care_affinityindex_younger_affinityindex_older_affinityindex_family_affinityindex_politically_liberal_affinityindex_politically_conservative_affinityVOLUME_INDEXdo_date_y
                                                                    0603710111022020-11-016autom0.00.00.00.00.00.0POLYGON ((-118.29945 34.25598, -118.29104 34.2...NationalUSAUSA217739.099.1193.3998.6381.0186.0581.8992.4479.6565.6480.1496.6595.1457.9182.1796.7971.5897.0470.1578.7592.9298.6398.4463.3765.6290.2494.6392.9784.7391.3656.7173.2989.6092.8199.0661.6698.0796.9886.2397.1398.7198.5596.2198.8380.6590.8292.3999.4996.5289.7195.9695.5396.2988.5978.2998.6977.7483.3452.0286.2758.5968.6795.6167.5192.9598.5999.4477.2186.5775.9444.9788.2764.1589.7985.6486.3276.9193.5879.2891.1581.0989.0366.6177.6494.2687.3078.5895.6576.6292.0593.6275.810.732020-10-01
                                                                    1603710111022020-11-016autom0.00.00.00.00.00.0POLYGON ((-118.29945 34.25598, -118.29104 34.2...DMALos Angeles (CA)80310816.099.5288.6798.9187.1288.6383.4591.4083.6856.5281.8297.6688.4456.3475.8997.4991.5197.0580.6380.3494.3798.8598.6075.5070.7588.7692.9089.0090.9989.5565.5373.9790.4896.0594.9063.9296.0997.3384.3196.2699.2296.0992.0498.9984.7581.4991.3298.7292.8790.3596.5093.8391.2982.8888.6698.6080.7978.1773.7184.7254.1970.0092.8264.8292.8798.7199.5167.6789.3777.3751.5386.5161.5588.0886.6282.0780.7991.7084.6688.4284.9086.0069.4977.7695.1489.8976.0895.5483.4396.3989.1783.320.732020-10-01
                                                                    2603710111022020-11-016autom0.00.00.00.00.00.0POLYGON ((-118.29945 34.25598, -118.29104 34.2...CountyLos Angeles County60376425.099.4290.0198.6288.7089.8884.8591.1683.5756.7279.9797.7583.0252.2870.0897.6594.5797.0083.3178.0195.4399.1298.8576.1066.6087.4292.6287.4891.1388.7062.5373.8989.2396.3092.4963.1194.6897.1578.8295.6199.4894.5088.6399.0883.8879.3490.5898.2089.6787.8196.7191.2388.7175.0385.8898.9377.6273.2974.8884.9850.3569.0393.4262.7291.1398.1599.4667.3991.2379.4755.7284.3861.7585.7986.9879.0480.0490.4885.0985.9785.3283.5468.3978.1494.4788.8074.4294.3784.9897.3885.1184.680.732020-10-01
                                                                    \n", + "
                                                                    " + ], + "text/plain": [ + " geoid do_date_x region_id industry segment geo_type txn_amt \\\n", + "0 60371011102 2020-11-01 6 aut o m 0.0 \n", + "1 60371011102 2020-11-01 6 aut o m 0.0 \n", + "2 60371011102 2020-11-01 6 aut o m 0.0 \n", + "\n", + " txn_cnt acct_cnt avg_ticket avg_freq avg_spend_amt \\\n", + "0 0.0 0.0 0.0 0.0 0.0 \n", + "1 0.0 0.0 0.0 0.0 0.0 \n", + "2 0.0 0.0 0.0 0.0 0.0 \n", + "\n", + " geom comparison_level \\\n", + "0 POLYGON ((-118.29945 34.25598, -118.29104 34.2... National \n", + "1 POLYGON ((-118.29945 34.25598, -118.29104 34.2... DMA \n", + "2 POLYGON ((-118.29945 34.25598, -118.29104 34.2... County \n", + "\n", + " comparison_geography_name comparison_geography_ID \\\n", + "0 USA USA \n", + "1 Los Angeles (CA) 803 \n", + "2 Los Angeles County 6037 \n", + "\n", + " comparison_geography_count EA01_bookish EA02_engine_enthusiasts \\\n", + "0 217739.0 99.11 93.39 \n", + "1 10816.0 99.52 88.67 \n", + "2 6425.0 99.42 90.01 \n", + "\n", + " EA03_green_thumb EA04_natural_beauty EA05_wanderlust EA06_handcrafted \\\n", + "0 98.63 81.01 86.05 81.89 \n", + "1 98.91 87.12 88.63 83.45 \n", + "2 98.62 88.70 89.88 84.85 \n", + "\n", + " EA07_animal_advocates EA08_dog_lovers EA09_smoke_culture \\\n", + "0 92.44 79.65 65.64 \n", + "1 91.40 83.68 56.52 \n", + "2 91.16 83.57 56.72 \n", + "\n", + " EB01_daily_grind EB02_nerd_culture EB03_lgbtq_culture \\\n", + "0 80.14 96.65 95.14 \n", + "1 81.82 97.66 88.44 \n", + "2 79.97 97.75 83.02 \n", + "\n", + " EB04_wealth_signaling EB05_hipster EB06_student_life EB07_farm_culture \\\n", + "0 57.91 82.17 96.79 71.58 \n", + "1 56.34 75.89 97.49 91.51 \n", + "2 52.28 70.08 97.65 94.57 \n", + "\n", + " EC01_love_and_romance EC02_happily_ever_after EC03_dating_life \\\n", + "0 97.04 70.15 78.75 \n", + "1 97.05 80.63 80.34 \n", + "2 97.00 83.31 78.01 \n", + "\n", + " EC04_connected_motherhood EC05_family_time EC06_my_crew EC07_girl_squad \\\n", + "0 92.92 98.63 98.44 63.37 \n", + "1 94.37 98.85 98.60 75.50 \n", + "2 95.43 99.12 98.85 76.10 \n", + "\n", + " EC08_networking ED01_sweet_treats ED02_coffee_connoisseur \\\n", + "0 65.62 90.24 94.63 \n", + "1 70.75 88.76 92.90 \n", + "2 66.60 87.42 92.62 \n", + "\n", + " ED03_trendy_eats ED04_whiskey_business ED05_asian_food_and_culture \\\n", + "0 92.97 84.73 91.36 \n", + "1 89.00 90.99 89.55 \n", + "2 87.48 91.13 88.70 \n", + "\n", + " ED06_ingredient_attentive ED07_fueling_for_fitness ED08_wine_lovers \\\n", + "0 56.71 73.29 89.60 \n", + "1 65.53 73.97 90.48 \n", + "2 62.53 73.89 89.23 \n", + "\n", + " ED09_hops_and_brews EE01_film_lovers EE02_competitive_nature \\\n", + "0 92.81 99.06 61.66 \n", + "1 96.05 94.90 63.92 \n", + "2 96.30 92.49 63.11 \n", + "\n", + " EE03_live_experiences EE04_late_night_leisure EE05_party_life \\\n", + "0 98.07 96.98 86.23 \n", + "1 96.09 97.33 84.31 \n", + "2 94.68 97.15 78.82 \n", + "\n", + " EE06_live_and_local_music EE07_lighthearted_fun EF01_deep_emotions \\\n", + "0 97.13 98.71 98.55 \n", + "1 96.26 99.22 96.09 \n", + "2 95.61 99.48 94.50 \n", + "\n", + " EF02_heartfelt_sharing EF03_awestruck EF04_happy_place EF05_gratitude \\\n", + "0 96.21 98.83 80.65 90.82 \n", + "1 92.04 98.99 84.75 81.49 \n", + "2 88.63 99.08 83.88 79.34 \n", + "\n", + " EF06_memory_lane EG01_dance_devotion EG02_artistic_appreciation \\\n", + "0 92.39 99.49 96.52 \n", + "1 91.32 98.72 92.87 \n", + "2 90.58 98.20 89.67 \n", + "\n", + " EG03_pieces_of_history EG04_sites_to_see EG05_hip_hop_culture \\\n", + "0 89.71 95.96 95.53 \n", + "1 90.35 96.50 93.83 \n", + "2 87.81 96.71 91.23 \n", + "\n", + " EH01_mindfulness_and_spirituality EH02_activism EH03_politically_engaged \\\n", + "0 96.29 88.59 78.29 \n", + "1 91.29 82.88 88.66 \n", + "2 88.71 75.03 85.88 \n", + "\n", + " EH04_praise_and_worship EH05_conservation EH06_civic_attentiveness \\\n", + "0 98.69 77.74 83.34 \n", + "1 98.60 80.79 78.17 \n", + "2 98.93 77.62 73.29 \n", + "\n", + " EI01_trend_trackers EI02_all_about_hair EI03_mens_style \\\n", + "0 52.02 86.27 58.59 \n", + "1 73.71 84.72 54.19 \n", + "2 74.88 84.98 50.35 \n", + "\n", + " EI04_fitness_fashion EI05_body_art EI06_smart_chic \\\n", + "0 68.67 95.61 67.51 \n", + "1 70.00 92.82 64.82 \n", + "2 69.03 93.42 62.72 \n", + "\n", + " EJ01_home_and_leisure EJ02_past_reflections EJ03_humanitarian \\\n", + "0 92.95 98.59 99.44 \n", + "1 92.87 98.71 99.51 \n", + "2 91.13 98.15 99.46 \n", + "\n", + " EJ04_deal_seekers EK01_organized_sports EK02_fitness_obsession \\\n", + "0 77.21 86.57 75.94 \n", + "1 67.67 89.37 77.37 \n", + "2 67.39 91.23 79.47 \n", + "\n", + " EK03_outdoor_adventures EK04_yoga_advocates EK05_functional_fitness \\\n", + "0 44.97 88.27 64.15 \n", + "1 51.53 86.51 61.55 \n", + "2 55.72 84.38 61.75 \n", + "\n", + " index_high_end_affinity index_mid_range_consumer_affinity \\\n", + "0 89.79 85.64 \n", + "1 88.08 86.62 \n", + "2 85.79 86.98 \n", + "\n", + " index_discount_affinity index_foodie_affinity \\\n", + "0 86.32 76.91 \n", + "1 82.07 80.79 \n", + "2 79.04 80.04 \n", + "\n", + " index_breakfast_and_brunch_affinity index_fast_casual_affinity \\\n", + "0 93.58 79.28 \n", + "1 91.70 84.66 \n", + "2 90.48 85.09 \n", + "\n", + " index_coffee_affinity index_fast_food_affinity \\\n", + "0 91.15 81.09 \n", + "1 88.42 84.90 \n", + "2 85.97 85.32 \n", + "\n", + " index_organic_and_local_affinity index_fashion_affinity \\\n", + "0 89.03 66.61 \n", + "1 86.00 69.49 \n", + "2 83.54 68.39 \n", + "\n", + " index_health_conscious_affinity index_entertainment_affinity \\\n", + "0 77.64 94.26 \n", + "1 77.76 95.14 \n", + "2 78.14 94.47 \n", + "\n", + " index_late_night_affinity index_personal_care_affinity \\\n", + "0 87.30 78.58 \n", + "1 89.89 76.08 \n", + "2 88.80 74.42 \n", + "\n", + " index_younger_affinity index_older_affinity index_family_affinity \\\n", + "0 95.65 76.62 92.05 \n", + "1 95.54 83.43 96.39 \n", + "2 94.37 84.98 97.38 \n", + "\n", + " index_politically_liberal_affinity \\\n", + "0 93.62 \n", + "1 89.17 \n", + "2 85.11 \n", + "\n", + " index_politically_conservative_affinity VOLUME_INDEX do_date_y \n", + "0 75.81 0.73 2020-10-01 \n", + "1 83.32 0.73 2020-10-01 \n", + "2 84.68 0.73 2020-10-01 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "la = download_data('la')\n", + "la.head(3)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Z8-bhK-lHsJj" + }, + "source": [ + "\n", + "### 2. Analysis\n", + "\n", + "Once we have the data ready for analysis, we will start by selecting a target variable out of the Mastercard financial variables. This is the variable we are interested in explaining. We'll select the variable `txn_amt` which is the total transaction amount by census block group. In addition, we can select an industry. Mastercard provides data for 5 different industries: eating places, groceries, apparel, automotive fuel, and accomodation. They also provide the industry retail which is the sum of all the latter. For this use case, we'll select eating places, `eap`." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "id": "inWqXwQkHsJk" + }, + "outputs": [], + "source": [ + "target_var = 'txn_amt' # Total transaction amount\n", + "industry = 'eap' # Eating places" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "ch_ret = chicago[(chicago['industry'] == industry) & (chicago['comparison_level'] == 'DMA')]\n", + "la_ret = la[(la['industry'] == industry) & (la['comparison_level'] == 'DMA')]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "nnZ6HzJ9HsJm" + }, + "source": [ + "\n", + "#### 2.1 Top performers. Location visualization.\n", + "\n", + "Here we identify the top 5% performers and visualize them. \n", + "\n", + "An interesting insight here is how in Chicago top performers tend to concentrate in the downtown area, while in LA they are more spread throughout the city." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "id": "kMgpD-ppHsJn" + }, + "outputs": [], + "source": [ + "def classify_finance(value, thres_95):\n", + " if value >= thres_95:\n", + " return 'Top 5%'\n", + " else:\n", + " return 'Rest'" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 230 + }, + "id": "kza5n_vtHsJr", + "outputId": "ef5593b3-2b88-4c4c-c238-027401093b91" + }, + "outputs": [], + "source": [ + "ch_ret.loc[:, f'{target_var}_class'] = list(map(classify_finance, ch_ret[target_var], [ch_ret[target_var].quantile(0.95)]*ch_ret.shape[0]))\n", + "la_ret.loc[:, f'{target_var}_class'] = list(map(classify_finance, la_ret[target_var], [la_ret[target_var].quantile(0.95)]*la_ret.shape[0]))" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 462 + }, + "id": "LGlbGpkuHsJ1", + "outputId": "7e666c83-47bc-4894-dab6-e0eee74fce90" + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " CARTOframes\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + "
                                                                    \n", + " \n", + "
                                                                    \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                    \n", + " \n", + "\n", + "
                                                                    \n", + " "Static\n", + " \n", + "
                                                                    \n", + "
                                                                    \n", + " \n", + "
                                                                    \n", + " \n", + " \n", + "
                                                                    \n", + "
                                                                    \n", + " \n", + "\n", + "
                                                                    \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                    \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                    \n", + " \n", + " \n", + "
                                                                    \n", + "
                                                                    \n", + "
                                                                    \n", + "
                                                                    \n", + " \n", + "\n", + "
                                                                    \n", + "
                                                                    \n", + "
                                                                    \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                    \n", + " \n", + "\n", + "
                                                                    \n", + " "Static\n", + " \n", + "
                                                                    \n", + "
                                                                    \n", + " \n", + "
                                                                    \n", + " \n", + " \n", + "
                                                                    \n", + "
                                                                    \n", + " \n", + "\n", + "
                                                                    \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                    \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                    \n", + " \n", + " \n", + "
                                                                    \n", + "
                                                                    \n", + "
                                                                    \n", + "
                                                                    \n", + " \n", + "\n", + "
                                                                    \n", + "
                                                                    \n", + "
                                                                    \n", + " \n", + "
                                                                    \n", + " \n", + "
                                                                    \n", + "\n", + " \n", + "\n", + "
                                                                    \n", + "
                                                                    \n", + " :\n", + "
                                                                    \n", + " \n", + " \n", + "
                                                                    \n", + "
                                                                    \n", + "\n", + "
                                                                    \n", + " StackTrace\n", + "
                                                                      \n", + "
                                                                      \n", + "
                                                                      \n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Layout([Map(Layer(ch_ret[ch_ret[f'{target_var}_class'] != 'Rest'], \n", + " geom_col='geom',\n", + " style=color_category_style(f'{target_var}_class', \n", + " cat=['Top 5%'], \n", + " palette=['#009B9E']),\n", + " legends=color_category_legend('Performers'))),\n", + " Map(Layer(la_ret[la_ret[f'{target_var}_class'] != 'Rest'], \n", + " geom_col='geom',\n", + " style=color_category_style(f'{target_var}_class', \n", + " cat=['Top 5%'],\n", + " palette=['#009B9E']),\n", + " legends=color_category_legend('Performers')))], \n", + " map_height=420\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "0h09MnLUHsJ8" + }, + "source": [ + "\n", + "#### 2.2 Characterization of top performers\n", + "\n", + "In this section, we'll identify what social segments characterize top performers in Chicago and LA and compare the two cities." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gXHw4cUOHsJ8" + }, + "source": [ + "##### Characterization based on social segments\n", + "\n", + "Main insights:\n", + " - Both cities share 4 out of 7 of their most important social segments (although not with the same order). These segments are related to food and drinks, and lgbtq culture.\n", + " - Regarding the social segments which are different from one city to the other, while in Chicago Asian food and culture, whiskey business, and sweet treats are on the top 7 segments, in LA it is film lovers, fitness fashion, and heartfelt sharing. This shows two very different cities in terms of social behavior patterns." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "id": "gJL2Xd3AHsJ8" + }, + "outputs": [], + "source": [ + "social_segment_columns = ch_ret.columns[17:-22]\n", + "\n", + "top_ch_ret = ch_ret[ch_ret[f'{target_var}_class'] == 'Top 5%']\n", + "top_ch_ret = top_ch_ret[social_segment_columns].describe().transpose()\n", + "top_ch_ret.sort_values(['50%'], ascending=False, inplace=True)\n", + "\n", + "top_la_ret = la_ret[la_ret[f'{target_var}_class'] == 'Top 5%']\n", + "top_la_ret = top_la_ret[social_segment_columns].describe().transpose()\n", + "top_la_ret.sort_values(['50%'], ascending=False, inplace=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll use the following function to make sure social segments have same color in both cities for an easier comparison.\n", + "\n", + "Note we'll use CARTO's bold palette colors. [Here](https://carto.com/carto-colors/) you can explore all our palettes." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "id": "ucswIkkkHsJ-" + }, + "outputs": [], + "source": [ + "def palette(segments, color_dict):\n", + " return [color_dict[segment] for segment in segments]" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
                                                                      " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "unique_segments = np.unique(top_ch_ret.head(7).index.tolist() + top_la_ret.head(7).index.tolist())\n", + "palette_c=['#7F3C8D','#11A579','#3969AC','#F2B701','#E73F74','#80BA5A','#E68310','#008695','#CF1C90','#f97b72', '#4b4b8f', '#A5AA99']\n", + "color_dict = dict(zip(unique_segments, palette_c))\n", + "\n", + "def plot_top_segments(df, ax, color_dict):\n", + " sns.barplot(x='50%', y='social_segment', data=df.head(7).reset_index().rename(columns={'index':'social_segment'}), \n", + " alpha=0.96, ax=ax, palette=palette(df.head(7).index.tolist(), color_dict))\n", + " ax.set_title('Chicago', fontsize=18, fontweight='bold')\n", + " ax.set_xlabel('')\n", + " ax.set_ylabel('')\n", + " ax.tick_params(labelsize=15)\n", + "\n", + "fig, axs = plt.subplots(1, 2, figsize=(18, 6))\n", + "plot_top_segments(top_ch_ret, axs[0], color_dict)\n", + "plot_top_segments(top_la_ret, axs[1], color_dict)\n", + "fig.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "93S22LzIHsKC" + }, + "source": [ + "##### Characterization based on indices\n", + "\n", + "Main insights:\n", + "- Both cities share 4 out of the 7 most impactful social indices: Breakfast+brunch, coffe, foodie, and high end affinity.\n", + "- In Chicago top eating places performers are located where late night, fashion, and entertainment affinity are high, whereas in LA they are located where politically liberal, personal care, and organic+local affinity are high." + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "id": "YvuCW5knHsKC" + }, + "outputs": [], + "source": [ + "social_indices_columns = ch_ret.columns[-22:-3]\n", + "\n", + "top_ch_ret_ix = ch_ret[ch_ret[f'{target_var}_class'] == 'Top 5%']\n", + "top_ch_ret_ix = top_ch_ret_ix[social_indices_columns].describe().transpose()\n", + "top_ch_ret_ix.sort_values(['50%'], ascending=False, inplace=True)\n", + "\n", + "top_la_ret_ix = la_ret[la_ret[f'{target_var}_class'] == 'Top 5%']\n", + "top_la_ret_ix = top_la_ret_ix[social_indices_columns].describe().transpose()\n", + "top_la_ret_ix.sort_values(['50%'], ascending=False, inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABQgAAAGoCAYAAAAKMwiTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde5hkVXXw/2/PDUHR8ZLgLUZFXIyoXAYSUTBAFBUVEY0QQEVERY0KES8/L4CIhgSM/FARiQhIgAHF+CL6AlFETBADg1xnWF4i6hODgjfAAYaZrvePvZspmq7u6mtVn/p+nmceuuqcs89ap4ee1eucvWuo1WohSZIkSZIkaTAt6HUAkiRJkiRJknrHBqEkSZIkSZI0wGwQSpIkSZIkSQPMBqEkSZIkSZI0wGwQSpIkSZIkSQPMBqEkSZIkSZI0wBb1OgBJ0vwWEbsA364vf5aZT+7imKOAI+vLMzLzwNmITZIkSbPLWlBqBhuEkqQxRcQC4OXA/sBfAJsB9wH/A6wEzgUu7FmAkiRJmjXWgtJgsUEoSXqQiNgMOA94/qhNDwG2rH/2Bx45xVN8Afhm/fpXUxxDkiRJs8BaUBo8NgglSQ8QEZsAFwNb17eGgdMpd4j/APwZ8BJg76meIzN/Dvx8WoFKkiRpxlkLSoPJBqEkabR3saEgBNg/M1eM2ueMiHg6sGb0wRHxOODjlCkpDwWuBg7LzKvb9jmKDuvO1Oksr61/tgEeDvwOuBH4ZGZeWPf7W2BfYCvgMfVcd9T9zgBOy8zWqNj2Bj4MLANuA/617rt6ZJ/MHBp1zPPrNdmxnuePbef4QmYOj74GkiRJ85i14AOPsRbUQLBBKEka7fVtX186RkEIQGb+ECAi2t9+BPBfwBPb3tsJ+L8R8dTMvHO8E0fERsAFwO6jNv0psBtwAxvWunkFsOeo/R5FmQrzfODZwKFtY7+OUsiNeCLw/jHO1R7P4cA/Ae2F4tKa007AKyPiFZm5bry8JEmS5hFrwQ3HWAtqYCzodQCSpP4REQ8F2qu8SyY5xFLK4tX7AW+gTEOBcrd1vy6OP5INRVoLOIVS+L0KOAFoLyovAA6p23cF/hp4I3B73f53EfFYgIh4GHBi27FXAHsBbwU2HyuQiNiaBxaEZwIvpRSSa+t7ewCHdZGXJElS37MW3MBaUIPGJwglSe2Wjnr9mymMsU9mXgUQEX9JKdwAnj7eQRExBBzc9tYJmfn3ba+/MuqQi4H3AG8HngpswgPv7i4EdgC+BryIckcbSkG3d2b+qp53IfDpMUJ6fdt4N2Tm6+rX34iIxwCH19cHAseNl5skSdI8YS24gbWgBopPEEqS2v1+1OtHT/L4O0cKwqq9qHzUBMc+BviTtteji8D7RcTGwH8C7wOeRVlzZmiMXUc+WW+Ltvd+MlIQVv/R4TRbjrNP++un14JWkiRpvrMW3MBaUAPFBqEk6X6Z+Ucg2956wSSH+O2o1+3rscxk4fRKNkx/+SPwTsrUkp0pa9OMGPl3rn2B6gcsVi1JkqTCWlAaXDYIJUmjnd729Qsi4m/G2ikitoiIJTN43tspnyY34pVjnHOksHxS29sXZeanMvMy4HoeuCj2iB+1fb15nRYyYucO8dzc9vXzRm1rf/3D0Z+QJ0mSNI+d3va1tWBhLajGcw1CSdJo/z+wL7B1fX1OROxO+cS4O4AnAC8G/gbYbKZOmpmtiDiVsvAzwKERsQnwdcq/V88D7gE+DPx326F/HRGvpSyCfTgbppK0u6RufwSwEXB+RHwCeBxwTIeQvkj55Lsh4NkRcRpwHvBMyl3qEadPLlNJkqS+Zi1YWAtqoPgEoSTpATLzbkrRd3l9ayFlweivApdSPsFtf2Am7xiP+Ajwrfr1Asqi1l8D/o1S8G1at13IhsJwKaWA+z+U9WXa7/YCkJl38cBC7vl1/5OBn44VSGZeC7yXDdNQDgS+Qfk0u43qe9+gfKKeJElSI1gL3n+MtaAGig1CSdKDZOatlHVcXgl8Gfg55Y7tXZR1ac4GXkG5EzuT570H2B14I/Btyjo26yjTTS4Fvln3WwPsRikWf1vjuADYCfjVgwYux3wReDVwHeXT634JHA+8rW23NaOOOZ5yHb4C3Fpj+QNlUey3AC/PzPuml7UkSVJ/sRa8/xhrQQ2MoVbLqfKSpOaLiKGx1oeJiHcAJ9aX12bmtnMbmSRJkmabtaA0PtcglCQNihdGxEHAvwKrKf8G7gp8tG2fL/YiMEmSJM06a0FpHDYIJUmDYgGwT/0zlv8DfGruwpEkSdIcshaUxuEahJKkQfFDyqLaPwTuBO6jrFFzEbAf8MrMXNe78CRJkjSLrAWlcbgGoSRJkiRJkjTAnGIszbJrrrmmtfHGG/c6jGm799572WijjXodxrQ0IQdoRh5NyAGakYc59I+5ymPNmjW3L1++/E9m/USSAGvBftSUXMyjvzQlD2hOLuYxtk61oA1CaZYNDQ2xbNmyXocxbatXr573eTQhB2hGHk3IAZqRhzn0j7nKY+XKlT+b9ZNIup+1YP9pSi7m0V+akgc0JxfzGFunWtA1CCVJkiRJkqQBZoNQkiRJkiRJGmA2CCVJkiRJkqQBZoNQkiRJkiRJGmBDrVar1zFIjXbTjTe1ttxyy16HMW2tVouhoaFehzEtTcgBmpFHE3KAZuRhDv2jUx7r1w2z5CGLZ+w8K1euXLl8+fLtZ2xASeO68aabWmEt2Feakot59Jem5AHNyaUpedx97z08fJOHzth4nWpBP8VYmmVDC4b4yN7H9zqMaWu1hhkamt8PHTchB2hGHk3IAZqRhzn0j055HPmVw3sQjaSZsmBoiO3+5UO9DmPahoeHWbBg/v+shebkYh79pSl5QHNyaUoeKw/+6JycZ/5fKUmSJEmSJElTZoNQkiRJkiRJGmA2CCVJkiRJkqQBZoNQkiRJkiRJGmA2CCVJkiRJkqQBZoNQkiRJkiRJGmA2CCVJkiRJkqQBZoNQkiRJkiRJGmA2CCVJkiRJkqQBZoNQkiRJkiRJGmA2CCVJkiRJkqQBZoNQkiRJkiRJGmA2CCVJkiRJkqQBZoNQkiRJkiRJGmA2CCVJkiRJkqQBZoNQkiRJkiRJGmA2CCVJkiRJkqQBtmiiHSLiWmDHzLx7MgNHxC3AyzLzxqmF1nHcFrBpZt41k+OOOsdlwPGZeeEY204D/gK4MTP3mcLYhwJnZ+avpx3oxOfahZLH9uPscxkdcp1tEfFk4OrMfMwMjfdc4BTgPuDvgXtHvX4P8I7M/MkE43weOCMzvxsRewG/zMz/mokYJUmS2vVbrT0VEfFW4F3A3cDzgQPaX2fmnX0Qx17A6Zm5axfj3P89mcvaXZKkXpqwQZiZ28xFIDMtIhZl5roZHnMz4FXA0swcnuIwhwLfBOZVkTEb13MWvJbS2DsOICI+2/4a+HY3g2TmwW0v9wKuBmwQSpKkGTdfa+1R3gm8NjOvAoiIB7zuozgmbA7Cg74n87J2lyRpsrp5gvD+J/bqncovAi8EHkd58uzTdb+dgZPqYd8BhtrGCOAE4DHAEuCEzDwtIrYE/h3YKTN/FhFHAssyc98JwnpPRLwC2Bj4QGae3xbrR4CXAhcBH46I91GaeouA/wHelJm3RsRfA8cAD6nbPpaZK8bIf1/g3cDewMXAJsA1EXEGpVg4CXhoHeeUzDyhHvdm4DDKU2wLgNfUOB4PfDki7gH2y8xVHa77WUAAGwE/Bg7KzN/VpwJPAL4P7Ai0gH0zc3U97hhgX+B3wGUTXMcRL4iII4BHAedl5gfqWJcB1wLPAX4bEf9E2xOJ7U8odhHXQZQ7uABrgZe15foxYI96bd+Ymf/RKdCI2K+Os6S+dXhmfisi3gPsA6yJiP2B80e93hFYTb3TXnO7qr7/+Jr3+9vyPp7y5OGe9focDPxzHfP0zPxS3Xdv4JDM3L27Sy1JkrRBv9XaEbEjcBywaX3rPZl5SUTsAJxIqXv/CLwzM6+KiHOBzYEzI2Ilpa6+/3Vm7h8RewAfpNTLa4HDMvPKer7XA2+rx/0BeGtm5jjxHQ/8Vc3zdkqN/LOJ4qjnv3/mSr3uHwReCTy65tn+O8WmlJrzAbU78C1gu8z837rvicCtmfnxTjFLkjQfTGUNwk0yc0dgF+DYiHhYRGwErKBM33wWcDnwJChPngFnUwqBHYCdgPdHxJaZeTPwAeDciNid8o/um7uIYX29s7cncEpE/Gnbtrszc4fM/HBEHEApDJ6TmdsB3wA+Ufe7hlIsbQu8ADg+Ih7ZfpKIeC9wMPCCzPwFpYn1+8zcJjM/CdxSt21HmXb85ohYVg8/DtitxrkD8PPM/BjwS+DVdYwxm4PVuzJz+3o9bwLe17ZtK+DkzHw2cB7woRrvy+s12YbS1NtywitZPAN4bj3u5RHxsrZtT63XaY8uxukU1y6U7/OLMnNryt3bP9RjHg18r34fjgb+cYJzXEz5fm5LaYSeAVCfErwAOLZe24+Oej3WtJ0nUaafbAscHBFbtG/MzItHjfFF4FOUInbE24HPTBCzJElSt3pWa0fEo4B/A95ba7btgKsiYgnl5uuHap33YeD8iFhSl9wZqW/3H/06Ijav+78kM5dTauvz6vl2ptxEf37ddhzwhQmuz7G11t8aOIdaO04UR4ex7qjX7LWU5ucDdKjdzxi5hhHxMEo9+vkJYpYkqe9NpUG4AiAzb6E8pfZEypNuazLzsrrtPDY0gJ4OLANW1PU8vkt5Km5Z3fdM4Gbgq5Qn6u7oIoZT67FJafQ9p23bGW1f70lp/l1Tz/124Ml1259Q7gbeSGk6ParmMeKoOu4emfkHxrYJcGpE3AD8J+UO49Z126XAGRHxDuAJmbmmi7zavS4iVtax96M070ZkZv6gfn0lpQkKpfF2bmbelZnrqdepC2dk5ros6zquAHZr23b2JKYWd4rrpcAXM/PWutNdmXlP3XZXblj/sP2YTjYHLo6Im4BzgcdGxGO7jG+0L2XmcP3+ru7i3FD+rjwuIpbVZvDmwJyv3yhJkhqrl7X2jsCqzLyiHrs+M39Xz782M79V3/8m5UnA6DjSBi+i1EuX1/jOAhbVpXteTqmdv1+3HQv82QTjvSQirqw1/OE8sEaerJHZQ1cCj4+Ih3RxzGeAN9TG7AHAJen6hJKkBphwivEY7mn7ev04Y7Tqf4eA27PD+ir1juRWwO+BzaYQz2jtH14yBByTmWPdifws5emwvTOzFRE/pEx7GHElZXrHnwM/6nCujwO3Agdm5rqIuKRtjL0pTw7uBnw7Ig7JzP/bTQL1bupbgedm5m11Wm373d5uvwczof16ruOBTeXRRdRU4rp3ksecA7w7M78aEQuANWPE0a1Jx1v/rnyaDU8Rfq42YyVJkmZCv9fakzUEXJSZrxu9ISKGgC9k5hHdDBQRfw58EtghM39aP6Du7GnEdg+URmiZpd1VLfiLiLgaeAXl4YNuZj9JktT3pvIE4VgS2Lg2toiIVwNL27atiYjXjuwcEVtGxMPry+OAlZRm3MkR8cQuzveGOs4WlOmhV3bY7wLgbSNThyNio4gYecJvKXBLbfi8EHjaqGMvojTpvhERW3UYfynwi9ocfCYwkv8i4KmZ+V+ZeSxwSY0T4A7gERPkt5RyV/g3dUrJQRPsP+JS4DUR8dCIWEi9Tl04ICIWRcRDKdM8Lu2w338DT42IR9aC7m+7HP/rlCciN4MyHaPLO7RjWQr8tH59EOUO+Wwa6/t1BuXDS/bBKSWSJGn2zVWt/T3gGXUdQiJiYa2jE1gSEbvW93cDFtf3J3IJ8OL2erquZwjwNUqN+MS28y0fZ6yHU55cvLXeKD6ki/NP11i14Kcoaz7el5nfm4MYJEmadTPSIMzMeynNopMi4nrKmik/r9vWUaYP7BsR19epoSdRioy96r6HZuZNlA8YOac22MazKCJ+QJna+ZZOj/XXKRVnAd+pca0Enlc3v5+y7uC1lKbY9WMcfylwIHBBRGw7ejvlQ07eVMc+irIeDMBC4PSIuCEirqMsMv25uu1E4LSIuDYintEhv4uAnwA/pCxCfU2H/UbHeyHlmlxHaZr+sJvjKNNOrqjHfb1tyu/o8X9JWcNxZd3/f7uM6zLgH4Bv1utxKRM3STs5FPhqRFxDWR/xN1Mcp1tnAvvV79frADLzTsr36JLMvG2Wzy9JkgbcXNXamflbyiyYf26rnZdn5lrKh+19vL7/Mcq6fGu7iP1HlKm4p0bEdRGxGnhL3XY55YNCLqg14o2UJ/M6jXUD8CVgFeWD8X7aad8Z9KDaPTO/Q3n68KRxj5QkaR4ZarVaE+8l6X61qL4eeH1mXjXR/qtWrWqteP/XZj+wWdZqDTM0NFMPHfdGE3KAZuTRhBygGXmYQ//olMeRXzmchYsWzth5Vq5cuXL58uXbz9iA0oCJiKdQ1h9/WjfrjK9ataq1z+Vnzn5gs2x4eJgFC+b/z1poTi7m0V+akgc0J5em5LHy4I+yZNHMrSzXqRac/1dKmkMRsSfl6c5LumkOSpIkqTki4mjKB8G8ewofQihJUt+azQ+3mLKIOIIyvWG03Zv0KWFzlWdE7EH5QJXRPpCZ35ip88yUiNgGOH2MTZ/OzJ6u+ZeZF1DWtpQkSZqX+r3WjoiDgb8bY9OBmXntXMfTrn6gSlcfqiJJ0nzSlw3CzDwaOLrXccy2ucqzNgH7rhHYSS38xvwkPkmSJE1Pv9fa9YawHwQnSdIccoqxJEmSJEmSNMBsEEqSJEmSJEkDzAahJEmSJEmSNMBsEEqSJEmSJEkDzAahJEmSJEmSNMBsEEqSJEmSJEkDzAahJEmSJEmSNMBsEEqSJEmSJEkDzAahJEmSJEmSNMBsEEqSJEmSJEkDzAahJEmSJEmSNMAW9ToAqelawy2O/MrhvQ5j2lqtFkNDQ70OY1qakAM0I48m5ADNyMMc+kenPNavG2bhooU9iEjSTBhutbjmTcf0Ooxpa8rPWmhOLubRX5qSBzQnl6bkcfe997Bk0ey372wQSrNs7X1rG/GL3erVq1m2bFmvw5iWJuQAzcijCTlAM/Iwh/7RKY8m/BsiDbL71q5l8cL5//9xU37WQnNyMY/+0pQ8oDm5NCWPH//s5zx8DvJwirEkSZIkSZI0wGwQSpIkSZIkSQPMBqEkSZIkSZI0wGwQSpIkSZIkSQPMBqEkSZIkSZI0wGwQSpIkSZIkSQPMBqEkSZIkSZI0wGwQSpIkSZIkSQPMBqEkSZIkSZI0wBb1OgCp6RYvWcJ969f3Ooxp23yLLeZ9Hk3IAZqRRxNygGbkYQ69sW54PRsvXtLrMCTNgSVLlrB+eF2vw5i2LZ7+tEbkAc3JxTz6S1PygObkMh/zGB4eZvGi3tSINgilWbZgaIjt/uVDvQ5j2oaHh1mwYH4/dNyEHKAZeTQhB2hGHubQG9e86ZhehyBpjgwNDXH8hYf1Ooxpm48/aztpSi7m0V+akgc0J5f5mMfhL/tkz849v66UJEmSJEmSpBllg1CSJEmSJEkaYDYIJUmSJEmSpAFmg1CSJEmSJEkaYDYIJUmSJEmSpAFmg1CSJEmSJEkaYDYIJUmSJEmSpAFmg1CSJEmSJEkaYDYIJUmSJEmSpAFmg1CSJEmSJEkaYDYIJUmSJEmSpAFmg1CSJEmSJEkaYDYIJUmSJEmSpAFmg1CSJEmSJEkaYDYIJUmSJEmSpAFmg1CSJEmSJEkaYDYIJUmSJEmSpAG2qNcBDLqIuBbYMTPvnuRxtwAvy8wbZyOuyYiItwLvAu4Gng8c0P46M+/sgzj2Ak7PzF27GOf+70lEHAqcnZm/nr3IJUnSfNVvtVxEtIBNM/OuMbZ1FWuv6syIOAp4WGYePsXjjwFeDdyWmTu3vwYOAw7LzP0nGOPxwFkjNWON6eOZuXYqMUmSNF/YIOyxzNym1zHMgHcCr83MqwAi4gGv+yiOCZuD8KDvyaHANwEbhJIk6UHmUy03n2KdoncDT8rM2zq8Hrc5CJCZv+SBNeORwPGADUJJUqPZIOyx9ru89W7tF4EXAo8Djs/MT9f9dgZOqod9BxhqGyOAE4DHAEuAEzLztIjYEvh3YKfM/FlEHAksy8x9x4lnR+A4YNP61nsy85KI2AE4EXgo8EfgnZl5VUScC2wOnBkRKyl/p+5/nZn7R8QewAeBh1CKq8My88p6vtcDb6vH/QF4a2bmOPEdD/xVzfN24KCa27hx1PNfnZmPabvuHwReCTy65nl++/eE8vTh44EvR8Q9wH7At4DtMvN/674nArdm5sc7xSxJkpqr32q56p0R0bHGqbGOxNMCvk2ZbfHStqcGXxMR/zI6j3Guw/uAV1FqsP8B3pSZt9Yn8AJ4BPBU4CfA32Tmmoh4BHAq8EzgVuAXwK8mOM9ZdbyNgB9TasHfRcR3KbXmtyLiYuA5o15/veaxfUQ8Gbga+BywB7AJ8MbM/I+RbZn5mIj4TD3tFRExXPddCTwlM++p8VwArMjMs8eLW5KkfucahP1nk8zcEdgFODYiHhYRGwErgHdk5rOAy4EnAUTEIuBsStNtB2An4P0RsWVm3gx8ADg3InanNLje3OnEEfEo4N+A92bm1sB2wFURsQQ4H/hQZj4b+DBwfkQsycx9gF8Cr87M/Ue/jojN6/4vyczlwMHAefV8OwOvoUxDXk5pTH5hgutzbGbuUOM7B/hHgIni6DDWHfWavZbS/HyAzPxY2xjbZOYq4IyRaxgRDwP2BT4/QcySJGlw9KyWazNujVPjOQd4W63tLhuJZ7w8Op0sIg6g3Jh9TmZuB3wD+ETbLtvX2JcBi9nwJN8RNdYtKVOB/6qL3N6VmdvX63gT8D6AzNy5bn9uZr5n9Osxxnk08L3M3BY4mlpTtsvMt7eNsU19uvA7wD417yfX3L7cRdySJPU1G4T9ZwVAZt4C/A54IuUu6ZrMvKxuO4/ytB3A0ynF1oq6rsx3KXdUl9V9zwRuBr4K7JeZd4xz7h2BVZl5RT12fWb+rp5/bWZ+q77/TcqTgNFFPi+iFIyX1/jOAhZFxGbAy4Gtge/XbccCfzbBeC+JiCsj4kbgcGA6U2VW1P9eCTw+Ih7SxTGfAd5Qi/kDgEtcn1CSJLXpZS33gBjoXOMEcHdmfree49+A33eRRyd7Ai8Arqk5vB14ctv2izPz95nZAr5PqQ2hTOU9tZ7nduArXeT2uohYGRE3UJqOU60F78rMC+vXV7bFNJETKbNfAA4BvuD6hJKkJnCKcf+5p+3r9XT+HrXqf4eA2zutKVOf/tuKUvRtNlNBTsIQcFFmvm70hogYohRVR3QzUET8OfBJYIfM/GlEPJdyx32q7oHSCC0zeyb+/yEzfxERVwOvoBS/3dzFlyRJg6MfarlJ1zidxqjGywNKDsdkZqeZIKPH2ngK8YzMPnkr5Ym+2yKi2ycqx3LvqJi6ukaZeUVELIyI5wEHAjtM8fySJPUVnyCcHxLYuBZFRMSrgaVt29ZExGtHdo6ILSPi4fXlcZS1Ul4InBwR4939/R7wjLoOIbX4eWQ9x5KIGPk0t90o00M6rhXY5hLgxRGxVVt8I4XU1yh3gZ/Ydr7l44z1cMqTi7dGxALKXdvZdgdlzZx2n6KsE3RfZn5vDmKQJEnz21zVcpOJZ5Pa5CIiXtEWz1RcALyt1o1ExEYRsXUXx10KvKEe82jK2tDjWUp58vI3dZr0QVMPuWt3MnYtuAK4IjN/MQcxSJI062wQzgOZeS/wt8BJEXE9ZS2Yn9dt6yhTdfeNiOsj4ibKgtNLImKvuu+hmXkT8BHgnDo9dqzz/BbYG/jnep6VwPI6beJVwMfr+x+jrMs34XSKzPwRZSruqRFxXUSsBt5St11O+aCQCyLiOuBGypN5nca6AfgSsIoyPeWnE51/BpwInBYR10bEM2oc36HcCT9p3CMlSZKYu1pukvHsR2k4Xk+ZHvxrNkx7nux4Z1KWkflOWw35vC4O/SjwyIi4mbLe9eUT7H8R5UNOfkhZC/CaqcQ7SZ8ALq214EgTdQXwSKwFJUkNMtRqtSbeS9L9IuIpwH8CT8vMNRPtv2rVqtY+l585+4HNsuHhYRYsmN/3FJqQAzQjjybkAM3Iwxx645o3HcPihQsf8N7q1atZtmzZrJ975cqVK5cvX779rJ9IfS0iNs3MO+vXuwKnUz6dd7ingc0DEbETcDLwrLqu4rhWrVrV+tqPPzv7gc2y+fiztpOm5GIe/aUpeUBzcpmPeRz+sk+ycMED7wPOdI3YqRZ0DUJpEiLiaMp0lnd30xyUJEnqU6+KiMMoM4ruoXwAis3BCUTEqZTp3q/rpjkoSdJ8YYNwAEXEEZSpxKPt3g+fyBsRBwN/N8amAzPz2rmOp139QJWuPlRFkiRpNsxELZeZp1OeGpzMea/mwb8/XJmZM7oudD/Xqpn5xl6eX5Kk2WKDcABl5tHA0b2Oo5PM/Dzw+V7HIUmS1I96Vctl5pxMTe/3WlWSpCaaX5OxJUmSJEmSJM0oG4SSJEmSJEnSALNBKEmSJEmSJA0wG4SSJEmSJEnSALNBKEmSJEmSJA0wG4SSJEmSJEnSALNBKEmSJEmSJA0wG4SSJEmSJEnSALNBKEmSJEmSJA0wG4SSJEmSJEnSALNBKEmSJEmSJA0wG4SSJEmSJEnSAFvU6wCkphtutbjmTcf0Ooxpa7VaDA0N9TqMaWlCDtCMPJqQAzQjD3PojXXD61m8cGGvw5A0B1qtFoe/7JO9DmPa5uPP2k6akot59Jem5AHNyWU+5jE8PMzCHj3KZ4NQmmX3rV3biF8CV69ezbJly3odxrQ0IQdoRh5NyAGakYc59EYT/l2Q1J21a9eycMH8/7VrPv6s7aQpuZhHf2lKHtCcXOZjHr1qDoJTjCVJkiRJkqSBZoNQkiRJkiRJGmA2CCVJkiRJkqQBZoNQkiRJkiRJGmA2CCVJkiRJkqQBZoNQkiRJkiRJGmA2CCVJkiRJkqQBZoNQkiRJkiRJGmCLeh2A1HRLFi+htW59r8OYtnjaFvM+jybkAM3Iowk5QDPyMIe501q/ngUbLel1GJLm2JLFS1g/D35GTWSLp23RiDygObmYR39pSh7QnFz6NY/164ZZ8gl/nSQAACAASURBVJDFvQ7jQWwQSrNsaMEQNx34sV6HMW2t4WGGFszvh46bkAM0I48m5ADNyMMc5s5Wp3+w1yFI6oGhBUN8ZO/jex3GtLVawwwN9f/P2m40JRfz6C9NyQOak0u/5nHkVw7vdQhj6r8rJUmSJEmSJGnO2CCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SDsAxFxbURsPIXjbomIZ85CPHtFxOqI+EFExAyNeVREHF+/PiQiDpuJccc4zzERcXNEfHf064jYPiLO6mKMx0fEt0fFvmQ24pUkqd/1YZ3SioiHzfS4o85xWUS8rMO20yLipog4d4pjHxoRfzq9CLs+1y4RcfUE+3TMdbZFxJMj4vYZHO+5EXFjrWF3HeP1NyJi8y7G+XxE7Fy/3isi/mKmYpQkqV8t6nUAgszcptcxjPIW4IjM/NJsDJ6ZJ8/GuNW7gSdl5m0dXu8/0QCZ+Utg17a3jgSOB9bOZKCSJM0HfVindCUiFmXmuhkeczPgVcDSzBye4jCHAt8Efj1jgc2B2bies+C1wBmZeRxARHy2/TXw7Y5HtsnMg9te7gVcDfzXTAYqSVK/sUHYByKiBWyamXdFxC3AF4EXAo8Djs/MT9f9dgZOqod9BxhqGyOAE4DHAEuAEzLztIjYEvh3YKfM/FlEHAksy8x9O8TySWDnOuTbMnPXiHgx8A/AQuA24C2Z+eO6//soxRjAVcA7ah6PAE4FngncCvwC+FU95ijgYZl5eNsYr6L8ffwf4E2Zees41+ssIICNgB8DB2Xm7+pTgw8BvhURFwPPGfX66/V6bh8RT6YUe58D9gA2Ad6Ymf8xsi0zHxMRn6mnvSIihuu+K4GnZOY9NZ4LgBWZeXanmCVJmq/6qU5p856IeAWwMfCBzDy/LdaPAC8FLgI+3KnOiIi/Bo6h1AqLgI9l5oox8t+XcsNxb+BiSs1wTUScQWn0nQQ8tI5zSmaeUI97M3AYcC9l1s5rahyPB74cEfcA+2Xmqg7XvVO9s0u9lt8HdgRawL6ZuboedwywL/A74LIJruOIF0TEEcCjgPMy8wN1rMuAayk11W8j4p+otVTdvgsbaquJ4joIeFc931rg/qcWI+JjjKrHOgUaEfvVcUZmdxyemd+KiPcA+wBrImJ/4PxRr3cEVgMvy8wba25X1fcfX/N+f1vexwP3AXvW63Mw8M91zNNHbqRHxN7AIZm5e3eXWpKk/uQU4/60SWbuCOwCHBsRD4uIjYAVlAbcs4DLgSdBuaMLnA0clpk7ADsB74+ILTPzZuADwLkRsTuwH/DmTifOzMMojbN31ubgnwJnAvtn5rPrec6q530JpTn4XOBZlAbih+tQRwB3ZOaWwKuBvxrrfBFxALA58JzM3A74BvCJCa7PuzJz+3odbgLeV2PfuW5/bma+Z/TrMcZ5NPC9zNwWOBr4xzGux9vbxtimPl34HUpxSG0mbg98eYKYJUlqip7VKW3W1ycb9wROGTVl9+7M3CEzPzxBnXENpTG5LfAC4PiIeGT7SSLivcDBwAsy8xeUJtbva03wSeCWum074C+AN0fEsnr4ccBuNc4dgJ9n5seAXwKvrmOM2Rysxqx3qq2Ak2ttdh7woRrvy+s12YbS1NtywitZPINSz20DvHzUlOOn1uu0RxfjdIprF8r3+UWZuTVlpsYf6jET1mOjXEz5fm5LaYSeAVCfErwAOLZe24+Oen33GGM9CXg+sC1wcERs0b4xMy8eNcYXgU8Bb2vb7e3AZ5AkaZ6zQdifVgBk5i2Uu79PpNxBXpOZl9Vt57GhsHo6sAxYERHXAt+l3G1eVvc9E7gZ+CrlTvUdk4jlL4Hr2grY04BtImJTSjG9IjPvyMwWcEp9D0rhd2o9/+3AVzqMv2c95poa+9uBJ08Q0+siYmVE3ED5RWKqU5/uyswL69dXUn6B6MaJbCgMDwG+kJlOP5YkDYp+qFNGaoykNPqe07btjLavx6sz/oTyJN+NlKbTo2oeI46q4+6RmX9gbJsAp9aa5D8pT6JtXbddCpwREe8AnpCZa7rIq9149U5m5g/q1+01zK7AuZl5V2aup16nLpyRmesy8y7K93e3tm1nT2Jqcae4Xgp8cWSGSI3vnrptsvXY5sDFEXETcC7w2Ih4bJfxjfalzByu39/VXZwbyt+Vx0XEstoM3hy4cIJjJEnqe04x7k/3tH29ns7fp1b97xBwe3ZYIyjKB2xsBfwe2GymgpwhQ8AxmfmFbnau05feSnmi77Y6zaSbJw3Gcm/b1+Nd5wfIzCsiYmFEPA84kPJUgCRJg6Lf65S72r4er874LOXpsL0zsxURP6RMEx5xJWUq9Z8DP+pwro9TllI5MDPXRcQlbWPsTakRdgO+HRGHZOb/7SaBLuqdbr8HM6H9eq7jgQ8YPGTUvlOJa7L12DnAuzPzqxGxAFgzRhzdmnS89e/Kp9lws/hztRkrSdK85hOE80cCG7d9otqrgaVt29ZExMhagETElhHx8PryOMq6eS8ETo6IJ07ivFcCW9c1ggBeD/wgM++krLuzT0RsGhFDlCk4/173uxR4Q43l0cArO4x/AfC2kSk9EbFRRGzdYV8oOf8B+E2dznTQJHKZqjuBR4x671OUO+xX1ClHkiQNsrmuU0ZqjC0o00Ov7LDfeHXGUuCW2vB5IfC0UcdeRGnSfSMituow/lLgF7U5+EzKOs4j06qfmpn/lZnHApfUOAHu4MF1xVjjTqXeuRR4TUQ8NCIWUq9TFw6IiEUR8VDKWomXdtjvv4GnRsQja+33t12O/3XKE5GbAdRp6VNt6i0Fflq/PojyNOpsGuv7dQblw0v2AT4/y+eXJGlO2CCcJzLzXkoRdlJEXE9Z9+fndds64OXAvhFxfZ1ycRKwJCL2qvsempk3URbuPqcWrt2c9zbKOoNn1/MeUP9Q74L/K/A94IZ6yDH1vx8FHhkRN1MWib68w/hnUtY0/E4dfyXwvHFCugj4CfBDylqA13STxzR9Arg0Iq6NiJFfdlYAj2TDYuySJA2sHtQpiyLiB5SpnW/JzDE/EXiCOuP9lHUHr6U0xa4f4/hLKbMFLoiIbUdvp9Q9b6pjH8WGemchcHpE3BAR11E+0OVzdduJwGm1rnhGh/ymVO/UqboXAtdRmqY/7OY4yhTvK+pxX2+b8jt6/F9S6qKVdf//7TKuyygfePfNej0uZeImaSeHAl+NiGso6yP+ZorjdOtMYL/6/XodQL1RfhFwSa2VJUma94ZardbEe0l6gIjYCTgZeFZdf7GjVatWtYY/Pv8/w6Q1PMzQgvl9T6EJOUAz8mhCDtCMPMxh7mx1+gcZWrSw4/bVq1ezbNmyjttnysqVK1cuX758+1k/kdRQtYF9PfD6zLxqov1XrVrVWvH+r81+YLOs1RpmaKj/f9Z2oym5mEd/aUoe0Jxc+jWPI79yOAvHqQlHm+kasVMt2H9XSupzEXEq5dMY/26i5qAkSZKaIyL2pDzdeUk3zUFJkuYLP6RkQEXEEZTFs0fbvdM0nbnUz/Fl5ht7eX5Jkpqun+uAmTRXeUbEHpQPVBntA5n5jZk6z0yJiG2A08fY9OnM7Omaf5l5AWVtS0mSGsUG4YDKzKOBo3sdRyf9Hp8kSZo9g1IHzFWetQnYd43ATjLzWmDMT72WJEmzwynGkiRJkiRJ0gCzQShJkiRJkiQNMBuEkiRJkiRJ0gCzQShJkiRJkiQNMBuEkiRJkiRJ0gCzQShJkiRJkiQNMBuEkiRJkiRJ0gCzQShJkiRJkiQNMBuEkiRJkiRJ0gCzQShJkiRJkiQNMBuEkiRJkiRJ0gCzQShJkiRJkiQNsEW9DkBqutZwi61O/2Cvw5i2VqvF0NBQr8OYlibkAM3Iowk5QDPyMIe501q/nqFFC3sdhqQ51hpuceRXDu91GNM2X37WdqMpuZhHf2lKHtCcXPo1j/XrhlnYhzWhDUJplq29b20jfiG8efVqli1b1uswpqUJOUAz8mhCDtCMPMxh7jTh3wJJk7f2vrV9+YvgZK2eJz9ru9GUXMyjvzQlD2hOLv2aR7/+m+AUY0mSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmALep1AFLTLVmymNbwfb0OY9ri6ZvP+zyakAM0I48m5ADNyMMcZl9reB0LFm3c6zAk9ciSxUsYvm99r8OYtqdvvkUj8oDm5GIe/aUpeUBzcum3PFrrh1n4kMW9DqMjG4TSLBsaWsDqrzy712FMW2t4mKEF8/uh4ybkAM3Iowk5QDPyMIfZt2zv63sdgqQeGlowxKW7nNjrMKat1RpmaKh/f9ZORlNyMY/+0pQ8oDm59Fseu132zl6HMK7+uVKSJEmSJEmS5pwNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBtiiXgcwSCLiWmDHzLx7ksfdArwsM2+c4Xj2Av4BuAfYNzNzkscfBTwsMw8fY9shwMaZ+cmZiHUSMZ0G/AVwY2bu0/4aOAvYOTPfM8EY2wOHZeb+EbEUeHNm/tNsxy5Jkop+q5mmIiJ2AY7PzO0j4vHAWZm5a912FPDxzFxbXx8N3JSZ507xXKcDV2fmp8erz7oY50DK9Xv1qHroyXX8x0wlvkmc/xam+P2LiCXAV4EnAt8C3jfqddJFbRoRe1LrxZr37pl5ymTjkSRpvrFBOIcyc5texzDKW4AjMvNLMz1wZp4802NOJCI2A14FLM3M4dGv624XTDROZl4N7F9fLgXeC9gglCRpjvRhzTQtmflLYNe2t44EjgfW1u1H9CKu8Yyqh2ZERCzMzPUzOWabbYE/z8yt6rn+sv11tzLzAjbUi08G3gzYIJQkNZ4NwjkUES1g08y8q94h/SLwQuBxlDvMn6777QycVA/7DjDUNkYAJwCPAZYAJ2TmaRGxJfDvwE6Z+bOIOBJYlpn7dojlk8DOdci3ZeauEXEWEMBGwI+BgzLzd/WcpwObAAuB0zPz+DrUEyLiG8BTgZ8Af5OZa9rvXkfEQuAfgRfXYy4C3peZ6+sd73uApwN/BnwPeH1mtjrEvQj4OvBoYGPgvyiNzo2Ab9cYr4mI84G/bXt9BvA7NtwV36Vex+8DOwItylOUq9vv+AOfAZbWJxnWAO8CTsvMZ7bFdB3w1sy8YqyYJUnS5PRTzdQWz9HAKyj1xwcy8/y67cWUGRkLgduAt2Tmj0cd/2TqE3gR8Zn69hURMQzsUuMceQJwCfBxSt20HvjvzHxlRDyr5vpQ4CHAKZl5wgTX8UbgDZl5VX3998CWmfnm8Y6r++7Chnpo5L1PUL4PQ8DbMvO79f09gA/WuNZSnjy8so5xIrCS0sD7UEQ8nFJPLanDHp6Z35oonnqexwLnAA+v5/p6Zr63fq/PAh5fa7ZzgDe1vf4HYBkbatMDgf0oteEzgd8Dr8rMW9ufoqTUgU+pY/wYOBc4MDNfWuPZCLgF+MvM/Hk3OUiS1K9cg7C3NsnMHSmF4bER8bBaaKwA3pGZzwIuB54E9zfHzqYUXTsAOwHvj4gtM/Nm4APAuRGxO6Xo6Vj8ZeZhwNXAO0emuwDvyszt63lvokzNAHgbcEFmbl0bY6e2DbV9PdcyYDFj32l+M7ANsF39s+2o2J4J7AFsBSwHXjDONVsP7FeL1WdSivGDMvPOOsbvM3ObzPzoqNdjTSfZCjg5M58NnAd8aIx93t42xnNrgX1XRPwV3P+LybDNQUmSZlXPaqY26+uTjXsCp0TEn0bEnwJnAvvXeuJsSqOqo8x8e/3yubW++P2oXf4/yo3X7TJza0qjC0oj6gWZuR1l+ZQ3R8SyCWL+NKWOIyKGgLdSml5T8WjguprnO4BzImKjiNgc+DDwksxcDhxMqatGbEVpZm6TmRcCFwPPycxtgX2BMyYRw++Bl9fzbANsHxEvrsvkHAysquf5x1Gvx5q6vQOlObkVsKrmNNrb28Z4NfBvwDMj4il1+2uAK20OSpKawAZhb60AyMxbKHcwn0h5gm9NZl5Wt50H/KHu/3RKI25FvZP5XcqTc8vqvmcCN1PWW9kvM++YZDyvi4iVEXEDpVgemd5zOXBwRHw0InajFGcjLs7M39cn/r4PbD7GuC+gPHW4tq61cxoPbAJ+NTPvqduu6TDGiAXA4TX/64Hd2uKcrMzMH9Svr5zgvO1OpBbblMJxqoW2JEnqTj/UTKfWY5NSrzwH+EtK02xV3ec0YJuI2HQaub6M8rTjyPTj2+v7mwCn1jrtP4HHA1tPMNaZwIsi4lHAi4BfZeZ1U4xrLfCvNabLgLsp34MXUWqoy+u1PgtYVJd6AfhRZn6vbZzNgYsj4ibKE3mPrU8GdmMhcFydvbGScrN4qnXgf2bmL+rXXdWBmbkO+BxwSH3LOlCS1BhOMe6te9q+Xk/n78fIdNsh4PZO6/LUKSlbURp4m421Tyf1Sbi3Uu5m3xYR999Nz8zzI+J7wO7A+4GDgAM65LDxZM7bYYzx/l7uR3kKYOfMvDMiPkD5JWAqJnPedl8C/iEitqWsJ3TQFM8vSZK60zc1Uw99HLiVMsV1XURcQplm21Fm/jEizgbeQHn6cjaaWUPARZn5utEb6hOOd416+xzg3Zn51YhYQFnCZdw82vw98EjKlN57IuKUSRw72lTrwFOAH0TEBZS1qruaHi1JUr/zCcL+k8DGtWFHRLyaUnyMbFsTEa8d2TkitqxruQAcR7mb+kLg5Ih44iTOu5Ry1/03dcrO/U2viHgacGtmng58hDKtZTK+Cbw+IhZHxGLg9ZS1f6ZiKaXgvzMiHkFpGM6mO4BN6lQlADLzPuALlAWsz8rMNbMcgyRJerC5rpneUMfZgrJcypX1z9Z1XUMoNc4P6tIn47kTeESHbRcCh9YmJhEx8snBS4Ff1ObgMylrSXfjM8ChlGVczu/ymLEsodZd9ZpvTHkK8xLgxRFx/4eBRMQO44yzFPhp/fogypOd3VoK/G9tDj6BsibkbLqDUd+n+kTnNylPtZ7Uad1sSZLmGxuEfSYz76V8uMZJEXE95W7vz+u2dcDLgX0j4vo6NeMkYElE7FX3PTQzb6I08s5pb2xN4CLKh4z8kLLI9zVt214D3BARPwA+RVlYejJOoUwH/kH9cz3wL5McY8QXgU0j4mbga5QpQ7MmM39LmSpzQ0S0rzP4eeAJwGdn8/ySJGlsPaiZFtVa6ELKB5H8OjNvA14LnF1jOIANsyzG8wng0oi4NiKWjtp2LGW9wWvrlN2T6/vHAG+q5zmKsgTMhDLzp5RG3hdGpi1P0W8o06evp1zLv63Lx/yIkvOpEXFdRKymfIBcJ4cCX42IayhrLf5mEjGcCDyvfvjKqcz+03vXAxkRN0bEl9ve/zzlScbJrJ8oSVJfG2q1vOklTVZEHEApjF860b6rVq1qsepVcxDV7GoNDzO0YH7fU2hCDtCMPJqQAzQjD3OYfcv2vp6hBYsn3G/16tUsWzbRZ05M38qVK1cuX758+4n31Iho+1TlXscyWfWpyZuBHTLzf3odTxNExIeAx7V94My4Vq1a1frlmy6e5ahmX6s1zNBQ//6snYym5GIe/aUpeUBzcum3PHa77J0sWLxw0sfNdI3YqRZ0DUJpkiLiYspC1nv2OhZJkqROIuIQ4EPAJ2wOzoz6NOo6yoezSJLUGDYIGy4ijgD2HmPT7pn567mOp1sRcTLl0wHbrcvMnj/xkJkWhJIkNcwENdPQXMczEzLzZDZMUb5fRFzNg38PuDIzDxm9by/UDwB50qi3f56ZPb85m5lbTbyXJEnzjw3ChsvMo4Gjex3HZPVLgSpJkgbDfK2ZpqIfbriOpx8agZIkDZr+mYwtSZIkSZIkac7ZIJQkSZIkSZIGmA1CSZIkSZIkaYDZIJQkSZIkSZIGmA1CSZIkSZIkaYDZIJQkSZIkSZIGmA1CSZIkSZIkaYDZIJQkSZIkSZIGmA1CSZIkSZIkaYDZIJQkSZIkSZIGmA1CSZIkSZIkaYAt6nUAUtO1WsM8Y+/rex3GtLVaLYaGhnodxrQ0IQdoRh5NyAGakYc5zL7W8DqGFizudRiSeqQ13GK3y97Z6zCmrd9/1k5GU3Ixj/7SlDygObn0Wx6t9cOweGGvw+jIBqE0y9auva8RvxjevHo1y5Yt63UY09KEHKAZeTQhB2hGHuYw+5rwb4CkqVt731oW9PEvhN1a3ec/ayejKbmYR39pSh7QnFz6Lo8+/7fAKcaSJEmSJEnSALNBKEmSJEmSJA0wG4SSJEmSJEnSALNBKEmSJEmSJA0wG4SSJEmSJEnSALNBKEmSJEmSJA0wG4SSJEmSJEnSALNBKEmSJEmSJA0wG4SSJEmSJEnSAFvU6wCkplu8ZAnr1q3vdRjT9rQtnj7v82hCDtCMPJqQAzQjD3OYunXDLR6yxFJK0vgWL1nCfevn989ZgM232KIReUBzcjGP/tKUPKA5ufRDHvetH2aTJYt7GkO3rGqlWbZgaIhXvffsXocxba3hYYYWzO+HjpuQAzQjjybkAM3Iwxym7vx/2m/Ozylp/lkwNMTmRx3X6zCmbbg1zIKh+f3vxYim5GIe/aUpeUBzcumHPH5y1Ht6ev7JmP/fcUn6f+3debycdXX48c9NQgALioobdUERDhEpwSQtoqhUceGHFpdaZFW0srhSQShWQOpChQqlSCMVRDAsIpZaXNDWIrSIhWDYEo5KidrWBdwQEQO58/vj+71kuNxl7r2ZzJ1nPu/XK6/cmeeZ53vOzOTOyXme73ckSZIkSdK02SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmAzet1AOtTRKwAnpuZv53i41YDe2XmLd2IayoiYgvgrZn50Wk+fmvgpZl5Vgf7bgUsy8zdpzPW+hQRC4HtMvOzMzjGtsDI408B/mvU7d2BT2fm1ZMc50Tg1sy8OCJeBMzPzK9ONy5JkrRhNaEm7KVa/5ySmYt7HctURMTewEeA+4B9gAWjbl9MB++LiPgS8I7MvD0i3ghck5nf6WbskiT1WqMahJm5sNcxrAdbAO8FptwgjIh5wNbAW4FJG4SZ+X+UptlssBDYi3UNvel4DaWAextARBzdfhtY1slBMvO4tpsvAjYDbBBKktQnGlITPkREzMvMB3odx/rSpXwOAY7LzEvqGKe136bUm5PKzD3bbr4RuAuwQShJarRGNQgjogVsnpn31DPA5wF7AE+inAU9o+63G3Bmfdg3gKG2YwRwGrAlMB84LTM/FRHbA18Dnp+Z34+I44EFmbnPBPH8EXAS8Mh613GZ+cV6ld/1wCeAPYFHAG/OzP8APg5sUc9835uZu0bEk4C/B54KbApcmJkfrmOsBi4C/hi4GdgFeHp9/Pcy83URcQrwwprPXcDBNYetgeszc8u25+99wKuBxwJHZealbdv+Cti7bvtz4CXAy4GNgD/NzFV134OAwynvr18Bh2Vm1jOw+wK/AJ4N/BJ4LXA/cCLwyBr3VZn5znGe0xcDHwQ2qcf/UGZeFBH7AUcAcyLiecAlwDvabr8WOJvyPrg8Is6lnE3eDngK8E3goMxs1W3XU94bh9ZjvKQ+z08BVmfmyTWenev922dma6yYJUnShjULa8IWpdb5E0otd2xbjTVZvXgupc47KyJ+RKmD1lLqoLdn5pUR8UxKXfk44IF6/K+0jT1efbcMCGBj4HuUGvEXHT7HjwJOBZYAw8DVmfn28Wq1+pgrgRWUevXnwJ4RsWeNbxNgDXBEZl47wbjvoVwNOI9Syx2WmSsi4lRgt7JLHF7HefB2Zu4+hffFasqJ6yXAYuD0iPggcCTlPfGmzLyu7vsXlDrwrZ08b5IkzVZNX4PwEZn5XMpVYCdFxGYRsTGlofOOzNwRuIrSeBu5Au8CSmGyBHg+cExEbJ+ZtwHHAhdHxEspja5xC4E6VXgpsG9mLqIUGZ+o90Mp0L6ZmTtTCsa/qfe/DfhlZi7MzF3rfecBp2fmHwKLgFdExB5twz0yM/8wM99cH7+yPv51dftJmbkkM3cCLmwbayx319wPAE4fte2XddvRwD8D/1njP49S2I0U2q8HXlDzPhk4p+0YS4AjM3MHYCXldfgZcBzwrzXuMZuD1Q2UgnxnSoPylIh4dGYuozzf59VjfGjU7dvHONazKQ3aHSjP60vaN2bmzaOOcRJwBnBIRIz8B+LtwJk2ByVJmtV6VhO2WVuvbHwVpdn3+A7rxesy8zmZuZRSM761HmcnSl0EZZbEBZn5B8D+wGci4nFtY49X370rMxfX/G+l1HidOg34DbBTrTFPqPePWau1Pe4ZdfueEbEN8H7gFTX/tzD5bJLz2OVM7QAAIABJREFUal27c33sUoDMPILSUH1nZu4++vY4x3rY+6J9Y2Z+qu0YCzPzXym14OEAtR48jHKCX5Kkvtb0BuFFAJm5mnLV2pMpZ0nvzcwr67bPUq5yg3I12QLgonol29WUM6oL6r7nA7cBl1EKubsnGHtX4OnAl+uxvgy0gGfW7fdk5uX152uBbcY6SET8HqVoOb0e57+ArUZiqs6b+GngFRFxbUTcQjnzOdH0iovaYtoqIjZp23Zx/fsGoNUW//K2vF5JKVi/VeM9iXLV3Yj/zMwfto0xZt4TeBzwuZrLFcBjKK/pdFyWmfdl5hpKTpPGUq+S/G/g5bXYfRXlzL4kSZq9elkTjji7PjYpdccuTF4v3sdDG2ZfB06NiKMoVy3eHRGbU2q7T9Xjr2TdVXoPyZ+H13cHRsTyiLiZ0uicytTsvYCTM3O4jntXvX+yWu2CtqnFL6PUX1fV/JcB8yLiCROMuygirqrH/9gUYx5trPfFZM4HXhYRj6nx/yQzb5xBDJIkzQqNmmI8hvvafh6ZijGWkau/hoC7cpx1ayJiPuVqs18CExUuI8e6KTNfMMZxtgZ+12Fsc2p8SzLz/nH2uWe8ICLiadTpH5l5R0TsSjkjPp77ADJzbZlZ85C4Rp7PtRPEPwSckw9dx+9hxx/jcZ36B+ALwGvqdODvUKakTMd0Yzmdcub4WcDnM/NXk+wvSZJ6q5c14UQmqxd/0z5LITOPiIgdKVOOL4mIj7Gu+TeRh9V3ddbHYcCumXlnRHR6JeRkJqvV2uvWIeArmXlgJweuz/vnKDNVbojyhXv/O4NYp1wLZuZvIuIC4E2Uk/hePShJaoSmX0E4lgQ2rUUREfE6yheDjGy7NyIOGNk5IraPiJE1YU6mXC23B7A0IiY6y3gNsG1EPDilISKWtE1NHc/dwCPq1BYy89eUs9bHtB3nKRHxxAke/6i224+krOfy44iYQ1lTr5v+hXI2+skAETE3IhZ18LjRcY9nC8oagK06zfqZkz1ghsaK60uUM+F/gUWhJEn9akPVhCPeVI+zLbAz5Wq+KdWLERGZeXNm/h3wGcoJ4F9Trhg8qO6zgDKbY9x1/KotKFdM/qxOtz64gxzaXQ4cNRJrRGzZdtxOa7WvUmZl7NCW45IJ9h9Z13BkNsrhU4x5OsaqBT8OvJuyRM2lGyAGSZK6buAahJn5O+ANwJkRcRPlzN8P6rYHKFNk94mImyLiVsrC1fMjYu+677sz81bgA8CFI428Mcb5BWX66fERcWNErKKszTJhgzAzf06ZXnFzRFxT794PeFZE3FyngFzMugJ2tJuAjIhbIuJzdR29Syjr/X0LuGPCJ2iGMvMqynqEX4iIG4FbKAtyT+bfgN+rz9XotQ/bHUNZy2YFZa3Dm2Ya8yT+CVgSESsi4hiAOpXm08Admdnt8SVJUhdsqJqwzbyI+DalsXZIZv50GvXiSbXGW0FpTo6sK70fsH/NYxlwQGbeOUk8XwFup3w77zdYt55hp44ANgduqTXfyOyRjmu1zPwuZc3Es9vyP2SC/e+u41wXEcspayB221nAcbUWfEmN4w7KFPNz6lI1kiT1vaFWy+9WkKYqIr4GnJWZl0y278qVK1t/+cnlGyCq7moNDzM0p7/PKTQhB2hGHk3IAZqRhzlM36Uf3Zd58+aut+OtWrWKBQsWTL7jDC1fvnz5okWLFnd9ID0o2r49t9exaObqlaS3Ua7gnHSK88qVK1svv/AL3Q+sy4Zbw8wZ6u/PixFNycU8Zpem5AHNyWU25HH7CUex0dyZ1Yvru0Ycrxbs/1dc2oAiYnFE3E6ZkuOUEkmSpAESEYdSZub8bSfNQUmS+kXTv6Sk6yLiOOA1Y2x6aWb+dEPH0wQR8XjKmjSjfT4zT9zQ8bTLzOuZ+jcvS5KkhpukJpxsDepZKSIWAueOsemMzPxkF8fdE/jwGJuOzcwvdWvcTmTmUmBpL2OQJKkbbBDOUG1Y9bRp1TS1sTrmtwZKkiTNRk2sCTNzBT2oyWoTsKeNQEmSBo1TjCVJkiRJkqQBZoNQkiRJkiRJGmA2CCVJkiRJkqQBZoNQkiRJkiRJGmA2CCVJkiRJkqQBZoNQkiRJkiRJGmA2CCVJkiRJkqQBZoNQkiRJkiRJGmA2CCVJkiRJkqQBZoNQkiRJkiRJGmA2CCVJkiRJkqQBZoNQkiRJkiRJGmDzeh2A1HTDrRaXfnTfXocxYy1gqNdBzFATcoBm5NGEHKAZeZjD9D0w3LKQkjSp4VaL2084qtdhzFir1WJoqN8/MYqm5GIes0tT8oDm5DIb8rh/7TAbzZ3b0xg6ZV0rddn9a9Ywb15//EKYyKpVq1iwYEGvw5iRJuQAzcijCTlAM/Iwh+mziJLUifvXrOmb/xxOpAmfFyOakot5zC5NyQOak8tsyKOffv87xViSJEmSJEkaYDYIJUmSJEmSpAFmg1CSJEmSJEkaYDYIJUmSJEmSpAFmg1CSJEmSJEkaYDYIJUmSJEmSpAFmg1CSJEmSJEkaYDYIJUmSJEmSpAE2r9cBSE03f/581g4/0OswZmzb7Z7Z93k0IQdoRh5NyAGakYc5TM3w8DAbzZu/QcaS1AzzN5pP64G1vQ5jxuKZ2zYiD2hOLuYxuzQlD2hOLr3Mo7V2LXM27q+a0Qah1GVDQ0OccvkRvQ5jxoaHh5kzp78vOm5CDtCMPJqQAzQjD3OYmiP3OnWDjCOpOYbmDHHrGz/U6zBmrDU8zFCff16MaEou5jG7NCUPaE4uvcxjh3Pf15NxZ6L/X3FJkiRJkiRJ02aDUJIkSZIkSRpgNgglSZIkSZKkAWaDUJIkSZIkSRpgNgglSZIkSZKkAWaDUJIkSZIkSRpgNgglSZIkSZKkAWaDUJIkSZIkSRpgNgglSZIkSZKkAWaDUJIkSZIkSRpgNgglSZIkSZKkAWaDUJIkSZIkSRpgNgglSZIkSZKkAWaDUJIkSZIkSRpgNgglSZIkSZKkAWaDUJIkSZIkSRpgNgglSZIkSZKkAWaDcD2IiBURsek0Hrc6Ip7dhXhaEbHZONs6irVbsXUw7gkRccoMHv/BiLgtIq4efTsiFkfEsg6OsVVE/PuomOZPNyZJkqTxzMI6cu+IWBUR346IWE/HfLC+i4hDI+KI9XHcMcaxDpQkaZrm9TqAJsjMhb2OoVP9FOs0vQd4ambeOc7t/SY7QGb+H7B7213HA6cAa9ZnoJIkSbOwNjsEOC4zL+nGwTNzaTeOW1kHSpI0TTYI14OIaAGbZ+Y9EbEaOA/YA3gScEpmnlH32w04sz7sG8BQ2zECOA3YEpgPnJaZn4qI7YGvAc/PzO9HxPHAgszcZ5Kw3hkRrwYeCxyVmZeOEetIPC3g34G9gf+XmbfUY7w+Iv5xdB4TPA9HA6+lvK/+F/jzzPxxRJwABPAo4BnA7cCfZua9EfEo4Gzg2cCPgR8CP5lknGX1eBsD3wMOzsxf1LPFmwD/FhFXALuMuv3FmsfiiNgauB74BLAn8AjgzZn5HyPbMnPLiPh4HfaaiBiu+y4Hnp6Z99V4vgBclJkXTBS3JEnSaLOpjoyIU4Hd6iEPz8zdI+LlwEeAucCdwCGZ+b26/9HAAfXh1wHvqHmMW9/VunCzzDyy7RgPqx8neL6sAyVJ6gKnGHfHIzLzucCLgJMiYrOI2Bi4iFI47QhcBTwVICLmARcAR2TmEuD5wDERsX1m3gYcC1wcES8F9gXe2kEMd9djHQCcPnpjjedC4PDM/APgypF4JspjvMEiYn9gG2CXzHwO8CXgb9t2WVxjXwBsxLozuMfVWLcHXge8sIPc3pWZi+vzeCtwNEBm7la375qZR42+PcZxHgt8MzN3Bk4E/mb0Dpn5trZjLKxnlb8B/FnNe+ua2+c6iFuSJGkyPasjM/MISuPsnbU5+HjgfGC/Wi9eACyr476CUmfuCuxIaSC+vx6qo/qug/pxLNaBkiR1gQ3C7rgIIDNXA78Ankw503lvZl5Zt30W+FXdfztK4+yiiFgBXE05K7qg7ns+cBtwGbBvZt7daQzAtcBWEbHJqO0B/DYzr65j/BPwyw7yGM+rgJcAN9Qc3gZs3bb9isz8ZWa2gG9RikEoUzjOruPcBXy+g9wOjIjlEXEzpdCd7tScezLz8vrztW0xTeZ04PD686HAOZnptBNJkrQ+zIY6csQfATdm5sp6+1PAwojYnFL3XZSZd9f67qx6H3Re301WP47FOlCSpC5winF33Nf281rGf55b9e8h4K7x1qCpCyPvQGngPWEqMWTm2rq+9HRe607zgJLDBzPznA6PNeXFuOHB6TWHUc7k3hkRnV5ROZbfjYqpo+coM6+JiLkR8TzgjcCSaY4vSZI02myoIzeUyerHh7AOlCSpe7yCcMNJYNNa2BARrwO2aNt2b0SMrOFCRGwfEY+sN0+mrHeyB7A0Iia6km8q8TyiFjdExJ+0xTMdXwAOj4hH1+NtHBE7dfC4rwNvqo95LPDqSfbfgnLG/Gd1us3B0w+5Y7+mrJ/Y7u8pZ/ivycwfboAYJEnS4OpVHXktsFNdyxDgIODbmflr4F+BP4uIzSNiCHgLZb1D6Ly+m2r9aB0oSVKX2CDcQDLzd8AbgDMj4ibKujI/qNseAF4J7BMRN0XErZRFqOdHxN5133dn5q3AB4AL63ozM41nX0qheBNlesdPWTddZarHO5+yJs036vGWA8/r4KF/DTw6Im4DLqWsqTORr1C+5OQ7lDVgbphOvFP0t8DXI2JFRIwU4xcBj2bdYuGSJEld0as6sn777wHABXXc/esfMvPLwGeAbwI314d8sP7dUX03jfrROlCSpC4ZarVak++lRoqIzesZYCJid+BcyreyDfc0sD4QEc8HlgI71nV3xrVy5crWv3zvHzZMYF00PDzMnDn9fU6hCTlAM/JoQg7QjDzMYWqO3OtU5s7pzgotq1atYsGCBV05drvly5cvX7Ro0eKuDyQ11FTqQCi14PCH+/97TFrDwwz1+efFiKbkYh6zS1PygObk0ss8djj3fQzNm7tejrW+a8TxakHXIBxsr42IIyhXkt5HWbja5uAkIuJsyjSdAzspCiVJktQM1oGSpKayQdinIuI44DVjbHppZv60k2Nk5rmUqwanMu71PPx9c21mHjqV43Qwzozz65bMfHMvx5ckSZqJ2VxnweyOzzpQktRUNgj7VGaeCJzYg3E3yJSkXuUnSZLUdLO9zprt8UmS1ET9P6lckiRJkiRJ0rTZIJQkSZIkSZIGmA1CSZIkSZIkaYDZIJQkSZIkSZIGmA1CSZIkSZIkaYDZIJQkSZIkSZIGmA1CSZIkSZIkaYDZIJQkSZIkSZIGmA1CSZIkSZIkaYDZIJQkSZIkSZIGmA1CSZIkSZIkaYDZIJQkSZIkSZIG2LxeByA1XavV4si9Tu11GDPWarUYGhrqdRgz0oQcoBl5NCEHaEYe5jA1w8PDzPX0qqQpaA232OHc9/U6jBlrwufFiKbkYh6zS1PygObk0ss8WmvXMjRvbk/Gni4bhFKXrVmzhrlz+v+f2qpVq1iwYEGvw5iRJuQAzcijCTlAM/Iwh6mxOShpqtbcv6bv/pM4ltsa8Hkxoim5mMfs0pQ8oDm59DKPfvy9b5krSZIkSZIkDTAbhJIkSZIkSdIAs0EoSZIkSZIkDTAbhJIkSZIkSdIAs0EoSZIkSZIkDTAbhJIkSZIkSdIAs0EoSZIkSZIkDTAbhJIkSZIkSdIAs0EoSZIkSZIkDbB5vQ5AarqN5s/n/rVrex3GjG2z7bZ9n0cTcoBm5NGEHKAZeZjDxO5fO8wj5m/UlWNLGgzz52/E8Nr7ex3GjG237TaNyAOak4t5zC5NyQOak8uGzKM1/ABzN9p0g4zVLTYIpS6bMzTENiec3OswZmy4Ncycof6+6LgJOUAz8mhCDtCMPMxhYrefcFRXjitpcAwNzWHFR3ftdRgzNjw8zJw5/f15MaIpuZjH7NKUPKA5uWzIPBa+95oNMk439f8rLkmSJEmSJGnabBBKkiRJkiRJA8wGoSRJkiRJkjTAbBBKkiRJkiRJA8wGoSRJkiRJkjTAbBBKkiRJkiRJA8wGoSRJkiRJkjTAbBBKkiRJkiRJA8wGoSRJkiRJkjTAbBBKkiRJkiRJA8wGoSRJkiRJkjTAbBBKkiRJkiRJA8wGoSRJkiRJkjTAbBBKkiRJkiRJA8wGoSRJkiRJkjTAbBBKkiRJkiRJA8wGoSRJkiRJkjTA5vU6gG6IiBXAczPzt1N83Gpgr8y8pRtx9YuIeBFwSmYu7nUsUxERewMfAe4D9gEWjLp9MR28LyLiS8A7MvP2iHgjcE1mfqebsUuSNKis2x6qvQ7p0fhvpDyvr5tgn9V04bmPiK2B6zNzy2k+flvgs/XmKcB/jbq9O/DpzLx6kuOcCNyamRfXunh+Zn51OjFJktQvGtkgzMyFvY5hfYuIeZn5QK/jWF+6lM8hwHGZeUkd47T220BH74vM3LPt5huBuwAbhJIkdUG/1m0RMTcz167v446qQzQ1r6Gc2H0bQEQc3X4bWNbJQTLzuLabLwI2A2wQSpIarZENwohoAZtn5j31DOd5wB7AkyhXxp1R99sNOLM+7BvAUNsxAjgN2BKYD5yWmZ+KiO2BrwHPz8zvR8TxwILM3GeSeE4E/gTYFDg2My+t2/4IOAl4ZN39uMz84sgZVOBc4I+BsyLiR8AHgbWU1+7tmXllRDwT+ATwOOCBevyvtI39PuDVwGOBo9rGXgYEsDHwPeDgzPxFh8/xo4BTgSXAMHB1Zr49Il5cY9ykxvihzLyoPuZKYAWwC/BzYM+I2LPGtwmwBjgiM6+dYNz3UK4GnEe5MvCwzFwREacCu5Vd4vA6zoO3M3P3KbwvVgN71dwWA6dHxAeBIynviTdl5nV1378Ats/Mt3byvEmSpIeahXXbyykzEOYCdwKHZOb36pVkpwPLgZ2Bv4qIb9d4nwjcXmO6IjPPiIh9gXfVeACOzMx/q2NMlOdq6tV5EfH7dcxt6zEuzMyPjBP3POCLlHpvU8rVc4dk5pp6VeC+wC+AZwO/BF6bmT+OiPnA31PqzbuAb4/33Iwz7kR16HOBk4HN6+5HZeZXI+IU4IX1ubmLUoN+v8Pxxqw1I2I/4AhgTkQ8D7gEeEfb7dcCZ1Oe68sj4lxKLbkd8BTgm8BBmdmq266nvM8Orcd4CXBR3Xd1Zp5c49m53r99Zram8txJkjSbDMoahI/IzOdSzgCeFBGbRcTGlA/zd2TmjsBVwFPhwQLrAkqzagnwfOCYiNg+M28DjgUujoiXUoqtTppDa+sZ8ldRmn2Pj4gtgKXAvpm5iNKU+kS9H0qBd11mPiczl1KajG+tx9kJuKHutwy4IDP/ANgf+ExEPK5t7LtrHgdQiswR78rMxTX/W4GjO8hjxGnAb4CdMnMn4IR6/w2UInxn4CXAKRHx6LbHPaNu3zMitgHeD7yi5v8W1k0DGc95mbmkHv/9lOePzDyCUsi9MzN3H317nGM97H3RvjEzP9V2jIWZ+a/AGcDhABExBBwGfHySmCVJUud6VrdFxOOB84H9al11AQ+96mwH4KxaF1xOqav+PTN3oDSjXti27xXALrVm2Qf49GR5jhHSZ4BrM/MPajz/OP7TxlpKTbmY0gScCxzctn0JpUm5A7CyxgtlBsbTgWcBLwb+cIIxxjJmHRoRjwH+CXhvrRWfA1xXH3NSred2Ai4E/mYK441Za2bmMkpdeF59fT406vZYU7afDexJeV0X1eM9KDNvHnWMkyi14CG1DgR4O3CmzUFJUr8blAbhRQCZuZpy5vTJlCvn7s3MK+u2zwK/qvtvR1m/7qK6Ls7VlKvsFtR9zwduAy6jFGJ3dxDD2fWxSSlsdgF2pRRkX67jfBloAc+sj7mPhzbMvg6cGhFHUc5+3x0Rm1Omzn6qHn8l667Se0j+wLXAVhGxSb19YEQsj4ibKQXzVKb47AWcnJnDddy76v2PAz4XEbdQCuPHUJ7rERe0TS1+GbANcFXNfxkwLyKeMMG4iyLiqnr8j00x5tHGel9M5nzgZbXofRnwk8y8cQYxSJKkh+pl3fZHwI21noJSXy2s9RbAdzPzm2377866Guz7wL+1bdsGuCIibqWsg/zEiHjiJHk+qDYMd6XM2KDuexfjmwMcWZ+DmyhXBLbXSf+ZmT+sP19b4xvJ4dOZeX9m3ktpSnZkkjr0ucDKzLymblvbNlPlFRFxba3njmRq9dxkteZUXJaZ92XmGkp9vs1kD8jMVcB/Ay+vJ8FfRZnxI0lSX2vkFOMx3Nf288j03LGMnPkbAu7KcdbEqVMxdqBMz5iomTWZIeCmzHzBGGNsDfym/WxkZh4RETtSCr5LIuJjrGv+TeS++vi1ZQYO8+o0ncOAXTPzzjoNZn1Mk/0H4AvAa+oUje9QpoCMuKft5yHgK5l5YCcHrs/754AXZOYNEbEV8L8ziLXT98WDMvM3EXEB8CbKGX+vHpQkaf2arXUbPLSOmcyFwHsy87KImAPcy0NroinXIZPYl3L15G6Z+euIOJbSPO3WeNMSEU+jLlOTmXdExK6UKzU7NVmtORXTfU5Op8woeRbw+cz81ST7S5I06w3KFYRjSWDT2igjIl4HbNG27d6IOGBk54jYPiJG1gk8mbL+zB7A0ojo5MqzN9XjbEtZt+Za4Bpg24h4cApsRCxpm7LwEBERmXlzZv4d5ezuksz8NeVM7UF1nwWU6cfjruNXbUE58/6zOm3n4En2H+1y4KiRWCNi5NvmtqCsy9KKiD1YdzXkWL5KOfu6Q1uOSybYf2StmZGz34dPMebpuBt41Kj7Pg68mzIV5dINEIMkSYNuQ9Vt1wI71bULodRX36711liuZF0N9hTKSdwRWwB31J8PplzV2LHMvIdSKx4xcl9bvTWWLSiN0l9HWSt63w6H+jpwQETMi4hNp/A4JqlDvwk8q65DSETMrVfcPZKy7vSPa+P00E7Hq6ZSa64PY9WCX6JctfgXeLJYktQQA9sgzMzfAW8AzoyImyhXg/2gbnsAeCWwT0TcVKeGnAnMj4i9677vzsxbgQ8AF9b1byYyL8pC1pdTFoz+aZ1m8Srg+Ii4MSJWUdbyG7NBSFmf5pY6dWQP1q3Xsh+wf81jGXBAZt45STxfoSym/R3KAsw3TLz7wxxBWXD6loi4ERj5trdjKGvBrABeT5niMqbM/C5lrZqz2/I/ZIL9767jXBcRyylrIHbbWcBxEbGiLk5NZt5Bmap0Tp2SIkmSumhD1W21fjoAuKCOs3/9M553AXvUMf+B8sUgI1eTvRu4LCJuoKzB/LNppL4/8Lxa/90IvHmCfc8DNo+I24B/oUy17sRZlOdyFaVZeN3Euz/MmHVoZv6c8q3CH6vblgOL6rp+l1DWQfwW65qoneq41lxP/glYUmvBYwDqEjufBu7IzG6PL0nSBjHUarmebrdF27fz9ToWzVy9IuE2yhWck05xXrlyZevlF36h+4F12XBrmDlD/X1OoQk5QDPyaEIO0Iw8zGFit59wFBvNnduVY4+2atUqFixY0PVxli9fvnzRokWLuz7QAKhX3N2fmQ9ExJMozbUX1zWn1WAR8TXKF9ZcMtm+K1eubN33zwdtgKi6a3h4mDlz+vvzYkRTcjGP2aUpeUBzctmQeSx87zXMmbtRV469vmvE8WrBQVmDUFovIuJQ4K+Av+2kOShJkhptW+C8uuTKRsAHbA42W0QspnzpzLdxqRlJUoPYIFxPIuI4yjSK0V6ameNNGZ7VImIhY38r2xmZ+ckujrsn8OExNh2bmV/q1ridyMylwNJexiBJkmZmkrrtp50ep04vnco38M5YRCylfEtwuwcyc71eFRoRbwHePsamN2bmivU51hhjP56yVvVon8/ME7s59mQy83o6+LZjSZL6jQ3C9aQWKz0tWNa3Wvxt0KK3jvslyuLPkiRJ610/122ZOdUv9ZjuOJ8EunZCeJKxf0oPalBJkgZZ/08qlyRJkiRJkjRtNgglSZIkSZKkAWaDUJIkSZIkSRpgNgglSZIkSZKkAWaDUJIkSZIkSRpgNgglSZIkSZKkAWaDUJIkSZIkSRpgNgglSZIkSZKkAWaDUJIkSZIkSRpgNgglSZIkSZKkAWaDUJIkSZIkSRpg83odgNR0w60Wt59wVK/DmLFWq8XQ0FCvw5iRJuQAzcijCTlAM/Iwh4ndv3aYjebO7cqxJQ2GVmuYhe+9ptdhzFgTPi9GNCUX85hdmpIHNCeXDZlHa/gBmLvRBhmrW2wQSl12/5o1jfjP5apVq1iwYEGvw5iRJuQAzcijCTlAM/Iwh4k14fe3pN5as+Z+5vT5fxqhGZ8XI5qSi3nMLk3JA5qTywbNowG/551iLEmSJEmSJA0wG4SSJEmSJEnSALNBKEmSJEmSJA0wG4SSJEmSJEnSABtqtVq9jkFqtOXLl98JfL/XcUiSVD1t0aJFj+t1ENKgsBaUJM0yY9aCNgglSZIkSZKkAeYUY0mSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBpgNQkmSJEmSJGmA2SCUJEmSJEmSBti8XgcgNVlEbAd8Gngs8DPgwMz8bm+jmlhEnAK8Ftga2DEzb6n3900uEfFY4HxgG2AN8F3gkMy8MyJ2AT4BbAqsBvbPzJ/2KtbJRMRlwNOBYeAe4B2ZuaKfXo8REXE8cAL1fdVPr0VErAbuq38Ajs7MK/opB4CI2AQ4FXgJJZdvZuZb++X9FBFbA5e13bUF8MjMfEy/5DAiIvYC/hoYqn8+kJmf77c8JI2vn/89Ww/OPk2qCaG/60KwNpxtrBHXD68glLprKfDxzNwO+Djlw2K2uwx4AfD9Uff3Uy4t4KOZGZm5I3A7cFJEzAE+A7yt5nEVcFIP4+zEQZm5U2buDJwCnFPv76fXg4h4DrC/vOxXAAAEdUlEQVQL9X3Vp6/F6zJzYf1zRZ/m8FFK8bdd/bfx/np/X7yfMnN122uwkPL76oK6uS9yAIiIIcp/Wg+oeRwAfLq+p/omD0mT6ud/z9aDs08jakJoTF0I1oazhjXi+mGDUOqSiHg88BzgwnrXhcBzIuJxvYtqcpn5H5n5w/b7+i2XzPx5Zl7Zdte1wNOARcB9mfkf9f6lwOs3cHhTkpm/arv5KGC4316PiNiY8iF2WNvdffdajKGvcoiIzYADgfdnZgsgM3/Sb++nERExH9gPOKdPcxim/JuGcpb7R8CW9F8eksbQp7+XHmQ9OPs0oSaERteF0Gd5NK02HGGNOH02CKXueQrwv5m5FqD+/X/1/n7Tt7nUsy2HAV8AnkrbmfDMvAuYExGP6VF4HYmIT0bED4APAQfRf6/HicBnMnN12339+Fosi4ibIuLMiNiC/sthG8p0hOMj4vqIuDIink//vZ9GvIoS9w30WQ61CH898M8R8X3KWe4D6bM8JE2oif+e+zanJtSD0IiaEJpTF4K14WxljThNNgglNd3fU9ZpOaPXgUxXZr4lM58KHAuc3Ot4piIingssBs7sdSwztFtm7gQsoawF0o/vp7nAM4BvZ+Zi4Gjg88BmPY1q+g5m3fSqvhIR84C/BP4kM58GvBL4LP37WkjSbNf39SD0d00IjaoLwdpwNrNGnCYbhFL3/BD4/YiYC1D/3qre32/6Mpe6wPa2wJ9l5jDwA8rUkpHtWwLDmfnzHoU4JZl5PrA78D/0z+vxQmABcEddzPnJwBXAM+mj12JkmlVm/o5S1D6P/ns//QB4gDo1ITO/BdwF/Jb+eT8BEBG/T3lvLat39dvvqIXAVpn5nwD1799Q1gDqpzwkja/ffi91oi9zalo9CH1bE0JD6kKwNpytrBFnxgah1CVZvq1qBfCGetcbKGdn7uxdVNPTj7lExIcp64DsXT+4AZYDm9ZL5wEOBS7pRXydiIjNIuIpbbdfCfwc6JvXIzNPysytMnPrzNyaUsi+jHLWuy9ei4j4vYh4VP15CNiH8vz31fupTnP5d2APePCbKB8PfIc+eT+1OQj4Ymb+DPryd9T/AE+OiACIiAXAEyjfsNlPeUgaRx/+XppUP+bUhHoQmlETQjPqQrA2nOWsEWdgqNVqrc/jSWoTEdtTvor80cAvKF9Fnr2NamIRcTrwGuCJlDNIP8vMHfopl4jYAbiF8uH223r3HZn56ojYlfKNT5sAq4H9M/MnPQl0EhHxBOCfgd8D1lIKwSMz84Z+ej3a1bPFe2XmLf3yWkTEM4BLKdMw5gIrgXdm5o/6JYcRNZdzgMcC9wPvy8wv99v7KSK+Q3kNvtJ2X7/lsB9wDGUhaoDjM/OyfstD0vj6+d+z9eDs0sSaEPqzLgRrw9nMGnFmbBBKkiRJkiRJA8wpxpIkSZIkSdIAs0EoSZIkSZIkDTAbhJIkSZIkSdIAs0EoSZIkSZIkDTAbhJIkSZIkSdIAs0EoSZIkSZIkDTAbhJIkSZIkSdIA+/+oGModlqmiXAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
                                                                      " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "unique_segments = np.unique(top_ch_ret_ix.head(7).index.tolist() + top_la_ret_ix.head(7).index.tolist())\n", + "palette_c=['#7F3C8D','#11A579','#3969AC','#F2B701','#E73F74','#80BA5A','#E68310','#008695','#CF1C90','#f97b72']\n", + "color_dict = dict(zip(unique_segments, palette_c))\n", + "\n", + "def plot_top_indices(df, ax, color_dict):\n", + " sns.barplot(x='50%', y='index', data=df.head(7).reset_index(), \n", + " alpha=0.96, ax=ax, palette=palette(df.head(7).index.tolist(), color_dict))\n", + " ax.set_title('Chicago', fontsize=18, fontweight='bold')\n", + " ax.set_xlabel('')\n", + " ax.set_ylabel('')\n", + " ax.tick_params(labelsize=11)\n", + "\n", + "fig, axs = plt.subplots(1, 2, figsize=(18, 6))\n", + "plot_top_indices(top_ch_ret_ix, axs[0], color_dict)\n", + "plot_top_indices(top_la_ret_ix, axs[1], color_dict)\n", + "fig.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "cbWC9pjlHsKH" + }, + "source": [ + "\n", + "#### 2.3 Correlation analysis\n", + "\n", + "In this section we'll carry out a deeper analysis on how geosocial data can help explain retail performance. We'll compare the most important features for Chicago and LA." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "iIDt1LRuHsKI" + }, + "source": [ + "##### Social segments\n", + "\n", + "Here we calculate the correlation coefficient between every social segment and the total transaction amount for restaurants. This allows us to identify which segments have a strongest impact and the differences between both cities.\n", + "\n", + "This analysis provides very interesting insights. We can see how the social segment _\"sites to see\"_ impacts positively in Chicago, while it barely impacts in LA." + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "id": "sdxUnCQqHsKI" + }, + "outputs": [], + "source": [ + "def calculate_corrcoef(target_var, df, columns):\n", + " corr_coefs = []\n", + " for ssegment in columns:\n", + " corr_aux = df[~df[ssegment].isnull()]\n", + " corr_coefs.append(np.corrcoef(corr_aux[target_var], corr_aux[ssegment])[0][1])\n", + "\n", + " corr_df_ch = pd.DataFrame(data={'social_segment':columns, 'corr_coef':corr_coefs})\n", + " corr_df_ch['corr_coef_abs'] = np.abs(corr_df_ch['corr_coef'])\n", + " corr_df_ch.sort_values('corr_coef_abs', ascending=False, inplace=True)\n", + " return corr_df_ch" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "id": "3tO7Eh94HsKK" + }, + "outputs": [], + "source": [ + "corr_df_ch = calculate_corrcoef(target_var, ch_ret, social_segment_columns)\n", + "corr_df_la = calculate_corrcoef(target_var, la_ret, social_segment_columns)\n", + "\n", + "corr_df_ch['city'] = 'Chicago'\n", + "corr_df_la['city'] = 'LA'\n", + "corr_df = pd.concat([corr_df_ch, corr_df_la], ignore_index=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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FiyY6jQkSZIkSZKkGePee++9fdttt33Y8OkzskC4YMECtt5666lOQ5IkSZIkSZoxFi9e/IdW0+1iLEmSJEmSJPUwC4SSJEmSJElSD7NAKEmSJEmSJPWwGXkPQkmSJEmSJPWO/v5+brvtNpYuXTrVqcwICxcuZKONNmL+/PkdzW+BUJIkSZIkSdPabbfdxpprrskmm2xCX1/fVKczrTUaDe644w5uu+02Nt10045eYxdjSZIkSZIkTWtLly5lvfXWszjYgb6+PtZbb71arS0tEEqSJEmSJGnaszjYubrLygKhJEmSJEmS1MMsEM4Ag/1LaTQGW/4N9ntzTkmSJEmSpMly9tln8+1vfxuAc889l7/85S9TnNH4OUjJDNA3bzVuPXabls9t/L6rJzkbSZIkSZKk3nXQQQet+P95553HFltswQYbbDCFGY2fBUJJkiRJkiSpjW9/+9ucfvrp9PX1ERE86lGPYo011mDDDTfk+uuv5+1vfzsLFy7krW99K1//+tc55ZRTALjiiis466yzOPnkk6f4E4zOAqEkSZIkSZLUwm9+8xtOPfVUzj77bNZdd13uuusuvvKVrwCwxx578NWvfpV3vvOdPOEJT6DRaHD88cdz5513su6663Luueey//77T/En6Iz3IJQkSZIkSZJaWLRoEXvssQfrrrsuAGuvvXbbefv6+th77705//zzufvuu7nmmmvYeeedJyvVcbEFoSRJkiRJktQF++23H69//etZbbXV2GOPPZg3b2aU3mxBKEmSJEmSJLWw0047cemll/L3v/8dgLvuumul5x/0oAfxr3/9a8XjDTbYgPXXX59TTz11xnQvBlsQSpIkSZIkSS1tscUWvO51r+NlL3sZc+bM4bGPfSwbbrjhiuf33XdfPvjBD7Jw4ULOOeccFi5cyJ577smdd97J5ptvPoWZ12OBUB0b7F9K37zVWj7XWH4/c+YvnOSMJEmSJEmSJta+++7Lvvvu2/K53Xffnd13332laYsXL+aAAw6YjNS6xgKhOtY3bzVuPXabls9t/L6rJzkbSZIkSZKk6WW//fZj9dVX56ijjprqVGqxQChJkiRJkiR1wbnnnjvVKYyJg5RIkiRJkiRJPcwCoSRJkiRJktTDLBBKkiRJkiRJPWzWFggH+5fSaAyu8jfYv3TcMerGkSRJkiRJkqarWTtISbsRd+uMtuuovZIkSZIkSdPPsv7lzJ87t2vx+gcGWDB/9DLZ3/72Nz7ykY9w3XXXsdZaa7Heeuux6667cvnll/PZz352lfnf+9738vKXv5zHPOYxXct1IszaAqEkSZIkSZJmp/lz57LTu8/sWrxFxx086jyNRoMjjjiCffbZhxNOOAGAm266icsuu6ztaz784Q93LceJNGu7GEuSJEmSJEndsmjRIubNm8dBBx20YtpWW23Fdtttx7333sub3vQm9thjD4488kgajQYAL3vZy7juuusA+MlPfsK+++7LXnvtxaGHHgrAr371K170ohexzz778OIXv5hbbrkFgPvuu483v/nNPO95z+Pwww/ngAMOWBHnwgsvZM899+QFL3gBH//4x7vy2WxBKEmSJEmSJI3iN7/5DY973ONaPnfjjTdy0UUXsf7663PQQQexePFitttuuxXP33nnnbz//e/nzDPPZOONN+auu+4CYLPNNuOrX/0q8+bN4+c//zknnHACJ510EmeddRYPechDuPjii/n1r3/NPvvsA8Bf/vIXPvGJT3Duueey1lpr8YpXvIIf/OAH7LrrruP6bBYIJUmSJEmSpHF44hOfyMMf/nCgtCr805/+tFKB8Nprr2W77bZj4403BmDttdcG4J577uFd73oXf/jDH+jr66O/vx+AxYsXc8ghhwCw5ZZbEhEAXHfddeywww6su+66AOy5555ceeWV4y4Q2sVYkiRJkiRJGsUWW2zBDTfc0PK51VZbbcX/586dy8DAQEcxTzzxRHbccUcuvPBCTj31VO6///6u5FqXBUJJkiRJkiRpFDvttBP3338/55xzzoppN910E1ddddWor33Sk57EVVddxa233gqwoovxPffcwwYbbADAeeedt2L+bbbZhksuuQSA3/72t/z6178GSkvFK6+8kjvvvJOBgQEuuugitt9++3F/NrsYS5IkSZIkaUbpHxjoaOThOvEWzBm5TNbX18dnPvMZPvKRj/D5z3+eBQsWsOGGG3bUvXfdddflmGOO4Y1vfCODg4Ost956nHHGGbzqVa/iqKOO4tRTT2WXXXZZMf9LXvISjjrqKJ73vOex2Wab8ZjHPIY111yT9ddfnyOPPJJDDz2URqPBLrvsMu7uxQB9Q6OqzCRLlixpbL311iPO02gMcuux26wyfeP3XU1fX2cNJ9vFqBtnvMxDkiRJ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\n", + "text/plain": [ + "
                                                                      " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(18, 6))\n", + "sns.barplot(x='social_segment', y='corr_coef', hue='city', data=corr_df, alpha=0.99)\n", + "plt.xticks(rotation=90)\n", + "plt.xlabel('')\n", + "plt.title(f\"Correlation strength of social segments with target var '{target_var}' - industry '{industry}'\", \n", + " fontsize=15, fontweight='light', pad=15)\n", + "plt.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "fWG2fLiFHsKb" + }, + "source": [ + "##### Indices\n", + "\n", + "Now, we'll calculate the correlation coefficient between every social index and the metric total transaction amount for restaurants. This allows us to identify which indices have a strongest impact and the differences between both cities.\n", + "\n", + "It is interesting to see the different correlation coefficients for older affinity and discount affinity in Chicago and LA." + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "id": "l2UKdUaoHsKc" + }, + "outputs": [], + "source": [ + "corr_df_ch_ix = calculate_corrcoef(target_var, ch_ret, social_indices_columns)\n", + "corr_df_la_ix = calculate_corrcoef(target_var, la_ret, social_indices_columns)\n", + "\n", + "corr_df_ch_ix['city'] = 'Chicago'\n", + "corr_df_la_ix['city'] = 'LA'\n", + "corr_df_ix = pd.concat([corr_df_ch_ix, corr_df_la_ix], ignore_index=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 441 + }, + "id": "t-R3_TU1HsKj", + "outputId": "d729c804-7d62-493a-fe69-0bedaa8c9478" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
                                                                      " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(10, 6))\n", + "sns.barplot(y='social_segment', x='corr_coef', hue='city', data=corr_df_ix, alpha=0.95)\n", + "plt.xticks(rotation=90)\n", + "plt.ylabel('')\n", + "plt.yticks(fontsize=12)\n", + "plt.title(f\"Correlation strength of indices with target var '{target_var}' - industry '{industry}'\", \n", + " fontsize=14, fontweight='light', pad=15)\n", + "plt.tight_layout()" + ] + } + ], + "metadata": { + "colab": { + "collapsed_sections": [], + "name": "[CARTO] Combining two datasets.ipynb", + "provenance": [], + "toc_visible": true + }, + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/docs/examples/use_cases/geocoding_london_stations.ipynb b/docs/examples/use_cases/geocoding_london_stations.ipynb new file mode 100644 index 000000000..5228a6a7b --- /dev/null +++ b/docs/examples/use_cases/geocoding_london_stations.ipynb @@ -0,0 +1,1785 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Geocode London Stations\n", + "\n", + "Source: https://data.london.gov.uk/dataset/london-underground-performance-reports" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas\n", + "from cartoframes.auth import set_default_credentials\n", + "from cartoframes.data.services import Geocoding\n", + "\n", + "set_default_credentials('creds.json')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                      \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                      nlcStationBoroughNoteWeekdaySaturdaySundayWeekday.1Saturday.1Sunday.1million
                                                                      0500.0Acton TownEaling9531.06716.04744.09382.06617.04785.06.040516
                                                                      1502.0AldgateCity of London15080.04397.03261.016023.05909.04230.08.846940
                                                                      2503.0Aldgate EastTower Hamlets22327.016166.013323.021071.013893.011347.013.998292
                                                                      3505.0AlpertonBrent4495.03279.02345.05081.03392.02445.03.052230
                                                                      4506.0AmershamChiltern3848.01876.01232.04025.01797.01121.02.321692
                                                                      \n", + "
                                                                      " + ], + "text/plain": [ + " nlc Station Borough Note Weekday Saturday Sunday \\\n", + "0 500.0 Acton Town Ealing 9531.0 6716.0 4744.0 \n", + "1 502.0 Aldgate City of London 15080.0 4397.0 3261.0 \n", + "2 503.0 Aldgate East Tower Hamlets 22327.0 16166.0 13323.0 \n", + "3 505.0 Alperton Brent 4495.0 3279.0 2345.0 \n", + "4 506.0 Amersham Chiltern 3848.0 1876.0 1232.0 \n", + "\n", + " Weekday.1 Saturday.1 Sunday.1 million \n", + "0 9382.0 6617.0 4785.0 6.040516 \n", + "1 16023.0 5909.0 4230.0 8.846940 \n", + "2 21071.0 13893.0 11347.0 13.998292 \n", + "3 5081.0 3392.0 2445.0 3.052230 \n", + "4 4025.0 1797.0 1121.0 2.321692 " + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "file_path = 'https://libs.cartocdn.com/cartoframes/samples/london_stations.xls'\n", + "df = pandas.read_excel(file_path, header=6, sheet_name=1)\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                      \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                      nlcStationBoroughNoteweekday_entrysaturday_entrysunday_entryweekday_exitsaturday_exitsunday_exitmillion
                                                                      0500.0Acton TownEaling9531.06716.04744.09382.06617.04785.06.040516
                                                                      1502.0AldgateCity of London15080.04397.03261.016023.05909.04230.08.846940
                                                                      2503.0Aldgate EastTower Hamlets22327.016166.013323.021071.013893.011347.013.998292
                                                                      3505.0AlpertonBrent4495.03279.02345.05081.03392.02445.03.052230
                                                                      4506.0AmershamChiltern3848.01876.01232.04025.01797.01121.02.321692
                                                                      \n", + "
                                                                      " + ], + "text/plain": [ + " nlc Station Borough Note weekday_entry saturday_entry \\\n", + "0 500.0 Acton Town Ealing 9531.0 6716.0 \n", + "1 502.0 Aldgate City of London 15080.0 4397.0 \n", + "2 503.0 Aldgate East Tower Hamlets 22327.0 16166.0 \n", + "3 505.0 Alperton Brent 4495.0 3279.0 \n", + "4 506.0 Amersham Chiltern 3848.0 1876.0 \n", + "\n", + " sunday_entry weekday_exit saturday_exit sunday_exit million \n", + "0 4744.0 9382.0 6617.0 4785.0 6.040516 \n", + "1 3261.0 16023.0 5909.0 4230.0 8.846940 \n", + "2 13323.0 21071.0 13893.0 11347.0 13.998292 \n", + "3 2345.0 5081.0 3392.0 2445.0 3.052230 \n", + "4 1232.0 4025.0 1797.0 1121.0 2.321692 " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = df.rename(columns={\n", + " \"Saturday.1\": \"saturday_exit\",\n", + " \"Sunday.1\": \"sunday_exit\",\n", + " \"Weekday.1\": \"weekday_exit\",\n", + " \"Saturday\": \"saturday_entry\",\n", + " \"Sunday\": \"sunday_entry\",\n", + " \"Weekday\": \"weekday_entry\"\n", + "})\n", + "\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Success! Data geocoded correctly\n" + ] + } + ], + "source": [ + "gc = Geocoding()\n", + "\n", + "london_stations_gdf, london_stations_metadata = gc.geocode(\n", + " df,\n", + " street='Borough',\n", + " city={'value': 'London'},\n", + " country={'value': 'United Kingdom'}\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                      \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                      the_geomnlcstationboroughnoteweekday_entrysaturday_entrysunday_entryweekday_exitsaturday_exitsunday_exitmilliongc_status_relcarto_geocode_hash
                                                                      0POINT (-0.30421 51.51335)500.0Acton TownEaling9531.06716.04744.09382.06617.04785.06.0405160.55985f9d318280297b6108bc30e92d92e1
                                                                      1POINT (-0.08895 51.51333)502.0AldgateCity of London15080.04397.03261.016023.05909.04230.08.8469400.887abfcd5c0283e877a275f0d059836a09
                                                                      2POINT (-0.03228 51.51740)503.0Aldgate EastTower Hamlets22327.016166.013323.021071.013893.011347.013.9982920.75c1ba0efb09cc8e5caf79092547a7a3e7
                                                                      3POINT (-0.24564 51.55492)505.0AlpertonBrent4495.03279.02345.05081.03392.02445.03.0522300.55c9f07eb29a060527ca81a613cca80007
                                                                      4POINT (-0.15566 51.52048)506.0AmershamChiltern3848.01876.01232.04025.01797.01121.02.3216920.54518e37ccd63a56df5d5758fb8e52a5dd
                                                                      \n", + "
                                                                      " + ], + "text/plain": [ + " the_geom nlc station borough note \\\n", + "0 POINT (-0.30421 51.51335) 500.0 Acton Town Ealing \n", + "1 POINT (-0.08895 51.51333) 502.0 Aldgate City of London \n", + "2 POINT (-0.03228 51.51740) 503.0 Aldgate East Tower Hamlets \n", + "3 POINT (-0.24564 51.55492) 505.0 Alperton Brent \n", + "4 POINT (-0.15566 51.52048) 506.0 Amersham Chiltern \n", + "\n", + " weekday_entry saturday_entry sunday_entry weekday_exit saturday_exit \\\n", + "0 9531.0 6716.0 4744.0 9382.0 6617.0 \n", + "1 15080.0 4397.0 3261.0 16023.0 5909.0 \n", + "2 22327.0 16166.0 13323.0 21071.0 13893.0 \n", + "3 4495.0 3279.0 2345.0 5081.0 3392.0 \n", + "4 3848.0 1876.0 1232.0 4025.0 1797.0 \n", + "\n", + " sunday_exit million gc_status_rel carto_geocode_hash \n", + "0 4785.0 6.040516 0.55 985f9d318280297b6108bc30e92d92e1 \n", + "1 4230.0 8.846940 0.88 7abfcd5c0283e877a275f0d059836a09 \n", + "2 11347.0 13.998292 0.75 c1ba0efb09cc8e5caf79092547a7a3e7 \n", + "3 2445.0 3.052230 0.55 c9f07eb29a060527ca81a613cca80007 \n", + "4 1121.0 2.321692 0.54 518e37ccd63a56df5d5758fb8e52a5dd " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "london_stations_gdf.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                                                      \n", + "
                                                                      \n", + "
                                                                      \n", + " \n", + " \n", + "
                                                                      \n", + "
                                                                      \n", + "
                                                                      \n", + "\n", + " \n", + "\n", + "
                                                                      \n", + "
                                                                      \n", + " :\n", + "
                                                                      \n", + " \n", + " \n", + "
                                                                      \n", + "
                                                                      \n", + "\n", + "
                                                                      \n", + " StackTrace\n", + "
                                                                        \n", + "
                                                                        \n", + "
                                                                        \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Map, Layer\n", + "\n", + "Map(Layer(london_stations_gdf), viewport={'zoom': 10, 'lat': 51.53, 'lng': -0.09})" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/examples/real_use_cases/paris_remarkable_trees.ipynb b/docs/examples/use_cases/paris_remarkable_trees.ipynb similarity index 69% rename from examples/real_use_cases/paris_remarkable_trees.ipynb rename to docs/examples/use_cases/paris_remarkable_trees.ipynb index 473805cbb..e30070ebd 100644 --- a/examples/real_use_cases/paris_remarkable_trees.ipynb +++ b/docs/examples/use_cases/paris_remarkable_trees.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Paris Remarkable Trees from 1700 to 2000" + "## Paris Remarkable Trees from 1700 to 2000" ] }, { @@ -241,15 +241,12 @@ } ], "source": [ - "import pandas\n", - "from pandas.io.json import json_normalize\n", - "import json\n", + "import requests\n", + "from pandas import DataFrame, json_normalize\n", "\n", - "local_file_path = '../files/arbres_remarquables_paris.json'\n", - "with open(local_file_path, 'r') as json_file:\n", - " data_json = json.load(json_file)\n", + "data_json = requests.get('https://libs.cartocdn.com/cartoframes/samples/arbres_remarquables_paris.json').json()\n", "\n", - "df = pandas.DataFrame(json_normalize(data_json['records']))\n", + "df = DataFrame(json_normalize(data_json['records']))\n", "df.head()" ] }, @@ -379,8 +376,8 @@ } ], "source": [ - "df.columns = df.columns.str.replace(\".\", \"_\")\n", - "df[['lon','lat']] = pandas.DataFrame(df['geometry_coordinates'].values.tolist(), index=df.index)\n", + "df.columns = df.columns.str.replace('.', '_')\n", + "df[['lon','lat']] = DataFrame(df['geometry_coordinates'].values.tolist(), index=df.index)\n", "df.loc[:, ['geometry_coordinates', 'lon', 'lat']]" ] }, @@ -687,6 +684,11 @@ " max-width: 100%;\n", " height: auto;\n", " }\n", + "\n", + " as-layer-selector-slot .as-layer-selector-slot--wrapper .as-caption { // FIXME\n", + " font-size: 14px;\n", + " line-height: 14px;\n", + " }\n", "\n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + " \n", + "\n", + "\n", + " \n", + "
                                                                        \n", + "
                                                                        \n", + "
                                                                        \n", + " \n", + "
                                                                        \n", + " \n", + " \n", + "
                                                                        \n", + "
                                                                        \n", + " \n", + "\n", + "
                                                                        \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                        \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " Issued: 7/17/19 | Source: NOAA Weather Predicition Center\n", + " \n", + " \n", + " \n", + " \n", + "
                                                                        \n", + " \n", + " \n", + "
                                                                        \n", + "
                                                                        \n", + "
                                                                        \n", + "
                                                                        \n", + " \n", + "
                                                                        \n", + "
                                                                        \n", + "
                                                                        \n", + "\n", + " \n", + "\n", + "
                                                                        \n", + "
                                                                        \n", + " :\n", + "
                                                                        \n", + " \n", + " \n", + "
                                                                        \n", + "
                                                                        \n", + "\n", + "
                                                                        \n", + " StackTrace\n", + "
                                                                          \n", + "
                                                                          \n", + "
                                                                          \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Map, Layer, color_continuous_legend, color_continuous_style, formula_widget, time_series_widget, basemaps, basic_style\n", + "\n", + "Map ([\n", + " Layer(\n", + " 'maxhi_20190717_72',\n", + " style=color_continuous_style('value', size=4, stroke_width=0, animate='value'),\n", + " legends=color_continuous_legend(\n", + " title='Max Heat Index for July 20, 2019',\n", + " description='Degrees (°F)',\n", + " footer='Issued: 7/17/19 | Source: NOAA Weather Predicition Center'\n", + " ),\n", + " widgets=[\n", + " formula_widget('value', operation='sum', title='Max Degrees (°F)'),\n", + " time_series_widget('value', title='Animation by Temperature')\n", + " ],\n", + " ),\n", + " Layer(\n", + " 'state_bounds',\n", + " style=basic_style(color='white', opacity='0.5')\n", + " )],\n", + " basemap=basemaps.darkmatter,\n", + " show_info=True,\n", + " viewport={'zoom': 2.5, 'lat': 37.572586, 'lng': -110.638529},\n", + ")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/docs/developer-center/guides/00-Introduction.md b/docs/guides/00-Introduction.md similarity index 67% rename from docs/developer-center/guides/00-Introduction.md rename to docs/guides/00-Introduction.md index e0f2875c9..d0044ebbe 100644 --- a/docs/developer-center/guides/00-Introduction.md +++ b/docs/guides/00-Introduction.md @@ -1,64 +1,60 @@ ## Introduction -Use these guides to learn about integrating CARTOframes into your data science workflows. Working inside of a Jupyter Notebook, the guides walk through installation, visualization, authentication, data enrichment and location data services. +Use these guides to learn about integrating CARTOframes into your data science workflows. Working inside of a Jupyter Notebook, the guides walk you through installation, authentication, visualization, and all the data features provided in the library. If you are looking for more detailed use cases, [check our examples](/developers/cartoframes/examples). -### Content -
                                                                          - Quickstart + Installation -

                                                                          Complete a real project that walks through the library step by step

                                                                          +

                                                                          Install the library and set up your environment

                                                                          -
                                                                          - Installation + Authentication -

                                                                          Install the library and configure your environment

                                                                          +

                                                                          Login into CARTO to unlock the power of spatial analysis

                                                                          - Authentication + Quickstart -

                                                                          Login into CARTO to unlock the power of spatial analysis (data management, data enrichment, location data services, etc)

                                                                          +

                                                                          Complete a real project that walks through the library step by step

                                                                          -
                                                                          - Visualization + Data Management -

                                                                          Explore and visualize your spatial data with interactive maps

                                                                          +

                                                                          Work with data both locally and with a CARTO account

                                                                          +
                                                                          - Data Discovery + Data Visualization -

                                                                          Discover the spatial data you need by searching the data catalog

                                                                          +

                                                                          Explore and visualize your spatial data with interactive maps

                                                                          -
                                                                          - Data Enrichment + Data Services -

                                                                          Enrich your data with data from the Data Observatory

                                                                          +

                                                                          Geocode and discover areas of influence with Isolines

                                                                          - Location Data Services + Data Observatory -

                                                                          Geocode and discover areas of influence with Isolines

                                                                          +

                                                                          Discover and enrich your data with the Data Observatory

                                                                          diff --git a/docs/guides/01-Installation.ipynb b/docs/guides/01-Installation.ipynb new file mode 100644 index 000000000..162315339 --- /dev/null +++ b/docs/guides/01-Installation.ipynb @@ -0,0 +1,131 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Installation\n", + "\n", + "Welcome! This guide contains the information you need to install CARTOframes." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### System requirements\n", + "\n", + "#### Operating system\n", + "\n", + "Windows, macOS, GNU/Linux\n", + "\n", + "#### Python interpreter\n", + "\n", + "Python 3.5+ (previous versions are not supported)\n", + "\n", + "You can check your version by running:\n", + "\n", + "```\n", + "python --version\n", + "```\n", + "\n", + "If you don't have Python installed, please install the latest version from [python.org](https://python.org/) or refer to the [Installing Python guide](https://docs.python-guide.org/starting/installation/).\n", + "\n", + "#### Python environments\n", + "\n", + "Although installing a Python environment is not strictly required, it's highly recommended to have cleaner and more organized installations. You can check the tutorial on [Creating Virtual Environments](https://packaging.python.org/tutorials/installing-packages/#creating-virtual-environments) or [Managing Conda Environments](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html)." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "heading_collapsed": true + }, + "source": [ + "### Install it with `pip`\n", + "\n", + "The latest stable version of CARTOframes may be installed or upgraded via [pip](https://pypi.org/project/pip/) (Python Package Manager) by running one of the following commands:\n", + "\n", + "Install the package:\n", + "\n", + "```\n", + "pip install cartoframes\n", + "```\n", + "\n", + "Upgrade the package to the latest version:\n", + "\n", + "```\n", + "pip install --upgrade cartoframes\n", + "```\n", + "\n", + "Install a specific version:\n", + "\n", + "```\n", + "pip install cartoframes==1.x.y\n", + "```\n", + "\n", + "If pip does not exist, you have to install it manually. See https://pip.pypa.io/en/stable/installing/.\n", + "\n", + "#### Optional Dependencies\n", + "\n", + "[RTree](https://github.com/Toblerity/rtree) is a spatial index package to improve performance and is required for overlay operations. It provides an interface to [libspatialindex](https://github.com/libspatialindex/libspatialindex).\n", + "\n", + "\n", + "#### Windows users\n", + "\n", + "CARTOframes needs that [Shapely](https://github.com/Toblerity/Shapely) and [Fiona](https://github.com/Toblerity/Fiona) libraries are already installed in your system. Execute these commands to install CARTOframes correctly:\n", + "```bash\n", + "pip install shapely\n", + "conda install -c conda-forge fiona\n", + "pip install cartoframes\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Use Jupyter Notebooks\n", + "\n", + "CARTOframes is created to run in [Jupyter Notebooks](https://jupyter.org/), which allows rendering powerful HTML visualizations. If you are not familiar with Jupyter Notebooks, we recommend reading this [introduction](https://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/what_is_jupyter.html).\n", + "\n", + "To install CARTOframes through a Jupyter Notebook, run this command:\n", + "\n", + "```\n", + "!pip install cartoframes\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### About metrics\n", + "\n", + "We collect data on the usage of CARTOframes to improve the library. Usage data includes information like \"map_created,\" which is the event triggered when a map is created. The collected usage data is anonymous and it does not contain the data processed, just the information of the event, and it's handled in accordance with our Privacy Notice .\n", + "You may choose to opt out by calling `cartoframes.utils.setup_metrics(False)`." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/guides/02-Authentication.ipynb b/docs/guides/02-Authentication.ipynb similarity index 56% rename from guides/02-Authentication.ipynb rename to docs/guides/02-Authentication.ipynb index 22d17683b..41a60d556 100644 --- a/guides/02-Authentication.ipynb +++ b/docs/guides/02-Authentication.ipynb @@ -6,21 +6,19 @@ "source": [ "## Authentication\n", "\n", - "### Introduction\n", - "\n", "This guide focuses on the basics of authentication in CARTOframes.\n", "\n", - "> To visualize your local data with CARTOframes, you don't need to be authenticated.\n", + "Authentication is needed to store your data tables and map visualizations in your CARTO account, to use [Data Services](/developers/cartoframes/guides/Data-Services/) (geocoding, isolines) or [Data Observatory](/developers/cartoframes/guides/Data-Observatory/) (download, enrichment). If you don't already have an account, you can [create one here](https://carto.com/signup/).\n", "\n", - "Authentication is needed to set up your credentials to save your data and visualizations to CARTO, to use [Location Data Services](/developers/cartoframes/guides/Location-Data-Services/), or the [Data Observatory](developers/cartoframes/guides/Data-discovery/). Since a CARTO account is required for these cases, if you don't already have an account, you can [create one here](https://carto.com/signup/)." + "> To visualize your local data with CARTOframes, you don't need to authenticate." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Get your Master API Key\n", - "Once you have created an account, you need to get your **Master** API Key. The API keys page can be accessed from your [CARTO Dashboard](https://carto.com/help/tutorials/your-dashboard-overview/). Once there, click on your avatar to open the dashboard menu. The API keys link will be shown.\n", + "### Getting your API Key\n", + "Once you have created an account, you need to get your **Master API Key**. The API keys page can be accessed from your [CARTO Dashboard](https://carto.com/help/tutorials/your-dashboard-overview/). Once there, click on your avatar to open the dashboard menu. The API keys link will be shown.\n", "\n", "![API Keys link - CARTO Dashboard](img/credentials/dashboard.png)\n", "\n", @@ -35,7 +33,7 @@ "source": [ "### Setting your credentials\n", "\n", - "The [Credentials](/developers/cartoframes/reference/#heading-Auth) class is used to load your credentials in CARTOframes. This should be passed to every method that insteracts with your CARTO account. You can create multiple instances of credentials to manage different CARTO accounts.\n", + "[Credentials](/developers/cartoframes/reference/#heading-Auth) class is used to load your credentials in CARTOframes. This should be passed to every method that interacts with your CARTO account. You can create multiple instances of credentials to manage different CARTO accounts.\n", "\n", "There are different ways to set them but we encourage you to use the one that reads the credentials from a JSON file:\n", "\n", @@ -70,8 +68,34 @@ "### Credential parameters\n", "\n", "- `username`: your CARTO account username\n", - "- `api_key`: API Key of user's CARTO account. If the data to be accessed is **public**, it can be set to `default_public`.\n", - "- `base_url`: only needed for on-premise or custom installations. Typically in the form of `https://username.carto.com/` for user `username`. On-premises installation (and others) have a different URL pattern." + "- `api_key`: your CARTO account API Key. If the data to be accessed is **public**, it can be set to `default_public`\n", + "- `base_url`: only needed for on-premise or custom installations. Typically in the form of `https://username.carto.com/` for user `username`. On-premises installation (and others) may have a different URL pattern." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Google cloud credentials\n", + "\n", + "CARTO [Data Observatory](/developers/cartoframes/guides/Data-Observatory/) is built on top of Google BigQuery, so every CARTO Enterprise organization has an associated Google Cloud account to run Data Observatory operations.\n", + "\n", + "In case you have an Enterprise account and want to perform data operations directly with the Python BigQuery client, you can obtain the credentials of the associated Google Cloud account and create a Google Credentials instance." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import Credentials\n", + "from google.oauth2.credentials import Credentials as GoogleCredentials\n", + "\n", + "creds = Credentials.from_file('creds.json')\n", + "\n", + "gcloud_project, gcloud_token = creds.get_gcloud_credentials()\n", + "gcloud_credentials = GoogleCredentials(gcloud_token)" ] } ], diff --git a/guides/03-Quickstart.ipynb b/docs/guides/03-Quickstart.ipynb similarity index 81% rename from guides/03-Quickstart.ipynb rename to docs/guides/03-Quickstart.ipynb index dced5aff0..e36776c19 100644 --- a/guides/03-Quickstart.ipynb +++ b/docs/guides/03-Quickstart.ipynb @@ -6,8 +6,6 @@ "source": [ "## Quickstart\n", "\n", - "### Introduction\n", - "\n", "Hi! Glad to see you made it to the Quickstart guide! In this guide you are introduced to how CARTOframes can be used by data scientists in spatial analysis workflows. Using simulated Starbucks revenue data, this guide walks through some common steps a data scientist takes to answer the following question: which stores are performing better than others?\n", "\n", "Before you get started, we encourage you to have CARTOframes and Python 3 installed so you can get a feel for the library by using it:" @@ -21,14 +19,14 @@ }, "outputs": [], "source": [ - "pip install cartoframes" + "# pip install cartoframes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "For additional ways to install CARTOframes, check out the [Installation Guide](/developers/cartoframes/guides/Installation)." + "For additional ways to install CARTOframes, check out the [Installation guide](/developers/cartoframes/guides/Installation)." ] }, { @@ -41,9 +39,9 @@ "\n", "To begin, let's outline a workflow:\n", "\n", - "- Get and explore your company's data\n", + "- Get and explore your own data\n", "- Create areas of influence for your stores\n", - "- Enrich your data with demographic data\n", + "- Enrich your data\n", "- And finally, share the results of your analysis with your team\n", "\n", "Let's get started!" @@ -53,7 +51,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Get and explore your company's data\n", + "### Get and explore your own data\n", "\n", "We are going to use a dataset that contains information about the location of Starbucks and each store's annual revenue.\n", "\n", @@ -158,7 +156,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "To display your stores as points on a map, you first have to convert the `address` column into geometries. This process is called [geocoding](https://carto.com/help/working-with-data/geocoding-types/) and CARTO provides a straightforward way to do it (you can learn more about it in the [Location Data Services guide](/developers/cartoframes/guides/Location-Data-Services)).\n", + "To display your stores as points on a map, you first have to convert the `address` column into geometries. This process is called [geocoding](https://carto.com/help/working-with-data/geocoding-types/) and CARTO provides a straightforward way to do it (you can learn more about it in the [Data Services guide](/developers/cartoframes/guides/Data-Services)).\n", "\n", "In order to geocode, you have to set your CARTO credentials. If you aren't sure about your API key, check the [Authentication guide](/developers/cartoframes/guides/Authentication/) to learn how to get it. In case you want to see the geocoded result, without being logged in, [you can get it here](http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn_geocoded.csv).\n", "\n", @@ -315,7 +313,7 @@ "source": [ "Done! Now that the stores are geocoded, you will notice a new column named `geometry` has been added. This column stores the geographic location of each store and it's used to plot each location on the map.\n", "\n", - "You can quickly visualize your geocoded dataframe using the Map and Layer classes. Check out the [Visualization guide](/developers/cartoframes/guides/Visualization) to learn more about the visualization capabilities inside of CARTOframes." + "You can quickly visualize your geocoded dataframe using the Map and Layer classes. Check out the [Data Visualization guide](/developers/cartoframes/guides/Data-Visualization) to learn more about the visualization capabilities inside of CARTOframes." ] }, { @@ -1031,14 +1029,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -1112,7 +1110,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -1127,12 +1125,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                                                          ${popupHTML}
                                                                          `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                                                          ${popupHTML}
                                                                          `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1491,7 +1493,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1537,7 +1539,7 @@ " const has_legends = 'False' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "H4sIAHBZBF8C/7XSTYvDIBAG4P/iOQ06fozTa6HnvZceSusuQhuDdQ8l5L/X2CyYu3vM8JqHd5iJpdfo2J4d3SX9RncI97u7Jh8G1rHvz+zJ9qeJ+VtO8TzdPsiDMYbRxeSX4DR37MeFh0vxlb/+wl/BDylHryHEmx8uqfx0h7Injcp0ivcGBYfzPHcrJdpTRgAslEYkU1HQnrKEtrQSpFRFycaU6jmgLpKEzf5Ue4lzKqU0SRAVpdvvj8CI0spaRRVlmlMWufgsUEuhKwrbL1BKIderAKwo+w8HqHS5dUObUtReUhZhPUBYqPP8BlYpQ3lVBAAA", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAHBZBF8C/7XSTYvDIBAG4P/iOQ06fozTa6HnvZceSusuQhuDdQ8l5L/X2CyYu3vM8JqHd5iJpdfo2J4d3SX9RncI97u7Jh8G1rHvz+zJ9qeJ+VtO8TzdPsiDMYbRxeSX4DR37MeFh0vxlb/+wl/BDylHryHEmx8uqfx0h7Injcp0ivcGBYfzPHcrJdpTRgAslEYkU1HQnrKEtrQSpFRFycaU6jmgLpKEzf5Ue4lzKqU0SRAVpdvvj8CI0spaRRVlmlMWufgsUEuhKwrbL1BKIderAKwo+w8HqHS5dUObUtReUhZhPUBYqPP8BlYpQ3lVBAAA", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\n", "widgets": []}];\n", + " const layers = [{"credentials": null, "data": "H4sIAGoVyl8C/7XSTYvDIBAG4P/iOQ06fozTa6HnvZceSusuQhuDdQ8l5L/X2CyYu3vM8JqHd5iJpdfo2J4d3SX9RncI97u7Jh8G1rHvz+zJ9qeJ+VtO8TzdPsiDMYbRxeSX4DR37MeFh0vxlb/+wl/BDylHryHEmx8uqfx0h7Injcp0ivcGBYfzPHcrJdpTRgAslEYkU1HQnrKEtrQSpFRFycaU6jmgLpKEzf5Ue4lzKqU0SRAVpdvvj8CI0spaRRVlmlMWufgsUEuhKwrbL1BKIderAKwo+w8HqHS5dUObUtReUhZhPUBYqPP8BlYpQ3lVBAAA", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAGoVyl8C/7XSTYvDIBAG4P/iOQ06fozTa6HnvZceSusuQhuDdQ8l5L/X2CyYu3vM8JqHd5iJpdfo2J4d3SX9RncI97u7Jh8G1rHvz+zJ9qeJ+VtO8TzdPsiDMYbRxeSX4DR37MeFh0vxlb/+wl/BDylHryHEmx8uqfx0h7Injcp0ivcGBYfzPHcrJdpTRgAslEYkU1HQnrKEtrQSpFRFycaU6jmgLpKEzf5Ue4lzKqU0SRAVpdvvj8CI0spaRRVlmlMWufgsUEuhKwrbL1BKIderAKwo+w8HqHS5dUObUtReUhZhPUBYqPP8BlYpQ3lVBAAA", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -1561,7 +1563,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 5, @@ -2326,14 +2328,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -2407,7 +2409,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -2422,12 +2424,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                                                          ${popupHTML}
                                                                          `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                                                          ${popupHTML}
                                                                          `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -2786,7 +2792,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -2832,7 +2838,7 @@ " const has_legends = 'true' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "H4sIAHBZBF8C/5XTTWvDMAwG4P/ic2asD0t2r4Wddx89lNYbgS4pWTooJf99TppDetRVyHnQK+Xhxvu1uJ17L8fxNpR9f7mU09j2nWvc17P263afD9eea1eo1dcHtXAd+msZxnZufLih/JXuVjuAEAIHr4pT475L/1PG4T63rF/46NturO9PfT+c2+44LtKbks9RWZr6VhQCHqapWX2w+CgppOAZktkXQJz9qJpl46PJ5wREXnI2+ylrWuaHzLzxyeJDihqwZig2n31AjQtP+BI/m3hOjFrjBzMfQl7Gj7ne0MaPNp+DiBeJ5vgzCizzp8R544vFD/X8E9UszetPGuCZfySIG18Nfsa6ffVEaF8/EdB6fqgbPxl8laiZPAvYr5/j8vdJfpk+W3TOCOIJkp3npLheP87+YfoHPW7k4CYFAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vabf72c", "title": "Annual Revenue ($)"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "width", "title": "Annual Revenue ($)", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAHBZBF8C/5XTTWvDMAwG4P/ic2asD0t2r4Wddx89lNYbgS4pWTooJf99TppDetRVyHnQK+Xhxvu1uJ17L8fxNpR9f7mU09j2nWvc17P263afD9eea1eo1dcHtXAd+msZxnZufLih/JXuVjuAEAIHr4pT475L/1PG4T63rF/46NturO9PfT+c2+44LtKbks9RWZr6VhQCHqapWX2w+CgppOAZktkXQJz9qJpl46PJ5wREXnI2+ylrWuaHzLzxyeJDihqwZig2n31AjQtP+BI/m3hOjFrjBzMfQl7Gj7ne0MaPNp+DiBeJ5vgzCizzp8R544vFD/X8E9UszetPGuCZfySIG18Nfsa6ffVEaF8/EdB6fqgbPxl8laiZPAvYr5/j8vdJfpk+W3TOCOIJkp3npLheP87+YfoHPW7k4CYFAAA=", "title": "Annual Revenue ($)", "type": "GeoJSON", "viz": "@vabf72c: prop(\\u0027revenue\\u0027)\\n@size_value: ramp(linear(prop(\\u0027revenue\\u0027), globalMIN(prop(\\u0027revenue\\u0027)), globalMAX(prop(\\u0027revenue\\u0027))), [10, 40])\\ncolor: opacity(#FFB927, 0.8)\\nfilter: 1\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(sqrt(prop(\\u0027revenue\\u0027)), sqrt(globalMIN(prop(\\u0027revenue\\u0027))), sqrt(globalMAX(prop(\\u0027revenue\\u0027)))), [10, 40])\\n", "widgets": []}];\n", + " const layers = [{"credentials": null, "data": "H4sIAGoVyl8C/52TvW7DMAyE30WzK0gUxZ+sBTp3LzIEiVoYSO3AdQoEgd+9suPBGVmNBOnvfDze3Xi7FLdzb+UwXofy2p/P5Ti2feca9/mo/bjdx921p9oVavV5oBYuQ38pw9jOjXc3lN/SXWtHTBADBs8MU+O+Sv9dxuE2t6xfeO/bbqzzx74fTm13GBfSCyevmZGaOkscA+ynqVn50cIHkiDBYxQznyLAzM/MShs+mPgoMSVPqma+KMvy/1ERN/xk4UfJHKB6SDY++gCcF3yCJ/vRhEdB4Gp/0OWJWUUIuriQtUZpIyPbZGAg8kTZvAUFiosNIqgbPln4oV6BpGqphuVFqwzhEB/byCnmjQw2yFCoWWCfEtjDkFJMaxiBN3wx8Jkya/JIaxj+cRKYl5MkfTJBLSJQIZJPUcxLUBSG9SRg5u+nP/xeZSY7BQAA", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vabf72c", "title": "Annual Revenue ($)"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "width", "title": "Annual Revenue ($)", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAGoVyl8C/52TvW7DMAyE30WzK0gUxZ+sBTp3LzIEiVoYSO3AdQoEgd+9suPBGVmNBOnvfDze3Xi7FLdzb+UwXofy2p/P5Ti2feca9/mo/bjdx921p9oVavV5oBYuQ38pw9jOjXc3lN/SXWtHTBADBs8MU+O+Sv9dxuE2t6xfeO/bbqzzx74fTm13GBfSCyevmZGaOkscA+ynqVn50cIHkiDBYxQznyLAzM/MShs+mPgoMSVPqma+KMvy/1ERN/xk4UfJHKB6SDY++gCcF3yCJ/vRhEdB4Gp/0OWJWUUIuriQtUZpIyPbZGAg8kTZvAUFiosNIqgbPln4oV6BpGqphuVFqwzhEB/byCnmjQw2yFCoWWCfEtjDkFJMaxiBN3wx8Jkya/JIaxj+cRKYl5MkfTJBLSJQIZJPUcxLUBSG9SRg5u+nP/xeZSY7BQAA", "title": "Annual Revenue ($)", "type": "GeoJSON", "viz": "@vabf72c: prop(\\u0027revenue\\u0027)\\n@size_value: ramp(linear(prop(\\u0027revenue\\u0027), globalMIN(prop(\\u0027revenue\\u0027)), globalMAX(prop(\\u0027revenue\\u0027))), [10, 40])\\ncolor: opacity(#FFB927, 0.8)\\nfilter: 1\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(sqrt(prop(\\u0027revenue\\u0027)), sqrt(globalMIN(prop(\\u0027revenue\\u0027))), sqrt(globalMAX(prop(\\u0027revenue\\u0027)))), [10, 40])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -2856,7 +2862,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 6, @@ -2939,7 +2945,7 @@ " 1\n", " 1\n", " 900\n", - " MULTIPOLYGON (((-73.97017 40.57732, -73.96957 ...\n", + " MULTIPOLYGON (((-73.97035 40.57749, -73.97009 ...\n", " \n", " \n", " 2\n", @@ -2966,7 +2972,7 @@ "text/plain": [ " source_id data_range the_geom\n", "0 0 900 MULTIPOLYGON (((-73.96743 40.67345, -73.96683 ...\n", - "1 1 900 MULTIPOLYGON (((-73.97017 40.57732, -73.96957 ...\n", + "1 1 900 MULTIPOLYGON (((-73.97035 40.57749, -73.97009 ...\n", "2 2 900 MULTIPOLYGON (((-73.99781 40.62418, -73.99755 ...\n", "3 3 900 MULTIPOLYGON (((-74.03678 40.63431, -74.03618 ...\n", "4 4 900 MULTIPOLYGON (((-74.00451 40.59723, -74.00391 ..." @@ -3728,14 +3734,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -3809,7 +3815,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -3824,12 +3830,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                                                          ${popupHTML}
                                                                          `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                                                          ${popupHTML}
                                                                          `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -4188,7 +4198,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -4234,7 +4244,7 @@ " const has_legends = 'true' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#826DBA\\")\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": []}, {"credentials": null, "data": "H4sIAHpZBF8C/5XTTWvDMAwG4P/ic2asD0t2r4Wddx89lNYbgS4pWTooJf99TppDetRVyHnQK+Xhxvu1uJ17L8fxNpR9f7mU09j2nWvc17P263afD9eea1eo1dcHtXAd+msZxnZufLih/JXuVjuAEAIHr4pT475L/1PG4T63rF/46NturO9PfT+c2+44LtKbks9RWZr6VhQCHqapWX2w+CgppOAZktkXQJz9qJpl46PJ5wREXnI2+ylrWuaHzLzxyeJDihqwZig2n31AjQtP+BI/m3hOjFrjBzMfQl7Gj7ne0MaPNp+DiBeJ5vgzCizzp8R544vFD/X8E9UszetPGuCZfySIG18Nfsa6ffVEaF8/EdB6fqgbPxl8laiZPAvYr5/j8vdJfpk+W3TOCOIJkp3npLheP87+YfoHPW7k4CYFAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vabf72c", "title": "Annual Revenue ($)"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "width", "title": "Annual Revenue ($)", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAHpZBF8C/5XTTWvDMAwG4P/ic2asD0t2r4Wddx89lNYbgS4pWTooJf99TppDetRVyHnQK+Xhxvu1uJ17L8fxNpR9f7mU09j2nWvc17P263afD9eea1eo1dcHtXAd+msZxnZufLih/JXuVjuAEAIHr4pT475L/1PG4T63rF/46NturO9PfT+c2+44LtKbks9RWZr6VhQCHqapWX2w+CgppOAZktkXQJz9qJpl46PJ5wREXnI2+ylrWuaHzLzxyeJDihqwZig2n31AjQtP+BI/m3hOjFrjBzMfQl7Gj7ne0MaPNp+DiBeJ5vgzCizzp8R544vFD/X8E9UszetPGuCZfySIG18Nfsa6ffVEaF8/EdB6fqgbPxl8laiZPAvYr5/j8vdJfpk+W3TOCOIJkp3npLheP87+YfoHPW7k4CYFAAA=", "title": "Annual Revenue ($)", "type": "GeoJSON", "viz": "@vabf72c: prop(\\u0027revenue\\u0027)\\n@size_value: ramp(linear(prop(\\u0027revenue\\u0027), globalMIN(prop(\\u0027revenue\\u0027)), globalMAX(prop(\\u0027revenue\\u0027))), [10, 40])\\ncolor: opacity(#FFB927, 0.8)\\nfilter: 1\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(sqrt(prop(\\u0027revenue\\u0027)), sqrt(globalMIN(prop(\\u0027revenue\\u0027))), sqrt(globalMAX(prop(\\u0027revenue\\u0027)))), [10, 40])\\n", "widgets": []}];\n", + " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#826DBA\\")\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": []}, {"credentials": null, "data": "H4sIAHMVyl8C/52TvW7DMAyE30WzK0gUxZ+sBTp3LzIEiVoYSO3AdQoEgd+9suPBGVmNBOnvfDze3Xi7FLdzb+UwXofy2p/P5Ti2feca9/mo/bjdx921p9oVavV5oBYuQ38pw9jOjXc3lN/SXWtHTBADBs8MU+O+Sv9dxuE2t6xfeO/bbqzzx74fTm13GBfSCyevmZGaOkscA+ynqVn50cIHkiDBYxQznyLAzM/MShs+mPgoMSVPqma+KMvy/1ERN/xk4UfJHKB6SDY++gCcF3yCJ/vRhEdB4Gp/0OWJWUUIuriQtUZpIyPbZGAg8kTZvAUFiosNIqgbPln4oV6BpGqphuVFqwzhEB/byCnmjQw2yFCoWWCfEtjDkFJMaxiBN3wx8Jkya/JIaxj+cRKYl5MkfTJBLSJQIZJPUcxLUBSG9SRg5u+nP/xeZSY7BQAA", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vabf72c", "title": "Annual Revenue ($)"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "width", "title": "Annual Revenue ($)", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAHMVyl8C/52TvW7DMAyE30WzK0gUxZ+sBTp3LzIEiVoYSO3AdQoEgd+9suPBGVmNBOnvfDze3Xi7FLdzb+UwXofy2p/P5Ti2feca9/mo/bjdx921p9oVavV5oBYuQ38pw9jOjXc3lN/SXWtHTBADBs8MU+O+Sv9dxuE2t6xfeO/bbqzzx74fTm13GBfSCyevmZGaOkscA+ynqVn50cIHkiDBYxQznyLAzM/MShs+mPgoMSVPqma+KMvy/1ERN/xk4UfJHKB6SDY++gCcF3yCJ/vRhEdB4Gp/0OWJWUUIuriQtUZpIyPbZGAg8kTZvAUFiosNIqgbPln4oV6BpGqphuVFqwzhEB/byCnmjQw2yFCoWWCfEtjDkFJMaxiBN3wx8Jkya/JIaxj+cRKYl5MkfTJBLSJQIZJPUcxLUBSG9SRg5u+nP/xeZSY7BQAA", "title": "Annual Revenue ($)", "type": "GeoJSON", "viz": "@vabf72c: prop(\\u0027revenue\\u0027)\\n@size_value: ramp(linear(prop(\\u0027revenue\\u0027), globalMIN(prop(\\u0027revenue\\u0027)), globalMAX(prop(\\u0027revenue\\u0027))), [10, 40])\\ncolor: opacity(#FFB927, 0.8)\\nfilter: 1\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(sqrt(prop(\\u0027revenue\\u0027)), sqrt(globalMIN(prop(\\u0027revenue\\u0027))), sqrt(globalMAX(prop(\\u0027revenue\\u0027)))), [10, 40])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -4258,7 +4268,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -4279,7 +4289,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "There they are! To learn more about creating isochrones and isodistances check out the [Location Data Services guide](/developers/cartoframes/guides/Location-Data-Services).\n", + "There they are! To learn more about creating isochrones and isodistances check out the [Data Services guide](/developers/cartoframes/guides/Data-Services).\n", "\n", "> Note: You will see how to publish a map in the last section. If you already want to publish this map, you can do it by calling `stores_map.publish('starbucks_isochrones', password=None)`." ] @@ -4288,7 +4298,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Enrich your data with demographic data\n", + "### Enrich your data\n", "\n", "Now that you have the area of influence calculated for each store, let's take a look at how to augment the result with population information to help better understand a store's average revenue per person.\n", "\n", @@ -4303,6 +4313,14 @@ "execution_count": 9, "metadata": {}, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "You can find more entities with the Global country filter. To apply that filter run:\n", + "\tCatalog().country('glo')\n" + ] + }, { "data": { "text/html": [ @@ -4347,114 +4365,114 @@ " \n", " \n", " \n", - " 2\n", - " acs_sociodemogr_ecbce31e\n", - " Sociodemographics - United States of America (...\n", - " The American Community Survey (ACS) is an ongo...\n", + " 4\n", + " wp_population_704f6b75\n", + " Population Mosaics - United States of America ...\n", + " Mosaiced 1km resolution global datasets. The m...\n", " demographics\n", " usa\n", - " sociodemographics\n", - " usa_acs\n", - " County - United States of America\n", - " Shoreline clipped TIGER/Line boundaries. More ...\n", - " 3yrs\n", - " [2007-01-01, 2010-01-01)\n", + " population\n", + " worldpop\n", + " Grid 1km - United States of America\n", + " Global grid at aprox. 1-kilometer resolution (...\n", + " yearly\n", + " [2020-01-01, 2021-01-01)\n", " yearly\n", " True\n", " eng\n", - " 20072009\n", + " 2020\n", " Demographics\n", - " American Community Survey\n", - " carto-do-public-data.carto.geography_usa_count...\n", - " carto-do-public-data.usa_acs.demographics_soci...\n", + " WorldPop\n", + " carto-do-public-data.worldpop.geography_usa_gr...\n", + " carto-do-public-data.worldpop.demographics_pop...\n", " \n", " \n", - " 3\n", - " acs_sociodemogr_516e1d44\n", - " Sociodemographics - United States of America (...\n", - " The American Community Survey (ACS) is an ongo...\n", + " 5\n", + " wp_population_22be8012\n", + " Population Mosaics - United States of America ...\n", + " Mosaiced 1km resolution global datasets. The m...\n", " demographics\n", " usa\n", - " sociodemographics\n", - " usa_acs\n", - " County - United States of America\n", - " Shoreline clipped TIGER/Line boundaries. More ...\n", - " 3yrs\n", - " [2011-01-01, 2014-01-01)\n", + " population\n", + " worldpop\n", + " Grid 1km - United States of America\n", + " Global grid at aprox. 1-kilometer resolution (...\n", + " yearly\n", + " [2019-01-01, 2020-01-01)\n", " yearly\n", " True\n", " eng\n", - " 20112013\n", + " 2019\n", " Demographics\n", - " American Community Survey\n", - " carto-do-public-data.carto.geography_usa_count...\n", - " carto-do-public-data.usa_acs.demographics_soci...\n", + " WorldPop\n", + " carto-do-public-data.worldpop.geography_usa_gr...\n", + " carto-do-public-data.worldpop.demographics_pop...\n", " \n", " \n", - " 4\n", - " acs_sociodemogr_477ca600\n", - " Sociodemographics - United States of America (...\n", - " The American Community Survey (ACS) is an ongo...\n", + " 6\n", + " wp_population_55b9b084\n", + " Population Mosaics - United States of America ...\n", + " Mosaiced 1km resolution global datasets. The m...\n", " demographics\n", " usa\n", - " sociodemographics\n", - " usa_acs\n", - " County - United States of America\n", - " Shoreline clipped TIGER/Line boundaries. More ...\n", + " population\n", + " worldpop\n", + " Grid 1km - United States of America\n", + " Global grid at aprox. 1-kilometer resolution (...\n", " yearly\n", - " [2009-01-01, 2010-01-01)\n", + " [2018-01-01, 2019-01-01)\n", " yearly\n", " True\n", " eng\n", - " 2009\n", + " 2018\n", " Demographics\n", - " American Community Survey\n", - " carto-do-public-data.carto.geography_usa_count...\n", - " carto-do-public-data.usa_acs.demographics_soci...\n", + " WorldPop\n", + " carto-do-public-data.worldpop.geography_usa_gr...\n", + " carto-do-public-data.worldpop.demographics_pop...\n", " \n", " \n", - " 6\n", - " acs_sociodemogr_5f00d4dc\n", - " Sociodemographics - United States of America (...\n", - " The American Community Survey (ACS) is an ongo...\n", + " 7\n", + " wp_population_c506ad15\n", + " Population Mosaics - United States of America ...\n", + " Mosaiced 1km resolution global datasets. The m...\n", " demographics\n", " usa\n", - " sociodemographics\n", - " usa_acs\n", - " Core-based Statistical Area - United States of...\n", - " Shoreline clipped TIGER/Line boundaries. More ...\n", - " 5yrs\n", - " [2007-01-01, 2012-01-01)\n", + " population\n", + " worldpop\n", + " Grid 1km - United States of America\n", + " Global grid at aprox. 1-kilometer resolution (...\n", + " yearly\n", + " [2017-01-01, 2018-01-01)\n", " yearly\n", " True\n", " eng\n", - " 20072011\n", + " 2017\n", " Demographics\n", - " American Community Survey\n", - " carto-do-public-data.carto.geography_usa_cbsa_...\n", - " carto-do-public-data.usa_acs.demographics_soci...\n", + " WorldPop\n", + " carto-do-public-data.worldpop.geography_usa_gr...\n", + " carto-do-public-data.worldpop.demographics_pop...\n", " \n", " \n", - " 11\n", - " acs_sociodemogr_18e867ac\n", - " Sociodemographics - United States of America (...\n", - " The American Community Survey (ACS) is an ongo...\n", + " 8\n", + " wp_population_b2019d83\n", + " Population Mosaics - United States of America ...\n", + " Mosaiced 1km resolution global datasets. The m...\n", " demographics\n", " usa\n", - " sociodemographics\n", - " usa_acs\n", - " County - United States of America\n", - " Shoreline clipped TIGER/Line boundaries. More ...\n", - " 5yrs\n", - " [2011-01-01, 2016-01-01)\n", + " population\n", + " worldpop\n", + " Grid 1km - United States of America\n", + " Global grid at aprox. 1-kilometer resolution (...\n", + " yearly\n", + " [2016-01-01, 2017-01-01)\n", " yearly\n", " True\n", " eng\n", - " 20112015\n", + " 2016\n", " Demographics\n", - " American Community Survey\n", - " carto-do-public-data.carto.geography_usa_count...\n", - " carto-do-public-data.usa_acs.demographics_soci...\n", + " WorldPop\n", + " carto-do-public-data.worldpop.geography_usa_gr...\n", + " carto-do-public-data.worldpop.demographics_pop...\n", " \n", " \n", " ...\n", @@ -4479,252 +4497,252 @@ " ...\n", " \n", " \n", - " 365\n", - " acs_sociodemogr_1b4fe990\n", - " Sociodemographics - United States of America (...\n", - " The American Community Survey (ACS) is an ongo...\n", + " 530\n", + " bls_labor_35c98360\n", + " Labor - United States of America (County, 1992Q1)\n", + " Extract from the Quarterly Census of Emploment...\n", " demographics\n", " usa\n", - " sociodemographics\n", - " usa_acs\n", - " State - United States of America\n", + " labor\n", + " usa_bls\n", + " County - United States of America (2018)\n", " Shoreline clipped TIGER/Line boundaries. More ...\n", - " 5yrs\n", - " [2006-01-01, 2011-01-01)\n", - " yearly\n", + " quarterly\n", + " [1992-01-01, 1992-04-01)\n", + " quarterly\n", " True\n", " eng\n", - " 20062010\n", + " 1992q1\n", " Demographics\n", - " American Community Survey\n", - " carto-do-public-data.carto.geography_usa_state...\n", - " carto-do-public-data.usa_acs.demographics_soci...\n", + " Bureau of Labor Statistics\n", + " carto-do-public-data.carto.geography_usa_count...\n", + " carto-do-public-data.usa_bls.demographics_labo...\n", " \n", " \n", - " 366\n", - " acs_sociodemogr_5bdf6842\n", - " Sociodemographics - United States of America (...\n", - " The American Community Survey (ACS) is an ongo...\n", + " 531\n", + " bls_labor_2c89d72e\n", + " Labor - United States of America (County, 2003Q3)\n", + " Extract from the Quarterly Census of Emploment...\n", " demographics\n", " usa\n", - " sociodemographics\n", - " usa_acs\n", - " State - United States of America\n", + " labor\n", + " usa_bls\n", + " County - United States of America (2018)\n", " Shoreline clipped TIGER/Line boundaries. More ...\n", - " 3yrs\n", - " [2011-01-01, 2014-01-01)\n", - " yearly\n", + " quarterly\n", + " [2003-07-01, 2003-10-01)\n", + " quarterly\n", " True\n", " eng\n", - " 20112013\n", + " 2003q3\n", " Demographics\n", - " American Community Survey\n", - " carto-do-public-data.carto.geography_usa_state...\n", - " carto-do-public-data.usa_acs.demographics_soci...\n", + " Bureau of Labor Statistics\n", + " carto-do-public-data.carto.geography_usa_count...\n", + " carto-do-public-data.usa_bls.demographics_labo...\n", " \n", " \n", - " 367\n", - " acs_sociodemogr_5128f0b6\n", - " Sociodemographics - United States of America (...\n", - " The American Community Survey (ACS) is an ongo...\n", + " 532\n", + " bls_labor_2d4bbd19\n", + " Labor - United States of America (County, 2002Q3)\n", + " Extract from the Quarterly Census of Emploment...\n", " demographics\n", " usa\n", - " sociodemographics\n", - " usa_acs\n", - " State - United States of America\n", + " labor\n", + " usa_bls\n", + " County - United States of America (2018)\n", " Shoreline clipped TIGER/Line boundaries. More ...\n", - " 5yrs\n", - " [2007-01-01, 2012-01-01)\n", - " yearly\n", + " quarterly\n", + " [2002-07-01, 2002-10-01)\n", + " quarterly\n", " True\n", " eng\n", - " 20072011\n", + " 2002q3\n", " Demographics\n", - " American Community Survey\n", - " carto-do-public-data.carto.geography_usa_state...\n", - " carto-do-public-data.usa_acs.demographics_soci...\n", + " Bureau of Labor Statistics\n", + " carto-do-public-data.carto.geography_usa_count...\n", + " carto-do-public-data.usa_bls.demographics_labo...\n", " \n", " \n", - " 368\n", - " acs_sociodemogr_880f964f\n", - " Sociodemographics - United States of America (...\n", - " The American Community Survey (ACS) is an ongo...\n", + " 533\n", + " bls_labor_933c1897\n", + " Labor - United States of America (County, 2017Q3)\n", + " Extract from the Quarterly Census of Emploment...\n", " demographics\n", " usa\n", - " sociodemographics\n", - " usa_acs\n", - " School District (elementary) - United States o...\n", + " labor\n", + " usa_bls\n", + " County - United States of America (2018)\n", " Shoreline clipped TIGER/Line boundaries. More ...\n", - " yearly\n", - " [2015-01-01, 2016-01-01)\n", - " yearly\n", + " quarterly\n", + " [2017-07-01, 2017-10-01)\n", + " quarterly\n", " True\n", " eng\n", - " 2015\n", + " 2017q3\n", " Demographics\n", - " American Community Survey\n", - " carto-do-public-data.carto.geography_usa_schoo...\n", - " carto-do-public-data.usa_acs.demographics_soci...\n", + " Bureau of Labor Statistics\n", + " carto-do-public-data.carto.geography_usa_count...\n", + " carto-do-public-data.usa_bls.demographics_labo...\n", " \n", " \n", - " 369\n", - " acs_sociodemogr_ff08a6d9\n", + " 534\n", + " acs_sociodemogr_4bcba275\n", " Sociodemographics - United States of America (...\n", " The American Community Survey (ACS) is an ongo...\n", " demographics\n", " usa\n", " sociodemographics\n", " usa_acs\n", - " School District (elementary) - United States o...\n", + " Core-based Statistical Area - United States of...\n", " Shoreline clipped TIGER/Line boundaries. More ...\n", - " yearly\n", - " [2014-01-01, 2015-01-01)\n", + " 5yrs\n", + " [2009-01-01, 2014-01-01)\n", " yearly\n", " True\n", " eng\n", - " 2014\n", + " 20092013\n", " Demographics\n", " American Community Survey\n", - " carto-do-public-data.carto.geography_usa_schoo...\n", + " carto-do-public-data.carto.geography_usa_cbsa_...\n", " carto-do-public-data.usa_acs.demographics_soci...\n", " \n", " \n", "\n", - "

                                                                          321 rows × 19 columns

                                                                          \n", + "

                                                                          440 rows × 19 columns

                                                                          \n", "" ], "text/plain": [ " slug \\\n", - "2 acs_sociodemogr_ecbce31e \n", - "3 acs_sociodemogr_516e1d44 \n", - "4 acs_sociodemogr_477ca600 \n", - "6 acs_sociodemogr_5f00d4dc \n", - "11 acs_sociodemogr_18e867ac \n", + "4 wp_population_704f6b75 \n", + "5 wp_population_22be8012 \n", + "6 wp_population_55b9b084 \n", + "7 wp_population_c506ad15 \n", + "8 wp_population_b2019d83 \n", ".. ... \n", - "365 acs_sociodemogr_1b4fe990 \n", - "366 acs_sociodemogr_5bdf6842 \n", - "367 acs_sociodemogr_5128f0b6 \n", - "368 acs_sociodemogr_880f964f \n", - "369 acs_sociodemogr_ff08a6d9 \n", + "530 bls_labor_35c98360 \n", + "531 bls_labor_2c89d72e \n", + "532 bls_labor_2d4bbd19 \n", + "533 bls_labor_933c1897 \n", + "534 acs_sociodemogr_4bcba275 \n", "\n", " name \\\n", - "2 Sociodemographics - United States of America (... \n", - "3 Sociodemographics - United States of America (... \n", - "4 Sociodemographics - United States of America (... \n", - "6 Sociodemographics - United States of America (... \n", - "11 Sociodemographics - United States of America (... \n", + "4 Population Mosaics - United States of America ... \n", + "5 Population Mosaics - United States of America ... \n", + "6 Population Mosaics - United States of America ... \n", + "7 Population Mosaics - United States of America ... \n", + "8 Population Mosaics - United States of America ... \n", ".. ... \n", - "365 Sociodemographics - United States of America (... \n", - "366 Sociodemographics - United States of America (... \n", - "367 Sociodemographics - United States of America (... \n", - "368 Sociodemographics - United States of America (... \n", - "369 Sociodemographics - United States of America (... \n", + "530 Labor - United States of America (County, 1992Q1) \n", + "531 Labor - United States of America (County, 2003Q3) \n", + "532 Labor - United States of America (County, 2002Q3) \n", + "533 Labor - United States of America (County, 2017Q3) \n", + "534 Sociodemographics - United States of America (... \n", "\n", " description category_id \\\n", - "2 The American Community Survey (ACS) is an ongo... demographics \n", - "3 The American Community Survey (ACS) is an ongo... demographics \n", - "4 The American Community Survey (ACS) is an ongo... demographics \n", - "6 The American Community Survey (ACS) is an ongo... demographics \n", - "11 The American Community Survey (ACS) is an ongo... demographics \n", + "4 Mosaiced 1km resolution global datasets. The m... demographics \n", + "5 Mosaiced 1km resolution global datasets. The m... demographics \n", + "6 Mosaiced 1km resolution global datasets. The m... demographics \n", + "7 Mosaiced 1km resolution global datasets. The m... demographics \n", + "8 Mosaiced 1km resolution global datasets. The m... demographics \n", ".. ... ... \n", - "365 The American Community Survey (ACS) is an ongo... demographics \n", - "366 The American Community Survey (ACS) is an ongo... demographics \n", - "367 The American Community Survey (ACS) is an ongo... demographics \n", - "368 The American Community Survey (ACS) is an ongo... demographics \n", - "369 The American Community Survey (ACS) is an ongo... demographics \n", + "530 Extract from the Quarterly Census of Emploment... demographics \n", + "531 Extract from the Quarterly Census of Emploment... demographics \n", + "532 Extract from the Quarterly Census of Emploment... demographics \n", + "533 Extract from the Quarterly Census of Emploment... demographics \n", + "534 The American Community Survey (ACS) is an ongo... demographics \n", "\n", " country_id data_source_id provider_id \\\n", - "2 usa sociodemographics usa_acs \n", - "3 usa sociodemographics usa_acs \n", - "4 usa sociodemographics usa_acs \n", - "6 usa sociodemographics usa_acs \n", - "11 usa sociodemographics usa_acs \n", + "4 usa population worldpop \n", + "5 usa population worldpop \n", + "6 usa population worldpop \n", + "7 usa population worldpop \n", + "8 usa population worldpop \n", ".. ... ... ... \n", - "365 usa sociodemographics usa_acs \n", - "366 usa sociodemographics usa_acs \n", - "367 usa sociodemographics usa_acs \n", - "368 usa sociodemographics usa_acs \n", - "369 usa sociodemographics usa_acs \n", + "530 usa labor usa_bls \n", + "531 usa labor usa_bls \n", + "532 usa labor usa_bls \n", + "533 usa labor usa_bls \n", + "534 usa sociodemographics usa_acs \n", "\n", " geography_name \\\n", - "2 County - United States of America \n", - "3 County - United States of America \n", - "4 County - United States of America \n", - "6 Core-based Statistical Area - United States of... \n", - "11 County - United States of America \n", + "4 Grid 1km - United States of America \n", + "5 Grid 1km - United States of America \n", + "6 Grid 1km - United States of America \n", + "7 Grid 1km - United States of America \n", + "8 Grid 1km - United States of America \n", ".. ... \n", - "365 State - United States of America \n", - "366 State - United States of America \n", - "367 State - United States of America \n", - "368 School District (elementary) - United States o... \n", - "369 School District (elementary) - United States o... \n", + "530 County - United States of America (2018) \n", + "531 County - United States of America (2018) \n", + "532 County - United States of America (2018) \n", + "533 County - United States of America (2018) \n", + "534 Core-based Statistical Area - United States of... \n", "\n", " geography_description temporal_aggregation \\\n", - "2 Shoreline clipped TIGER/Line boundaries. More ... 3yrs \n", - "3 Shoreline clipped TIGER/Line boundaries. More ... 3yrs \n", - "4 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", - "6 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", - "11 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", + "4 Global grid at aprox. 1-kilometer resolution (... yearly \n", + "5 Global grid at aprox. 1-kilometer resolution (... yearly \n", + "6 Global grid at aprox. 1-kilometer resolution (... yearly \n", + "7 Global grid at aprox. 1-kilometer resolution (... yearly \n", + "8 Global grid at aprox. 1-kilometer resolution (... yearly \n", ".. ... ... \n", - "365 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", - "366 Shoreline clipped TIGER/Line boundaries. More ... 3yrs \n", - "367 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", - "368 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", - "369 Shoreline clipped TIGER/Line boundaries. More ... yearly \n", + "530 Shoreline clipped TIGER/Line boundaries. More ... quarterly \n", + "531 Shoreline clipped TIGER/Line boundaries. More ... quarterly \n", + "532 Shoreline clipped TIGER/Line boundaries. More ... quarterly \n", + "533 Shoreline clipped TIGER/Line boundaries. More ... quarterly \n", + "534 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", "\n", " time_coverage update_frequency is_public_data lang version \\\n", - "2 [2007-01-01, 2010-01-01) yearly True eng 20072009 \n", - "3 [2011-01-01, 2014-01-01) yearly True eng 20112013 \n", - "4 [2009-01-01, 2010-01-01) yearly True eng 2009 \n", - "6 [2007-01-01, 2012-01-01) yearly True eng 20072011 \n", - "11 [2011-01-01, 2016-01-01) yearly True eng 20112015 \n", + "4 [2020-01-01, 2021-01-01) yearly True eng 2020 \n", + "5 [2019-01-01, 2020-01-01) yearly True eng 2019 \n", + "6 [2018-01-01, 2019-01-01) yearly True eng 2018 \n", + "7 [2017-01-01, 2018-01-01) yearly True eng 2017 \n", + "8 [2016-01-01, 2017-01-01) yearly True eng 2016 \n", ".. ... ... ... ... ... \n", - "365 [2006-01-01, 2011-01-01) yearly True eng 20062010 \n", - "366 [2011-01-01, 2014-01-01) yearly True eng 20112013 \n", - "367 [2007-01-01, 2012-01-01) yearly True eng 20072011 \n", - "368 [2015-01-01, 2016-01-01) yearly True eng 2015 \n", - "369 [2014-01-01, 2015-01-01) yearly True eng 2014 \n", - "\n", - " category_name provider_name \\\n", - "2 Demographics American Community Survey \n", - "3 Demographics American Community Survey \n", - "4 Demographics American Community Survey \n", - "6 Demographics American Community Survey \n", - "11 Demographics American Community Survey \n", - ".. ... ... \n", - "365 Demographics American Community Survey \n", - "366 Demographics American Community Survey \n", - "367 Demographics American Community Survey \n", - "368 Demographics American Community Survey \n", - "369 Demographics American Community Survey \n", + "530 [1992-01-01, 1992-04-01) quarterly True eng 1992q1 \n", + "531 [2003-07-01, 2003-10-01) quarterly True eng 2003q3 \n", + "532 [2002-07-01, 2002-10-01) quarterly True eng 2002q3 \n", + "533 [2017-07-01, 2017-10-01) quarterly True eng 2017q3 \n", + "534 [2009-01-01, 2014-01-01) yearly True eng 20092013 \n", + "\n", + " category_name provider_name \\\n", + "4 Demographics WorldPop \n", + "5 Demographics WorldPop \n", + "6 Demographics WorldPop \n", + "7 Demographics WorldPop \n", + "8 Demographics WorldPop \n", + ".. ... ... \n", + "530 Demographics Bureau of Labor Statistics \n", + "531 Demographics Bureau of Labor Statistics \n", + "532 Demographics Bureau of Labor Statistics \n", + "533 Demographics Bureau of Labor Statistics \n", + "534 Demographics American Community Survey \n", "\n", " geography_id \\\n", - "2 carto-do-public-data.carto.geography_usa_count... \n", - "3 carto-do-public-data.carto.geography_usa_count... \n", - "4 carto-do-public-data.carto.geography_usa_count... \n", - "6 carto-do-public-data.carto.geography_usa_cbsa_... \n", - "11 carto-do-public-data.carto.geography_usa_count... \n", + "4 carto-do-public-data.worldpop.geography_usa_gr... \n", + "5 carto-do-public-data.worldpop.geography_usa_gr... \n", + "6 carto-do-public-data.worldpop.geography_usa_gr... \n", + "7 carto-do-public-data.worldpop.geography_usa_gr... \n", + "8 carto-do-public-data.worldpop.geography_usa_gr... \n", ".. ... \n", - "365 carto-do-public-data.carto.geography_usa_state... \n", - "366 carto-do-public-data.carto.geography_usa_state... \n", - "367 carto-do-public-data.carto.geography_usa_state... \n", - "368 carto-do-public-data.carto.geography_usa_schoo... \n", - "369 carto-do-public-data.carto.geography_usa_schoo... \n", + "530 carto-do-public-data.carto.geography_usa_count... \n", + "531 carto-do-public-data.carto.geography_usa_count... \n", + "532 carto-do-public-data.carto.geography_usa_count... \n", + "533 carto-do-public-data.carto.geography_usa_count... \n", + "534 carto-do-public-data.carto.geography_usa_cbsa_... \n", "\n", " id \n", - "2 carto-do-public-data.usa_acs.demographics_soci... \n", - "3 carto-do-public-data.usa_acs.demographics_soci... \n", - "4 carto-do-public-data.usa_acs.demographics_soci... \n", - "6 carto-do-public-data.usa_acs.demographics_soci... \n", - "11 carto-do-public-data.usa_acs.demographics_soci... \n", + "4 carto-do-public-data.worldpop.demographics_pop... \n", + "5 carto-do-public-data.worldpop.demographics_pop... \n", + "6 carto-do-public-data.worldpop.demographics_pop... \n", + "7 carto-do-public-data.worldpop.demographics_pop... \n", + "8 carto-do-public-data.worldpop.demographics_pop... \n", ".. ... \n", - "365 carto-do-public-data.usa_acs.demographics_soci... \n", - "366 carto-do-public-data.usa_acs.demographics_soci... \n", - "367 carto-do-public-data.usa_acs.demographics_soci... \n", - "368 carto-do-public-data.usa_acs.demographics_soci... \n", - "369 carto-do-public-data.usa_acs.demographics_soci... \n", + "530 carto-do-public-data.usa_bls.demographics_labo... \n", + "531 carto-do-public-data.usa_bls.demographics_labo... \n", + "532 carto-do-public-data.usa_bls.demographics_labo... \n", + "533 carto-do-public-data.usa_bls.demographics_labo... \n", + "534 carto-do-public-data.usa_acs.demographics_soci... \n", "\n", - "[321 rows x 19 columns]" + "[440 rows x 19 columns]" ] }, "execution_count": 9, @@ -4892,14 +4910,14 @@ " 0\n", " 900\n", " MULTIPOLYGON (((-73.96743 40.67345, -73.96683 ...\n", - " 39029.654005\n", + " 39565.324924\n", " \n", " \n", " 1\n", " 1\n", " 900\n", - " MULTIPOLYGON (((-73.97017 40.57732, -73.96957 ...\n", - " 32309.490606\n", + " MULTIPOLYGON (((-73.97035 40.57749, -73.97009 ...\n", + " 32622.336873\n", " \n", " \n", " 2\n", @@ -4920,7 +4938,7 @@ " 4\n", " 900\n", " MULTIPOLYGON (((-74.00451 40.59723, -74.00391 ...\n", - " 6155.559780\n", + " 6086.711014\n", " \n", " \n", "\n", @@ -4929,17 +4947,17 @@ "text/plain": [ " source_id data_range the_geom \\\n", "0 0 900 MULTIPOLYGON (((-73.96743 40.67345, -73.96683 ... \n", - "1 1 900 MULTIPOLYGON (((-73.97017 40.57732, -73.96957 ... \n", + "1 1 900 MULTIPOLYGON (((-73.97035 40.57749, -73.97009 ... \n", "2 2 900 MULTIPOLYGON (((-73.99781 40.62418, -73.99755 ... \n", "3 3 900 MULTIPOLYGON (((-74.03678 40.63431, -74.03618 ... \n", "4 4 900 MULTIPOLYGON (((-74.00451 40.59723, -74.00391 ... \n", "\n", " total_pop \n", - "0 39029.654005 \n", - "1 32309.490606 \n", + "0 39565.324924 \n", + "1 32622.336873 \n", "2 29685.123333 \n", "3 28988.433349 \n", - "4 6155.559780 " + "4 6086.711014 " ] }, "execution_count": 11, @@ -5723,14 +5741,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -5804,7 +5822,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -5819,12 +5837,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                                                          ${popupHTML}
                                                                          `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                                                          ${popupHTML}
                                                                          `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -6183,7 +6205,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -6229,7 +6251,7 @@ " const has_legends = 'true' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "v18db55", "title": "Total Population"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "color", "title": "Total Population", "type": "color-continuous", "variable": null}], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": "Total Population", "type": "GeoJSON", "viz": "@v18db55: prop(\\u0027total_pop\\u0027)\\ncolor: opacity(ramp(linear(prop(\\u0027total_pop\\u0027), globalMIN(prop(\\u0027total_pop\\u0027)), globalMAX(prop(\\u0027total_pop\\u0027))), bluyl), 0.9)\\nfilter: 1\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": []}, {"credentials": null, "data": "H4sIAJJZBF8C/5XTTWvDMAwG4P/ic2asD0t2r4Wddx89lNYbgS4pWTooJf99TppDetRVyHnQK+Xhxvu1uJ17L8fxNpR9f7mU09j2nWvc17P263afD9eea1eo1dcHtXAd+msZxnZufLih/JXuVjuAEAIHr4pT475L/1PG4T63rF/46NturO9PfT+c2+44LtKbks9RWZr6VhQCHqapWX2w+CgppOAZktkXQJz9qJpl46PJ5wREXnI2+ylrWuaHzLzxyeJDihqwZig2n31AjQtP+BI/m3hOjFrjBzMfQl7Gj7ne0MaPNp+DiBeJ5vgzCizzp8R544vFD/X8E9UszetPGuCZfySIG18Nfsa6ffVEaF8/EdB6fqgbPxl8laiZPAvYr5/j8vdJfpk+W3TOCOIJkp3npLheP87+YfoHPW7k4CYFAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vabf72c", "title": "Annual Revenue ($)"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "width", "title": "Annual Revenue ($)", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAJJZBF8C/5XTTWvDMAwG4P/ic2asD0t2r4Wddx89lNYbgS4pWTooJf99TppDetRVyHnQK+Xhxvu1uJ17L8fxNpR9f7mU09j2nWvc17P263afD9eea1eo1dcHtXAd+msZxnZufLih/JXuVjuAEAIHr4pT475L/1PG4T63rF/46NturO9PfT+c2+44LtKbks9RWZr6VhQCHqapWX2w+CgppOAZktkXQJz9qJpl46PJ5wREXnI2+ylrWuaHzLzxyeJDihqwZig2n31AjQtP+BI/m3hOjFrjBzMfQl7Gj7ne0MaPNp+DiBeJ5vgzCizzp8R544vFD/X8E9UszetPGuCZfySIG18Nfsa6ffVEaF8/EdB6fqgbPxl8laiZPAvYr5/j8vdJfpk+W3TOCOIJkp3npLheP87+YfoHPW7k4CYFAAA=", "title": "Annual Revenue ($)", "type": "GeoJSON", "viz": "@vabf72c: prop(\\u0027revenue\\u0027)\\n@size_value: ramp(linear(prop(\\u0027revenue\\u0027), globalMIN(prop(\\u0027revenue\\u0027)), globalMAX(prop(\\u0027revenue\\u0027))), [10, 40])\\ncolor: opacity(#FFB927, 0.8)\\nfilter: 1\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(sqrt(prop(\\u0027revenue\\u0027)), sqrt(globalMIN(prop(\\u0027revenue\\u0027))), sqrt(globalMAX(prop(\\u0027revenue\\u0027)))), [10, 40])\\n", "widgets": []}];\n", + " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "v18db55", "title": "Total Population"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "color", "title": "Total Population", "type": "color-continuous", "variable": null}], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": "Total Population", "type": "GeoJSON", "viz": "@v18db55: prop(\\u0027total_pop\\u0027)\\ncolor: opacity(ramp(linear(prop(\\u0027total_pop\\u0027), globalMIN(prop(\\u0027total_pop\\u0027)), globalMAX(prop(\\u0027total_pop\\u0027))), bluyl), 0.9)\\nfilter: 1\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": []}, {"credentials": null, "data": "H4sIAIsVyl8C/52TvW7DMAyE30WzK0gUxZ+sBTp3LzIEiVoYSO3AdQoEgd+9suPBGVmNBOnvfDze3Xi7FLdzb+UwXofy2p/P5Ti2feca9/mo/bjdx921p9oVavV5oBYuQ38pw9jOjXc3lN/SXWtHTBADBs8MU+O+Sv9dxuE2t6xfeO/bbqzzx74fTm13GBfSCyevmZGaOkscA+ynqVn50cIHkiDBYxQznyLAzM/MShs+mPgoMSVPqma+KMvy/1ERN/xk4UfJHKB6SDY++gCcF3yCJ/vRhEdB4Gp/0OWJWUUIuriQtUZpIyPbZGAg8kTZvAUFiosNIqgbPln4oV6BpGqphuVFqwzhEB/byCnmjQw2yFCoWWCfEtjDkFJMaxiBN3wx8Jkya/JIaxj+cRKYl5MkfTJBLSJQIZJPUcxLUBSG9SRg5u+nP/xeZSY7BQAA", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vabf72c", "title": "Annual Revenue ($)"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "width", "title": "Annual Revenue ($)", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAIsVyl8C/52TvW7DMAyE30WzK0gUxZ+sBTp3LzIEiVoYSO3AdQoEgd+9suPBGVmNBOnvfDze3Xi7FLdzb+UwXofy2p/P5Ti2feca9/mo/bjdx921p9oVavV5oBYuQ38pw9jOjXc3lN/SXWtHTBADBs8MU+O+Sv9dxuE2t6xfeO/bbqzzx74fTm13GBfSCyevmZGaOkscA+ynqVn50cIHkiDBYxQznyLAzM/MShs+mPgoMSVPqma+KMvy/1ERN/xk4UfJHKB6SDY++gCcF3yCJ/vRhEdB4Gp/0OWJWUUIuriQtUZpIyPbZGAg8kTZvAUFiosNIqgbPln4oV6BpGqphuVFqwzhEB/byCnmjQw2yFCoWWCfEtjDkFJMaxiBN3wx8Jkya/JIaxj+cRKYl5MkfTJBLSJQIZJPUcxLUBSG9SRg5u+nP/xeZSY7BQAA", "title": "Annual Revenue ($)", "type": "GeoJSON", "viz": "@vabf72c: prop(\\u0027revenue\\u0027)\\n@size_value: ramp(linear(prop(\\u0027revenue\\u0027), globalMIN(prop(\\u0027revenue\\u0027)), globalMAX(prop(\\u0027revenue\\u0027))), [10, 40])\\ncolor: opacity(#FFB927, 0.8)\\nfilter: 1\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(sqrt(prop(\\u0027revenue\\u0027)), sqrt(globalMIN(prop(\\u0027revenue\\u0027))), sqrt(globalMAX(prop(\\u0027revenue\\u0027)))), [10, 40])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -6253,7 +6275,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 12, @@ -6276,7 +6298,7 @@ "source": [ "At this stage, we could say that the store on the right performs better than others because its area of influence is the one with the lowest population but the store is not the one with lowest revenue. This insight will help us to focus on them in further analyses.\n", "\n", - "To learn more about discovering the data you want, check out the [data discovery guide](/developers/cartoframes/guides/Data-discovery). To learn more about enriching your data check out the [data enrichment guide](/developers/cartoframes/guides/Data-enrichment/)." + "To learn more about discovering and enriching data you want, check out the [Data Observatory guide](/developers/cartoframes/guides/Data-Observatory)." ] }, { @@ -7095,14 +7117,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -7176,7 +7198,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -7191,12 +7213,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                                                          ${popupHTML}
                                                                          `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                                                          ${popupHTML}
                                                                          `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -7555,7 +7581,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -7601,7 +7627,7 @@ " const has_legends = 'true' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "v18db55", "title": "Total Population"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "color", "title": "Total Population", "type": "color-continuous", "variable": null}], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": "Total Population", "type": "GeoJSON", "viz": "@v18db55: prop(\\u0027total_pop\\u0027)\\ncolor: opacity(ramp(linear(prop(\\u0027total_pop\\u0027), globalMIN(prop(\\u0027total_pop\\u0027)), globalMAX(prop(\\u0027total_pop\\u0027))), bluyl), 0.7)\\nfilter: 1\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: 0\\n", "widgets": [{"description": "", "footer": "", "has_bridge": true, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Total Population", "type": "histogram", "value": "total_pop", "variable_name": "v18db55"}]}, {"credentials": null, "data": "H4sIAJJZBF8C/5XTTWvDMAwG4P/ic2asD0t2r4Wddx89lNYbgS4pWTooJf99TppDetRVyHnQK+Xhxvu1uJ17L8fxNpR9f7mU09j2nWvc17P263afD9eea1eo1dcHtXAd+msZxnZufLih/JXuVjuAEAIHr4pT475L/1PG4T63rF/46NturO9PfT+c2+44LtKbks9RWZr6VhQCHqapWX2w+CgppOAZktkXQJz9qJpl46PJ5wREXnI2+ylrWuaHzLzxyeJDihqwZig2n31AjQtP+BI/m3hOjFrjBzMfQl7Gj7ne0MaPNp+DiBeJ5vgzCizzp8R544vFD/X8E9UszetPGuCZfySIG18Nfsa6ffVEaF8/EdB6fqgbPxl8laiZPAvYr5/j8vdJfpk+W3TOCOIJkp3npLheP87+YfoHPW7k4CYFAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vabf72c", "title": "Annual Revenue ($)"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "width", "title": "Annual Revenue ($)", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAJJZBF8C/5XTTWvDMAwG4P/ic2asD0t2r4Wddx89lNYbgS4pWTooJf99TppDetRVyHnQK+Xhxvu1uJ17L8fxNpR9f7mU09j2nWvc17P263afD9eea1eo1dcHtXAd+msZxnZufLih/JXuVjuAEAIHr4pT475L/1PG4T63rF/46NturO9PfT+c2+44LtKbks9RWZr6VhQCHqapWX2w+CgppOAZktkXQJz9qJpl46PJ5wREXnI2+ylrWuaHzLzxyeJDihqwZig2n31AjQtP+BI/m3hOjFrjBzMfQl7Gj7ne0MaPNp+DiBeJ5vgzCizzp8R544vFD/X8E9UszetPGuCZfySIG18Nfsa6ffVEaF8/EdB6fqgbPxl8laiZPAvYr5/j8vdJfpk+W3TOCOIJkp3npLheP87+YfoHPW7k4CYFAAA=", "title": "Annual Revenue ($)", "type": "GeoJSON", "viz": "@vabf72c: prop(\\u0027revenue\\u0027)\\n@size_value: ramp(linear(prop(\\u0027revenue\\u0027), globalMIN(prop(\\u0027revenue\\u0027)), globalMAX(prop(\\u0027revenue\\u0027))), [10, 40])\\ncolor: opacity(#FFB927, 0.8)\\nfilter: 1\\nstrokeColor: white\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(sqrt(prop(\\u0027revenue\\u0027)), sqrt(globalMIN(prop(\\u0027revenue\\u0027))), sqrt(globalMAX(prop(\\u0027revenue\\u0027)))), [10, 40])\\n", "widgets": [{"description": "", "footer": "", "has_bridge": true, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Annual Revenue ($)", "type": "histogram", "value": "revenue", "variable_name": "vabf72c"}]}];\n", + " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "v18db55", "title": "Total Population"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "color", "title": "Total Population", "type": "color-continuous", "variable": null}], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": "Total Population", "type": "GeoJSON", "viz": "@v18db55: prop(\\u0027total_pop\\u0027)\\ncolor: opacity(ramp(linear(prop(\\u0027total_pop\\u0027), globalMIN(prop(\\u0027total_pop\\u0027)), globalMAX(prop(\\u0027total_pop\\u0027))), bluyl), 0.7)\\nfilter: 1\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: 0\\n", "widgets": [{"description": "", "footer": "", "has_bridge": true, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Total Population", "type": "histogram", "value": "total_pop", "variable_name": "v18db55"}]}, {"credentials": null, "data": "H4sIAIsVyl8C/52TvW7DMAyE30WzK0gUxZ+sBTp3LzIEiVoYSO3AdQoEgd+9suPBGVmNBOnvfDze3Xi7FLdzb+UwXofy2p/P5Ti2feca9/mo/bjdx921p9oVavV5oBYuQ38pw9jOjXc3lN/SXWtHTBADBs8MU+O+Sv9dxuE2t6xfeO/bbqzzx74fTm13GBfSCyevmZGaOkscA+ynqVn50cIHkiDBYxQznyLAzM/MShs+mPgoMSVPqma+KMvy/1ERN/xk4UfJHKB6SDY++gCcF3yCJ/vRhEdB4Gp/0OWJWUUIuriQtUZpIyPbZGAg8kTZvAUFiosNIqgbPln4oV6BpGqphuVFqwzhEB/byCnmjQw2yFCoWWCfEtjDkFJMaxiBN3wx8Jkya/JIaxj+cRKYl5MkfTJBLSJQIZJPUcxLUBSG9SRg5u+nP/xeZSY7BQAA", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vabf72c", "title": "Annual Revenue ($)"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "width", "title": "Annual Revenue ($)", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAIsVyl8C/52TvW7DMAyE30WzK0gUxZ+sBTp3LzIEiVoYSO3AdQoEgd+9suPBGVmNBOnvfDze3Xi7FLdzb+UwXofy2p/P5Ti2feca9/mo/bjdx921p9oVavV5oBYuQ38pw9jOjXc3lN/SXWtHTBADBs8MU+O+Sv9dxuE2t6xfeO/bbqzzx74fTm13GBfSCyevmZGaOkscA+ynqVn50cIHkiDBYxQznyLAzM/MShs+mPgoMSVPqma+KMvy/1ERN/xk4UfJHKB6SDY++gCcF3yCJ/vRhEdB4Gp/0OWJWUUIuriQtUZpIyPbZGAg8kTZvAUFiosNIqgbPln4oV6BpGqphuVFqwzhEB/byCnmjQw2yFCoWWCfEtjDkFJMaxiBN3wx8Jkya/JIaxj+cRKYl5MkfTJBLSJQIZJPUcxLUBSG9SRg5u+nP/xeZSY7BQAA", "title": "Annual Revenue ($)", "type": "GeoJSON", "viz": "@vabf72c: prop(\\u0027revenue\\u0027)\\n@size_value: ramp(linear(prop(\\u0027revenue\\u0027), globalMIN(prop(\\u0027revenue\\u0027)), globalMAX(prop(\\u0027revenue\\u0027))), [10, 40])\\ncolor: opacity(#FFB927, 0.8)\\nfilter: 1\\nstrokeColor: white\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(sqrt(prop(\\u0027revenue\\u0027)), sqrt(globalMIN(prop(\\u0027revenue\\u0027))), sqrt(globalMAX(prop(\\u0027revenue\\u0027)))), [10, 40])\\n", "widgets": [{"description": "", "footer": "", "has_bridge": true, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Annual Revenue ($)", "type": "histogram", "value": "revenue", "variable_name": "vabf72c"}]}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -7625,7 +7651,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 13, @@ -7666,8 +7692,8 @@ { "data": { "text/plain": [ - "{'id': '607ba79e-5728-4f25-b44a-f01f64ab7bb0',\n", - " 'url': 'https://team.carto.com/u/arroyo-carto/kuviz/607ba79e-5728-4f25-b44a-f01f64ab7bb0',\n", + "{'id': '94e546ac-9aab-4857-a9b2-46874299c2ed',\n", + " 'url': 'https://cartoframes-org.carto.com/u/cartoframes/kuviz/94e546ac-9aab-4857-a9b2-46874299c2ed',\n", " 'name': 'starbucks_analysis',\n", " 'privacy': 'public'}" ] @@ -7723,9 +7749,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Conclusion\n", + "### Congratulations!\n", "\n", - "Congratulations! You have finished this guide and have a sense about how CARTOframes can speed up your workflow. To continue learning, you can check out a specific [Guide](/developers/cartoframes/guides), the [Reference](/developers/cartoframes/reference) to know everything about a class or a method or check the [Examples](/developers/cartoframes/examples) to see CARTOframes in action." + "You have finished this guide and have a sense about how CARTOframes can speed up your workflow. To continue learning, you can check out a specific [Guide](/developers/cartoframes/guides), the [Reference](/developers/cartoframes/reference) to know everything about a class or a method or check the [Examples](/developers/cartoframes/examples) to see CARTOframes in action." ] } ], diff --git a/docs/guides/04-Data-Management.ipynb b/docs/guides/04-Data-Management.ipynb new file mode 100644 index 000000000..23bfb0acf --- /dev/null +++ b/docs/guides/04-Data-Management.ipynb @@ -0,0 +1,1009 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Data Management\n", + "\n", + "This guide shows how to load different data files into DataFrames and how to interact with the CARTO platform to upload DataFrames into tables and download tables or SQL queries into DataFrames.\n", + "\n", + "CARTOframes is built on top of [Pandas](https://pandas.pydata.org/) and [GeoPandas](https://geopandas.org/). Therefore, it's compatible with all the data formats supported in those projects like GeoJSON, Shapefile, CSV, etc.\n", + "\n", + "There are two main concepts we should know before continuing with the guide:\n", + "- A [DataFrame](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html) is a two-dimensional data structure for generic data. It can be thought of as a table with rows and columns. It's composed of [Series](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.html) objects, which are one-dimensional data structures.\n", + "- A [GeoDataFrame](https://geopandas.org/data_structures.html#geodataframe) is a DataFrame with an extra geometry column. This geometry column is a [GeoSeries](https://geopandas.org/data_structures.html#geoseries) object.\n", + "\n", + "Every time we manage geographic data, a GeoDataFrame should be used. In case a DataFrame with an encoded geometry column is used (WKB, WKT, etc.) every method contains a `geom_col` param to provide the name of that column and decode the geometry internally.\n", + "\n", + "You can check also the [Data Management examples](/developers/cartoframes/examples/#example-data-management)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Read a GeoJSON file\n", + "\n", + "It shows how to load geographic data from a GeoJSON file using [GeoPandas](https://geopandas.org/). To read pure JSON files check this [example](/developers/cartoframes/examples/#example-read-a-json-file)." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                          \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                          cartodb_idfield_1nameaddressrevenuegeometry
                                                                          010Franklin Ave & Eastern Pkwy341 Eastern Pkwy,Brooklyn, NY 112381321040.772POINT (-73.95901 40.67109)
                                                                          121607 Brighton Beach Ave607 Brighton Beach Avenue,Brooklyn, NY 112351268080.418POINT (-73.96122 40.57796)
                                                                          23265th St & 18th Ave6423 18th Avenue,Brooklyn, NY 112041248133.699POINT (-73.98976 40.61912)
                                                                          343Bay Ridge Pkwy & 3rd Ave7419 3rd Avenue,Brooklyn, NY 112091185702.676POINT (-74.02744 40.63152)
                                                                          454Caesar's Bay Shopping Center8973 Bay Parkway,Brooklyn, NY 112141148427.411POINT (-74.00098 40.59321)
                                                                          \n", + "
                                                                          " + ], + "text/plain": [ + " cartodb_id field_1 name \\\n", + "0 1 0 Franklin Ave & Eastern Pkwy \n", + "1 2 1 607 Brighton Beach Ave \n", + "2 3 2 65th St & 18th Ave \n", + "3 4 3 Bay Ridge Pkwy & 3rd Ave \n", + "4 5 4 Caesar's Bay Shopping Center \n", + "\n", + " address revenue \\\n", + "0 341 Eastern Pkwy,Brooklyn, NY 11238 1321040.772 \n", + "1 607 Brighton Beach Avenue,Brooklyn, NY 11235 1268080.418 \n", + "2 6423 18th Avenue,Brooklyn, NY 11204 1248133.699 \n", + "3 7419 3rd Avenue,Brooklyn, NY 11209 1185702.676 \n", + "4 8973 Bay Parkway,Brooklyn, NY 11214 1148427.411 \n", + "\n", + " geometry \n", + "0 POINT (-73.95901 40.67109) \n", + "1 POINT (-73.96122 40.57796) \n", + "2 POINT (-73.98976 40.61912) \n", + "3 POINT (-74.02744 40.63152) \n", + "4 POINT (-74.00098 40.59321) " + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from geopandas import read_file\n", + "\n", + "gdf = read_file('https://libs.cartocdn.com/cartoframes/samples/starbucks_brooklyn_geocoded.geojson')\n", + "gdf.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Read a Shapefile\n", + "\n", + "Shapefile is a complex format, compared to CSV or GeoJSON. To learn more about this format check [GeoPandas documentation](https://geopandas.org/io.html#reading-spatial-data)." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                          \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                          cartodb_idfield_1nameaddressrevenuegeometry
                                                                          010Franklin Ave & Eastern Pkwy341 Eastern Pkwy,Brooklyn, NY 112381321040.772POINT (-73.95901 40.67109)
                                                                          121607 Brighton Beach Ave607 Brighton Beach Avenue,Brooklyn, NY 112351268080.418POINT (-73.96122 40.57796)
                                                                          23265th St & 18th Ave6423 18th Avenue,Brooklyn, NY 112041248133.699POINT (-73.98976 40.61912)
                                                                          343Bay Ridge Pkwy & 3rd Ave7419 3rd Avenue,Brooklyn, NY 112091185702.676POINT (-74.02744 40.63152)
                                                                          454Caesar's Bay Shopping Center8973 Bay Parkway,Brooklyn, NY 112141148427.411POINT (-74.00098 40.59321)
                                                                          \n", + "
                                                                          " + ], + "text/plain": [ + " cartodb_id field_1 name \\\n", + "0 1 0 Franklin Ave & Eastern Pkwy \n", + "1 2 1 607 Brighton Beach Ave \n", + "2 3 2 65th St & 18th Ave \n", + "3 4 3 Bay Ridge Pkwy & 3rd Ave \n", + "4 5 4 Caesar's Bay Shopping Center \n", + "\n", + " address revenue \\\n", + "0 341 Eastern Pkwy,Brooklyn, NY 11238 1321040.772 \n", + "1 607 Brighton Beach Avenue,Brooklyn, NY 11235 1268080.418 \n", + "2 6423 18th Avenue,Brooklyn, NY 11204 1248133.699 \n", + "3 7419 3rd Avenue,Brooklyn, NY 11209 1185702.676 \n", + "4 8973 Bay Parkway,Brooklyn, NY 11214 1148427.411 \n", + "\n", + " geometry \n", + "0 POINT (-73.95901 40.67109) \n", + "1 POINT (-73.96122 40.57796) \n", + "2 POINT (-73.98976 40.61912) \n", + "3 POINT (-74.02744 40.63152) \n", + "4 POINT (-74.00098 40.59321) " + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from geopandas import read_file\n", + "\n", + "gdf = read_file('https://libs.cartocdn.com/cartoframes/samples/starbucks_brooklyn_geocoded.zip')\n", + "gdf.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Read a CSV file" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Compute geometry from longitude and latitude**" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                          \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                          incident_datetimeincident_dateincident_timeincident_yearincident_day_of_weekreport_datetimerow_idincident_idincident_numbercad_number...:@computed_region_qgnn_b9vv:@computed_region_26cr_cadq:@computed_region_ajp5_b2md:@computed_region_nqbw_i6c3:@computed_region_2dwj_jsy4:@computed_region_h4ep_8xdi:@computed_region_y6ts_4iup:@computed_region_jg9y_a9du:@computed_region_6pnf_4xz7geometry
                                                                          02020-08-16T03:13:00.0002020-08-16T00:00:00.00003:132020Sunday2020-08-16T03:14:00.00095319604083953196200491669202290313.0...2.0926.0NaNNaNNaNNaNNaN2.0POINT (-122.39773 37.75483)
                                                                          12020-08-16T03:38:00.0002020-08-16T00:00:00.00003:382020Sunday2020-08-16T04:56:00.00095326228100953262200491738202290404.0...3.0220.03.0NaNNaNNaNNaN2.0POINT (-122.42204 37.76654)
                                                                          22020-08-16T13:40:00.0002020-08-16T00:00:00.00013:402020Sunday2020-08-16T13:56:00.00095336264020953362200492463202291631.0...1.0108.0NaNNaNNaNNaNNaN1.0POINT (-122.40371 37.78404)
                                                                          32020-08-16T16:18:00.0002020-08-16T00:00:00.00016:182020Sunday2020-08-16T16:18:00.00095335012010953350200492792202292091.0...10.0735.0NaNNaNNaNNaNNaN1.0POINT (-122.50742 37.75100)
                                                                          42020-08-12T22:00:00.0002020-08-12T00:00:00.00022:002020Wednesday2020-08-15T08:30:00.00095300674000953006200489880202280827.0...4.01139.0NaNNaNNaNNaNNaN2.0POINT (-122.43214 37.78050)
                                                                          \n", + "

                                                                          5 rows × 37 columns

                                                                          \n", + "
                                                                          " + ], + "text/plain": [ + " incident_datetime incident_date incident_time \\\n", + "0 2020-08-16T03:13:00.000 2020-08-16T00:00:00.000 03:13 \n", + "1 2020-08-16T03:38:00.000 2020-08-16T00:00:00.000 03:38 \n", + "2 2020-08-16T13:40:00.000 2020-08-16T00:00:00.000 13:40 \n", + "3 2020-08-16T16:18:00.000 2020-08-16T00:00:00.000 16:18 \n", + "4 2020-08-12T22:00:00.000 2020-08-12T00:00:00.000 22:00 \n", + "\n", + " incident_year incident_day_of_week report_datetime row_id \\\n", + "0 2020 Sunday 2020-08-16T03:14:00.000 95319604083 \n", + "1 2020 Sunday 2020-08-16T04:56:00.000 95326228100 \n", + "2 2020 Sunday 2020-08-16T13:56:00.000 95336264020 \n", + "3 2020 Sunday 2020-08-16T16:18:00.000 95335012010 \n", + "4 2020 Wednesday 2020-08-15T08:30:00.000 95300674000 \n", + "\n", + " incident_id incident_number cad_number ... :@computed_region_qgnn_b9vv \\\n", + "0 953196 200491669 202290313.0 ... 2.0 \n", + "1 953262 200491738 202290404.0 ... 3.0 \n", + "2 953362 200492463 202291631.0 ... 1.0 \n", + "3 953350 200492792 202292091.0 ... 10.0 \n", + "4 953006 200489880 202280827.0 ... 4.0 \n", + "\n", + " :@computed_region_26cr_cadq :@computed_region_ajp5_b2md \\\n", + "0 9 26.0 \n", + "1 2 20.0 \n", + "2 10 8.0 \n", + "3 7 35.0 \n", + "4 11 39.0 \n", + "\n", + " :@computed_region_nqbw_i6c3 :@computed_region_2dwj_jsy4 \\\n", + "0 NaN NaN \n", + "1 3.0 NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " :@computed_region_h4ep_8xdi :@computed_region_y6ts_4iup \\\n", + "0 NaN NaN \n", + "1 NaN NaN \n", + "2 NaN NaN \n", + "3 NaN NaN \n", + "4 NaN NaN \n", + "\n", + " :@computed_region_jg9y_a9du :@computed_region_6pnf_4xz7 \\\n", + "0 NaN 2.0 \n", + "1 NaN 2.0 \n", + "2 NaN 1.0 \n", + "3 NaN 1.0 \n", + "4 NaN 2.0 \n", + "\n", + " geometry \n", + "0 POINT (-122.39773 37.75483) \n", + "1 POINT (-122.42204 37.76654) \n", + "2 POINT (-122.40371 37.78404) \n", + "3 POINT (-122.50742 37.75100) \n", + "4 POINT (-122.43214 37.78050) \n", + "\n", + "[5 rows x 37 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from pandas import read_csv\n", + "from geopandas import GeoDataFrame, points_from_xy\n", + "\n", + "df = read_csv('https://libs.cartocdn.com/cartoframes/samples/sf_incidents.csv')\n", + "\n", + "gdf = GeoDataFrame(df, geometry=points_from_xy(df['longitude'], df['latitude']))\n", + "gdf.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Compute geometry from WKT/WKB**" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                          \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                          the_geomcartodb_idfield_1nameaddressrevenueid_storegeometry
                                                                          00101000020E61000005EA27A6B607D52C01956F146E655...10Franklin Ave & Eastern Pkwy341 Eastern Pkwy,Brooklyn, NY 112381321040.772APOINT (-73.95901 40.67109)
                                                                          10101000020E6100000B610E4A0847D52C0B532E197FA49...21607 Brighton Beach Ave607 Brighton Beach Avenue,Brooklyn, NY 112351268080.418BPOINT (-73.96122 40.57796)
                                                                          20101000020E6100000E5B8533A587F52C05726FC523F4F...3265th St & 18th Ave6423 18th Avenue,Brooklyn, NY 112041248133.699CPOINT (-73.98976 40.61912)
                                                                          30101000020E61000008BA6B393C18152C08D62B9A5D550...43Bay Ridge Pkwy & 3rd Ave7419 3rd Avenue,Brooklyn, NY 112091185702.676DPOINT (-74.02744 40.63152)
                                                                          40101000020E6100000CEFC6A0E108052C080D4264EEE4B...54Caesar's Bay Shopping Center8973 Bay Parkway,Brooklyn, NY 112141148427.411EPOINT (-74.00098 40.59321)
                                                                          \n", + "
                                                                          " + ], + "text/plain": [ + " the_geom cartodb_id field_1 \\\n", + "0 0101000020E61000005EA27A6B607D52C01956F146E655... 1 0 \n", + "1 0101000020E6100000B610E4A0847D52C0B532E197FA49... 2 1 \n", + "2 0101000020E6100000E5B8533A587F52C05726FC523F4F... 3 2 \n", + "3 0101000020E61000008BA6B393C18152C08D62B9A5D550... 4 3 \n", + "4 0101000020E6100000CEFC6A0E108052C080D4264EEE4B... 5 4 \n", + "\n", + " name address \\\n", + "0 Franklin Ave & Eastern Pkwy 341 Eastern Pkwy,Brooklyn, NY 11238 \n", + "1 607 Brighton Beach Ave 607 Brighton Beach Avenue,Brooklyn, NY 11235 \n", + "2 65th St & 18th Ave 6423 18th Avenue,Brooklyn, NY 11204 \n", + "3 Bay Ridge Pkwy & 3rd Ave 7419 3rd Avenue,Brooklyn, NY 11209 \n", + "4 Caesar's Bay Shopping Center 8973 Bay Parkway,Brooklyn, NY 11214 \n", + "\n", + " revenue id_store geometry \n", + "0 1321040.772 A POINT (-73.95901 40.67109) \n", + "1 1268080.418 B POINT (-73.96122 40.57796) \n", + "2 1248133.699 C POINT (-73.98976 40.61912) \n", + "3 1185702.676 D POINT (-74.02744 40.63152) \n", + "4 1148427.411 E POINT (-74.00098 40.59321) " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from pandas import read_csv\n", + "from geopandas import GeoDataFrame\n", + "from cartoframes.utils import decode_geometry\n", + "\n", + "df = read_csv('https://libs.cartocdn.com/cartoframes/samples/starbucks_brooklyn_geocoded.csv')\n", + "\n", + "gdf = GeoDataFrame(df, geometry=decode_geometry(df['the_geom']))\n", + "gdf.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Read data from a CARTO Table\n", + "\n", + "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to perform this action._" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('cartoframes')" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                          \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                          cartodb_idthe_geomfield_1nameaddressrevenue
                                                                          01POINT (-73.95901 40.67109)0Franklin Ave & Eastern Pkwy341 Eastern Pkwy,Brooklyn, NY 112381321040.772
                                                                          12POINT (-73.96122 40.57796)1607 Brighton Beach Ave607 Brighton Beach Avenue,Brooklyn, NY 112351268080.418
                                                                          23POINT (-73.98976 40.61912)265th St & 18th Ave6423 18th Avenue,Brooklyn, NY 112041248133.699
                                                                          34POINT (-74.02744 40.63152)3Bay Ridge Pkwy & 3rd Ave7419 3rd Avenue,Brooklyn, NY 112091185702.676
                                                                          45POINT (-74.00098 40.59321)4Caesar's Bay Shopping Center8973 Bay Parkway,Brooklyn, NY 112141148427.411
                                                                          \n", + "
                                                                          " + ], + "text/plain": [ + " cartodb_id the_geom field_1 \\\n", + "0 1 POINT (-73.95901 40.67109) 0 \n", + "1 2 POINT (-73.96122 40.57796) 1 \n", + "2 3 POINT (-73.98976 40.61912) 2 \n", + "3 4 POINT (-74.02744 40.63152) 3 \n", + "4 5 POINT (-74.00098 40.59321) 4 \n", + "\n", + " name address \\\n", + "0 Franklin Ave & Eastern Pkwy 341 Eastern Pkwy,Brooklyn, NY 11238 \n", + "1 607 Brighton Beach Ave 607 Brighton Beach Avenue,Brooklyn, NY 11235 \n", + "2 65th St & 18th Ave 6423 18th Avenue,Brooklyn, NY 11204 \n", + "3 Bay Ridge Pkwy & 3rd Ave 7419 3rd Avenue,Brooklyn, NY 11209 \n", + "4 Caesar's Bay Shopping Center 8973 Bay Parkway,Brooklyn, NY 11214 \n", + "\n", + " revenue \n", + "0 1321040.772 \n", + "1 1268080.418 \n", + "2 1248133.699 \n", + "3 1185702.676 \n", + "4 1148427.411 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes import read_carto\n", + "\n", + "gdf = read_carto('starbucks_brooklyn')\n", + "gdf.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Read data from a CARTO SQL Query\n", + "\n", + "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to perform this action._" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('cartoframes')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                          \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                          cartodb_idthe_geomfield_1nameaddressrevenue
                                                                          01POINT (-73.95901 40.67109)0Franklin Ave & Eastern Pkwy341 Eastern Pkwy,Brooklyn, NY 112381321040.772
                                                                          12POINT (-73.96122 40.57796)1607 Brighton Beach Ave607 Brighton Beach Avenue,Brooklyn, NY 112351268080.418
                                                                          23POINT (-73.98976 40.61912)265th St & 18th Ave6423 18th Avenue,Brooklyn, NY 112041248133.699
                                                                          \n", + "
                                                                          " + ], + "text/plain": [ + " cartodb_id the_geom field_1 \\\n", + "0 1 POINT (-73.95901 40.67109) 0 \n", + "1 2 POINT (-73.96122 40.57796) 1 \n", + "2 3 POINT (-73.98976 40.61912) 2 \n", + "\n", + " name address \\\n", + "0 Franklin Ave & Eastern Pkwy 341 Eastern Pkwy,Brooklyn, NY 11238 \n", + "1 607 Brighton Beach Ave 607 Brighton Beach Avenue,Brooklyn, NY 11235 \n", + "2 65th St & 18th Ave 6423 18th Avenue,Brooklyn, NY 11204 \n", + "\n", + " revenue \n", + "0 1321040.772 \n", + "1 1268080.418 \n", + "2 1248133.699 " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes import read_carto\n", + "\n", + "gdf = read_carto(\"SELECT * FROM starbucks_brooklyn WHERE revenue > 1200000\")\n", + "gdf.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Upload data to CARTO\n", + "\n", + "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to perform this action._" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('creds.json')" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Success! Data uploaded to table \"starbucks_brooklyn_filtered\" correctly\n" + ] + }, + { + "data": { + "text/plain": [ + "'starbucks_brooklyn_filtered'" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes import to_carto\n", + "\n", + "to_carto(gdf, 'starbucks_brooklyn_filtered', if_exists='replace')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/guides/05-Visualization.ipynb b/docs/guides/05-Data-Visualization.ipynb similarity index 64% rename from guides/05-Visualization.ipynb rename to docs/guides/05-Data-Visualization.ipynb index 52e9fbd3a..8cc9340a8 100644 --- a/guides/05-Visualization.ipynb +++ b/docs/guides/05-Data-Visualization.ipynb @@ -4,49 +4,33 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Visualization\n", + "## Data Visualization\n", "\n", - "### Introduction\n", + "As a data scientist, you likely perform data exploration on nearly every project. Exploratory data analysis can entail many things, from finding relevant data and cleaning it to running analysis and building models. The ability to visually analyze and interact with data is key during the exploratory process and the final presentation of insights.\n", "\n", - "As a data scientist, you likely work through a data exploration processes on nearly every project. Exploratory data analysis can entail many things from finding relevant data and cleaning it to running analysis and building models. The ability to visually analyze and interact with data is key during the exploratory process and the final presentation of insights.\n", + "With that in mind, this guide introduces the basic building blocks for creating web-based, dynamic, and interactive map visualizations inside a Jupyter Notebook with CARTOframes. A Map can display one or several Layers. Each Layer can render local data or remote data from a CARTO account with a specific style and UI elements like legends, widgets or popups.\n", "\n", - "With that in mind, this guide introduces the basic building blocks for creating web-based, dynamic, and interactive map visualizations inside of a Jupyter Notebook with CARTOframes.\n", - "\n", - "In this guide you are introduced to the Map and Layer classes, how to explore data with Widgets and Popups, how to use visualization styles to quickly symbolize thematic attributes, and options for creating maps to share your findings.\n", - "\n", - "### Data\n", - "\n", - "This guide uses two datasets: a point dataset of simulated Starbucks locations in Brooklyn, New York and 15 minute walk time polygons (isochrones) around each store augmented with demographic variables from CARTO's [Data Observatory](developers/cartoframes/guides/Data-discovery/). To follow along, you can get the [point dataset here](http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn_geocoded.csv) and the [polygon dataset here](http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn_iso_enriched.csv).\n", - "\n", - "As a first step, load both datasets as [pandas.DataFrame](https://pandas.pydata.org/pandas-docs/stable/getting_started/dsintro.html#dataframe) into the notebook:" + "In this guide you will be introduced to the Map and Layer classes. You will learn how to explore data with Widgets and Popups, how to use visualization styles to quickly symbolize thematic attributes and how to share your findings by publishing your visualizations. You can check also the [Data Visualization examples](/developers/cartoframes/examples/#example-data-visualization)." ] }, { - "cell_type": "code", - "execution_count": 1, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "from pandas import read_csv\n", - "from geopandas import GeoDataFrame\n", - "from cartoframes.utils import decode_geometry\n", - "\n", - "# store point locations\n", - "stores_df = read_csv('http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn_geocoded.csv')\n", - "stores_gdf = GeoDataFrame(stores_df, geometry=decode_geometry(stores_df['the_geom']))\n", + "### Visualize data from a file\n", "\n", - "# 15 minute walk time polygons\n", - "iso_df = read_csv('http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn_iso_enriched.csv')\n", - "iso_gdf = GeoDataFrame(iso_df, geometry=decode_geometry(iso_df['the_geom']))" + "CARTOframes allows creating maps directly with data from GeoJSON or CSV files (with geometric data)." ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 1, "metadata": {}, + "outputs": [], "source": [ - "### Add Layers to a Map\n", + "from geopandas import read_file\n", "\n", - "Next, import the Map and Layer classes from the [Viz namespace](/developers/cartoframes/reference/#heading-Viz) to visualize the two datasets. The resulting map draws each dataset with default symbology on top of CARTO's Positron basemap with the zoom and center set to the extent of both datasets:" + "points_gdf = read_file('http://libs.cartocdn.com/cartoframes/samples/starbucks_brooklyn_geocoded.geojson')" ] }, { @@ -762,14 +746,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -843,7 +827,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -858,12 +842,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                                                          ${popupHTML}
                                                                          `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                                                          ${popupHTML}
                                                                          `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -1222,7 +1210,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -1263,12 +1251,12 @@ " .addEventListener('ready', () => {\n", " const basecolor = '';\n", " const basemap = 'Positron';\n", - " const bounds = [[-74.04169, 40.57381], [-73.85993, 40.70181]];\n", + " const bounds = [[-74.03313, 40.57796], [-73.87015, 40.6915]];\n", " const camera = null;\n", " const has_legends = 'False' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#826DBA\\")\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": []}, {"credentials": null, "data": "H4sIAJdZBF8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAJdZBF8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\n", "widgets": []}];\n", + " const layers = [{"credentials": null, "data": "H4sIAKMVyl8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAKMVyl8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -1292,7 +1280,7 @@ "" ], "text/plain": [ - "" + "" ] }, "execution_count": 2, @@ -1301,276 +1289,34 @@ } ], "source": [ - "from cartoframes.viz import Map, Layer\n", + "from cartoframes.viz import Layer\n", "\n", - "Map([\n", - " Layer(iso_gdf),\n", - " Layer(stores_gdf)\n", - "])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "> To learn more about basemap options, visit the Map Configuration [Examples](/developers/cartoframes/examples/) section of the CARTOframes Developer Center" + "Layer(points_gdf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Explore Attributes\n", - "\n", - "Before going further, take a look at the attributes in each dataset to get a sense of the information available to visualize and interact with.\n", - "\n", - "First, explore the store location attributes. In this dataset you will use the fields:\n", - "* `id_store` that is a unique identifier for each of the locations\n", - "* `revenue` which provides the information about how much a particular store earned in the year 2018" + "If the source, instead of a GeoJSON, is a CSV file with a column containing the geometry encoded in WKB/WKT, you can pass the name of the column as `geom_col` directly to the Layer and the geometry is automatically decoded." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                          \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                          the_geomcartodb_idfield_1nameaddressrevenueid_storegeometry
                                                                          00101000020E61000005EA27A6B607D52C01956F146E655...10Franklin Ave & Eastern Pkwy341 Eastern Pkwy,Brooklyn, NY 112381321040.772APOINT (-73.95901 40.67109)
                                                                          10101000020E6100000B610E4A0847D52C0B532E197FA49...21607 Brighton Beach Ave607 Brighton Beach Avenue,Brooklyn, NY 112351268080.418BPOINT (-73.96122 40.57796)
                                                                          20101000020E6100000E5B8533A587F52C05726FC523F4F...3265th St & 18th Ave6423 18th Avenue,Brooklyn, NY 112041248133.699CPOINT (-73.98976 40.61912)
                                                                          \n", - "
                                                                          " - ], - "text/plain": [ - " the_geom cartodb_id field_1 \\\n", - "0 0101000020E61000005EA27A6B607D52C01956F146E655... 1 0 \n", - "1 0101000020E6100000B610E4A0847D52C0B532E197FA49... 2 1 \n", - "2 0101000020E6100000E5B8533A587F52C05726FC523F4F... 3 2 \n", - "\n", - " name address \\\n", - "0 Franklin Ave & Eastern Pkwy 341 Eastern Pkwy,Brooklyn, NY 11238 \n", - "1 607 Brighton Beach Ave 607 Brighton Beach Avenue,Brooklyn, NY 11235 \n", - "2 65th St & 18th Ave 6423 18th Avenue,Brooklyn, NY 11204 \n", - "\n", - " revenue id_store geometry \n", - "0 1321040.772 A POINT (-73.95901 40.67109) \n", - "1 1268080.418 B POINT (-73.96122 40.57796) \n", - "2 1248133.699 C POINT (-73.98976 40.61912) " - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "stores_gdf.head(3)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, + "outputs": [], "source": [ - "From the isochrone Layer, you will use the demographic attributes:\n", + "from pandas import read_csv\n", "\n", - "* `popcy` which counts the total population in each area\n", - "* `inccymedhh` that is the median household income in each area\n", - "* `lbfcyempl` counts the employed population\n", - "* `educybach` counts the number of people with a bachelor's degree\n", - "* `id_store` which matches the unique id in the store points" + "polygons_df = read_csv('http://libs.cartocdn.com/cartoframes/samples/starbucks_brooklyn_iso_enriched.csv')\n", + "polygons_gdf = read_file('http://libs.cartocdn.com/cartoframes/samples/starbucks_brooklyn_iso_enriched.geojson')" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                          \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                          the_geomcartodb_idpopcydata_rangerange_labellbfcyempleducybachinccymedhhid_storegeometry
                                                                          00106000020E61000000100000001030000000100000033...31311.66700590015 min.568.006658151.68221748475.834346CMULTIPOLYGON (((-73.99082 40.62694, -73.99170 ...
                                                                          10106000020E61000000100000001030000000100000033...72215.53929090015 min.1181.265882313.73981035125.870621GMULTIPOLYGON (((-73.87101 40.66114, -73.87166 ...
                                                                          20106000020E61000000100000001030000000100000033...91683.22918690015 min.1012.737753449.87100587079.135091IMULTIPOLYGON (((-73.98467 40.70054, -73.98658 ...
                                                                          \n", - "
                                                                          " - ], - "text/plain": [ - " the_geom cartodb_id popcy \\\n", - "0 0106000020E61000000100000001030000000100000033... 3 1311.667005 \n", - "1 0106000020E61000000100000001030000000100000033... 7 2215.539290 \n", - "2 0106000020E61000000100000001030000000100000033... 9 1683.229186 \n", - "\n", - " data_range range_label lbfcyempl educybach inccymedhh id_store \\\n", - "0 900 15 min. 568.006658 151.682217 48475.834346 C \n", - "1 900 15 min. 1181.265882 313.739810 35125.870621 G \n", - "2 900 15 min. 1012.737753 449.871005 87079.135091 I \n", - "\n", - " geometry \n", - "0 MULTIPOLYGON (((-73.99082 40.62694, -73.99170 ... \n", - "1 MULTIPOLYGON (((-73.87101 40.66114, -73.87166 ... \n", - "2 MULTIPOLYGON (((-73.98467 40.70054, -73.98658 ... " - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "iso_gdf.head(3)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Visual and Interactive Data Exploration\n", - "\n", - "Now that you've taken a first look at the fields in the data and done a basic visualization, let's look at how you can use the map as a tool for visual and interactive exploration to better understand the relationship between a store's annual revenue and the surrounding area's demographic characteristics.\n", - "\n", - "#### Add Widgets\n", - "\n", - "As seen in the table summaries above, there are a variety of demographic attributes in the isochrone Layer that would be helpful to better understand the characteristics around each store.\n", - "\n", - "To make this information available while exploring each location on the map, you can add each attribute as a [Widget](developers/cartoframes/reference/#heading-Widgets). For this case specifically, you will use [Formula Widgets](/developers/cartoframes/examples/#example-formula-widget) to summarize the demographic variables and a [Category Widget](/developers/cartoframes/examples/#example-category-widget) on the categorical attribute of `id_store`.\n", - "\n", - "To add Widgets, you first need to import the types that you want to use and then, inside of the `iso_gdf` Layer add one widget for each attribute of interest. The Formula Widget accepts different types of aggregations. For this map, you will aggregate each demographic variable using `sum` so the totals update as you zoom, pan and interact with the map. You will also label each Widget appropriately using the `title` parameter." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, "outputs": [ { "data": { @@ -1765,126 +1511,6 @@ " Static map image\n", " \n", " \n", - " \n", - "\n", - "\n", - " \n", "
                                                                          \n", "
                                                                          \n", "
                                                                          \n", @@ -2400,14 +2026,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -2481,7 +2107,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -2496,12 +2122,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                                                          ${popupHTML}
                                                                          `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                                                          ${popupHTML}
                                                                          `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -2860,7 +2490,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -2906,7 +2536,7 @@ " const has_legends = 'False' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAJdZBF8C/+1bS29mtw39L167HySRlKjZtWnTB1Cg+yIoEo+TDDCJBxNnYQTz30t9l9ThtVeOF93Ui4nnRLqSKPLwpfnt5vHp0/3Nu5uv7799/PXz/VcPHz/e3z1+ePj55vbm+wP75ebdv3+7+fDeRhVDzxMM+PT54dP958cPa+BvN/fvf717+u7bux9v3lWpl66tVfujFuZb+8h/fnl8+Lzmf2UzP/x8d/f00/37H20wKw+5KDFx50m3Nx+/+/7u6f6nTx9v3knXSym9i1bmNrXaog+f7p5sCaq2Rh+lSKHO+uX25of7h5/uHz8/rc34Xv/568fHD/96+Pj0w/Vcdw8Pn99/+Pnbx+vR7OcPgy5zFm23XC699cnf3DpYh2PSN9YqOahtg9Rjdp8b5P1JSWCfByhjY6P1Axt1Y5NqTD72wyaEQrGhJhusHF+cCWw+nWbCfOdNBz7pk8vEwMJXrI70wdLkALviMHPoAXI69uw+3a4kHcent44z6vTphSHKwQEmCcmgGCkQJfPLkVRjZFfcow4HB6aXFtP33nXvyBZKYHNwQ6NXhyptsLfpYMNkiVWq7DMqTd+kCW6DrY2YjoXK/mbduxyTYpcQ5tCQcJ0YqXEXjPMMnXGVRfDN6icaJS0krm+mZGl1V+syFKAPbMxp766DXBUgua5LElJl18yhA+DgADGSYvGh+KZUdVAgOdNTBwmgxpYGxKmz++YHhHTmA/v58uXWabC+igZNHy+D7DSm47PQiQX/+owFSWozFhzFZKtmHicarFXrxdjAzrCMESxoFCsXoWmfNxWi8ftZUEcth3yWZrooDOzHldmuaINtsoNtbpD6oVm9kAA8LkfmxCe5HBcuWhSgs5soV4Dj2JHYbxsUZyjpHTvi5gttQ1uzm2M1zRZfnDeDq5oP8ZHU98hBPpIKvmknOcDGWLwXXxzWZwu5YkkRnFLYFypU04GOkWy+AJs/Ts7aexKmD9SaJOz+gzVts8XsibWrkzgrrqI4tbJ9B2Bl38/eY5/ik82xAaTp4HaRy/ICHBipvkkpFSOHU6sJgwGG1CDfPmpIDcLoPb6oWKaHalTsXFySUnG3nSUGzi1J09G48PTJ4DHhMQDG3comUV1+OZRoYiFnVulJbhEGyGg4pIRm6faHBs6wiplGtjA06Evv6hjPFwI2sgc4HSJ80PgyxkHZTmxw4sD2Kg5kntev2cZUjN1OJPj3ZyS4NHJeKkmZFizQMxK0IMbodAwxURudlxQMdqWLkVFd1zCHWewbwkHl43pXaAnnY3fgIMN7DPGRNY0ch++ykXD6LmGjweR63EnZDIRF1SMg2wWileaOb7naFOwMB1lT2HlgHV53BhPZLynSKv5JHojehhPMzNGbUeoBlhQIsyum+c8ckx0GpJoiLZLj6EZKWL3FSFF8s7oFrAgJoLt3benoRX16S2GZ713hk5bLP+xc68RAce+uTYA5gphK2X2XxVYY1yhWxh61BkgVEUzxQEtJX8Ru2kaK0mI3iK3NzdQYiNhL3J9ZHLSFZnfv4pUK0GIhB3Hjlme4LEYeSQFC3ez/+0VMxNajebJgEWD65lYYBHTmkaqrFmGkhApLilAltDUNDPVPQafWlxgG5oCZw/JS0FndbnO03g4FMlAxmw7nbCCu7MwFJxqkV9GgsdnFQrRim9RZ+zkj/uMzGrSAhebF3J4pdV9GmWlwVDWqM8+iNPq0jGeToAWDFxaxGN+CyLfEgnZJoRcFFmb+5gDHdprGM54lWAy1xdvJAyJLLLaqdfYM1D65tcrc94xPbrVYEeQBGrtscMQ3tWEhrYf2jxT89+nBxhIddPpQP4vAOGHiIHFSaZ9NaaS5owMsjHXEVbAj0pk92NKslAE6DXVo2wrDDmxk0M9jKITpXNCTMQOkLPURoTpm1wgMGvI9i188CjAiDVCmRGiADRk9R/gPj2BePBYCg64Ax0FIQ8TJvxOIVeLOOzNWpxAH7VB/mthcmMiUpXlSbBEZwOKhW4cbDg9lG9pLm8x93IA0OHSjp7QyygsdMflkF+UiTUz2gZYTpWVclJaWYPacrlgCVbfQ11U9FRgso/XpY+CIzp+2xyQ0CutJs7lui8Q60sP4sE3LqvybcK2i/klFcPmMDU4kyK/Lh7ld6ip5rUKDOctnKfGfnhcGqQhderXlzVjPhUELMiwWtKDECN7MisGCZsyXZikSNa1V3kCC3StHZgTwT70dlyMrYofpHbmvWITbE7fRAaYQa1mXT4fHNM2rPh2cY7ffHcQ9du0+klHDWDp6gASDGsV3RC059uIDW0HtqLGvUxCGWjRwbNOINQUgR/nGzlhbCkCOhcyZpxDg8JpiKSvI7fC5KZe3gx9Wbxi02nhOAkzOYwTWk9R9k8hUDayBYWAbsTSCj+5BtW0ccfrStQA5+bgeILbuLkGy5yl7IATUSyyD6EXmFhocpEzeIzWZ3ktMOZYBvdhfNghr7t3lK6iDBauaNDIRyZYlKMtiadcCuBm7b99ScnusroJjaia3GuoGP+GFaFnVPGxJRqg1RpK4CvPJeYQBQN1MYThAnN2YMgwVI3WGTWq6IXJwJLdbeINJPTIjnIhQXhcNWnjHo68Qoi8mfEaEf35GhJ3s/lehyfIdsvs9t0iGxYMmTGNzM6dV+99UWC2ZnquTwYty6fdyIVvkqh5wcHFxXEHPpLjIbhaQ12AoMsOFVS/80qwD4NggbbB5hYwih1wgeU2JdK9tLsFnjwFQPJGjqKwscLjrJHGauIJeAbIpGOmqbTGIW9sCozpClbHQ9GInRVJ8/aaDLeLWK1i85q0FYOeoZCd5yK46o8FjjO6VbE4geSZoFIZ9UnRzUtsnUjHLOzhdhpe8K4RkiZyPrBBSi9zUQIyMqKG1hpG9RQ9AAIpHs63hLhvHNqlgJJV9oC0PW9R7ACRYvURbjuY+ulmlgxFRXsHYfFTuFhjheRPccJVoS/SCkT0aZsrAKLC0uBOv6YdOgJ6zUp6uYQVRYFzg9G+SQD/s5K6dnSCk4hkQRVZ1BV23Z2MIjr1OXCtmx0gDMZt9m5wuzeN4Lopxw42aCyXrz5RwIsP+OjJkWqmI/ceOvSglU+HfnlMhm8EvUjt+9Fm3mC92w0budXUXEhOWKZe+DJyXxc83MKFdnluKgk2ihG+KDoOUFk0oAXFsQxmJ9IZX3JtAW2i3qzrWUd3Yns2xdodK25W4SjMsl6OuY6AmMEyvCEAJy4WR8u41JzLx4nqNauV17WgxKgjCPESLviMYT11Ra+8Q24g2rGimVh8pdSZijw40p5FeMDRyA2F68bbXAhs1PThA229yK90x2BNRnDJKv1dmnQEmrxJyqyXpQTi/2sBj5NX12vqEQYXgGqTZ1Nm6UoWF9+h+t8QPPGI66MVSVe8ht0ThUZ+phJs0txFyh+M2iveFkk8yYo67HKCIFh3bzBst9Cg6C9fVZzgQHN3P0zgxFm8CTxvqNSwAdNn6buImlzSif62SROz32ybcfouybJucwpiwIE2uc58nffNECCcaHK+jwdYv0wyO27TDqaXJJyL8y/PkeFXWjXwt95+mbvVMhIvuaD2RsbCBOTOhafOFxaYZ1ff5FiYsfhXL1e6nIs31zZylAnTNLBX+uUTFZ/nfDQaRlprerjh1lChoLCxS5hXebtArfwvcF1nddZVkkvb7kVpMavP/4P8UvL4F8uTTsjO0g7R6rjUFvawxvPoyx0jNKK9gDM09M88e++zP3wItMLWYYvX0yeKJs6YK9vQXWGKmk0YeAbrlFugaeL1sZfSp5zV9IKc2XPO8eQadXUF1NR5FE+iLaxIH1TCN1tPiR0RZGpL+yf6kzDg5tfY8rzJKTyKO2Wlxv6AFpldqnq+Umt+eJU44kaG+rmtMdfH6sKBwPXs5d42/fkaFpku9rliEVlVgvTZMVGj0eLGYtq46lzGlhUCbCpnKxYIUC54tdte3lArtA/KiHTXZnXzWVfG0whJIiNc7czPV1Wa84ZipXDyj2jzxzsWuocdI5HN2ET36u+lyPJk0vcQjwOY8PGnMRM7R2EufjMULiJQ8nFVFtFWiVagDwdrKNQ6wI0Nc7jz6wNikNzS5tvRQMZqp6ZXW9KxPaxLbdAcy5kz8QtE70vTw0tPLkdqK+63h0EQQ8ZZzzHS5tHthua3tGKqeM57YaH5f5kfES6mpsXFNbXYjtJisCQyZV1RSTYA1QLQ52d9DagUxKu0WNjhDS3SM20w91uhC5+6uU4byqe8aTeie+64+G2+/zDr61qH02M9rMTOxi8a7JtPA/ALQu74kqUXrymH3pOm5xgibSs81SjSce3qaMcJ00+pR9LHfoDHVH5mtCwQYW0o9mDMdnGhwvi4mNPJa9Q9ze2x8LCca/MeLrrFF1CsbkmK3Y3HYqWtcmtHg6n/qmGNVyUGDUlcuZsHZMIV5Awvap/0tGsF3SHEb5/Q8VCJRslOl1p5EiQI1ZI6HcHWg7yVt5LLFtQRMu7yBpXuUDaH+MtxDkcJwRSXqhngkIPEemNJTWa/HX4sI6CS4mVHj1GON6mYBk1jG5CNTtzw+ubOPY+c7p0hn7HpOc44WK714fS4cj8plpg6ii3KVeCBziswrlc6jMb6Ljrl/2VKLNUoHoKzVeIvsDnO7v09uNYES0ysaT8xRH0k9VopCSnpfwy2Kg2gDc4mUL7URSON5cmp30M4DBURC0R22xGjfDo1dsEnThzd4Vw1sgxyFwIYt0XBfSOl5D0mUlHmkhXYhcB+SwilQ+vcGHGy7K98LjJofpfdG3CgMACzGKKbjxtn7favAh+kywvZwPz0sD41Odj9sV5Ja4JkKrgz4zZf/Ah6sTwdzMgAA", "title": null, "type": "GeoJSON", "viz": "@v2a0130: viewportSum(prop(\\u0027inccymedhh\\u0027))\\n@v339732: viewportSum(prop(\\u0027lbfcyempl\\u0027))\\n@v77c3db: viewportSum(prop(\\u0027educybach\\u0027))\\n@vb11b3e: viewportSum(prop(\\u0027popcy\\u0027))\\n@vd11807: prop(\\u0027id_store\\u0027)\\ncolor: hex(\\"#826DBA\\")\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": [{"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Total Population Served", "type": "formula", "value": "viewportSum(prop(\\u0027popcy\\u0027))", "variable_name": "vb11b3e"}, {"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Median Income ($)", "type": "formula", "value": "viewportSum(prop(\\u0027inccymedhh\\u0027))", "variable_name": "v2a0130"}, {"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Employed Population", "type": "formula", "value": "viewportSum(prop(\\u0027lbfcyempl\\u0027))", "variable_name": "v339732"}, {"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Number of People with Bachelor Degree", "type": "formula", "value": "viewportSum(prop(\\u0027educybach\\u0027))", "variable_name": "v77c3db"}, {"description": "", "footer": "", "has_bridge": true, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Store ID", "type": "category", "value": "id_store", "variable_name": "vd11807"}]}, {"credentials": null, "data": "H4sIAJdZBF8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAJdZBF8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\n", "widgets": []}];\n", + " const layers = [{"credentials": null, "data": "H4sIAKQVyl8C/+1aTa9dtw38L2/tGpJISlS2Bbor0H2RRZC4gQE3L3CdRRD4v5fnnqGGN14/dNO3uh5LRxJFDr/0x8uX33/98PLdy98+/PDlt88f/vr66dOHH798fP3l5d3Lv27sPy/f/fOPl48/xagW6POEAH79/Prrh89fPl4D//j67uXnD6///vDl8+/xrxz8998+ffn4j9dPv//8+PCPr6+ff/r4yw9fHt+Ov78seb938/FO2/s55tbv3wHsC5jNg40uAH0cUGbOnvuAej5pBZz7Bm0dbI15Y6sfbEvPyfd+9H1rTXJDww7YNb+4CzgwXXbBsPPhi5/E5LY5sOkD66t8sA27wek8zF5+g1qOvSemy9RyHEwfk2f0jelNKcqlCRYJ2ZIcaRSl6rcjpefI6bxHXwAXp7eR08/e/ewoFirgAHigNTugLgecYwMcnGy5SrdzRpeNTYbgDjjGyulcqJ1v9rPLtSV3SWEuTwn3zZGed6E8z/KdV9mM3+w40WplIYO+hZKV1aHWbTlBDByqZe/QQe1OUKDrVoTUFZq5fBFcmiBHSi6+nN+07gCNkgs9BSgEPbe0KE7fE5tfFNIzH8Tf16/vwEP9DXnIV2/3Di/dwGYCnLfQQuZywLEV4NgHlHnf7WxiBG/x2N78pLZb5ObNCYJfzLUTXPeOLH4d0MARNid3pAMLHVW/Zg9gvcw2LK6HQ91bM4yUeUYuwUhp/Gac5AaHcvHZsDj1PxbC1VozntIUCzXp5UD3SA025ubvk6vPWYSJgd6LhMHg6mWbI2dvrt1Bo+q8igZy0/gOwa7Yz9nj3IbJ4VoIygZ4nNSl+wkujnRs0lrnyAVyC2EowZQa5TtXT6lRGHPmF53LzFSNzp0bJGmddzvVcuA+kgwdzQsvn0wmMV2LYN6tHRrzyzOmEm0uBG6zWeSWjtjW4CEtNcuPRwpwp1XsMnKkoVFf5nRgur8RcNAtwQ1I+MFgrBxHZXtigycWGm8ZDbnesl1hk+TeEABAJXkuw8heRq6bumMkfR6OFxxUmBccHTMYFXQEALELOusB3r88TfH1C6B6ibpubNLp7KSB+FECjYZP6mLwsmDduwYvwWc32EocqNCKcB81JLm1170EGmL30YMRuPrIkeb8Zof6XQECQXg3H+XozTF9lKgEe3c6hMvj3UbmfXOgwbn5MGJAGFK4wnFEaMFxQ3Jl7tF7gtLpwBviDBf/JnTxsUqQkrthaBkc33MgQw+DM4kw4Agt7h7itU4wQgGAvPEIsyGLVUdKglS3+H9cxGZouQZi5QiAyjePwjCeCXfQoVrCkZYqbCVAs9TWMjDVv8Rc3r/FOLDGi5qWV2KuDrutweq4FShA52y5PWOAvLJnLnjiIHlLDrKdF9Oo4sG2N7iOywhDR5QaEcQ53xSEAxHYnrueigwoPnmuNZzXzk+ee7nipxsM8z7gym/64ELeb/VbJficG652zRIj9/v+I/7QghlA0aJTmC1lZNu3DkSQynUMOjDp5/dMugozUYLggcnrvoKQG1sVxHkCpTBhjLNYE0GpUl8ZqHJ2T7c4mG+E94YPDCZLMBLYdIzcUPBjBr+kZFtnIVLY5d4BUhpmYN8pZDbLO5+qXF1SHHIC3R1igzCZqdlAUhbxCMGGwGXSD6aLiA2dpUPmGLcoDU3dmCWtyfR2MiLdClFerMXJGBgZQVkGooygnLMjN4e2UdUj8IOqlwQ3MipMX4tHBIHFHovQJK2nzNZ+LJLr2Ezj4zYjp8A36dvM8UlnaPUnNnhiIX1LFpooHYQWkqHnuKVjV8BI3b9TL3OjyK6w+gZLkHGpN6bTZ8TVd0yn0Yf4J0AKcvrESGUSeynJDQo1ejXsSEZxbQ0DI6kn4yjWaQzEwh/e2wxmKy74zt/jjH0UF3wvFO6sOMHbb1hkTGSX2+uUVDIOfptdYFSrIBpLsLD3SmwWqWOTTJQC7Ilx4Fi5NN3vRFgZG2ekOvuWBLU4mZkgtw5Otkr97QykgGbLZei/bR+h0UPZ1jPSi+5/i7nmMrTv+McBaU5zQr7GQkjSWkijMoEdWZIzIpqEFpDn476xpeJ3In3FyO2VXXqqG4kalUi7yjnckq1Ua44UgwrrE3unAVDdQmE0QZ49qCoNlSN9p016uSEBuIrfa3rAoh6VEZ6YyN6MifR9Gw5/qw2beYCI5LXZqdUKEnDJzOTCOupusvsiuA4oBxwoj0jmMBcoKCiIn7VF4U1kLYKGREIyrb7ABc8hBiN9gEj/YwpHQrHCBUPXLzBTY+nKhTYqXZJJ2eObAEeGbQ+woeTojeDULCQWedgp+rG+HnyKQqIWUJCJBIFwn5LF9FJ1z1Qgkgctl4GKY6eQIpHAyE4hjcyNAuTIdJpjDI6cI0uwRtAQzI3Buxya25TGkdLOgY48YlGUYMW4esuuiOxz9LAJgBlQPcDcfJZtLjCj02G84W5ZFZ6NI2f2K1yJSWJlcdBe6IdvgsiZpE73tIKsLl3gxjfFqB9xcmjnFAqpIQGQTCoeIHR7D6XgFEXC3jk7RwbI2Yptark0hLHanOMWjFqbFOuvlPBERfMtqSikB1V1mnMWUEPTaBE2sghvtNyjqauwzkK9cxivS065fnId94Od2ZprT+pUyAQ6pTQdzcQ+QC9g6n4zgpamQyvR02sr1ozSZs9y1WPtbLE4LTQoemTfhZTj0JQ+J8W2sg1lXrkNI63vwqzZgdMyEhWjYBcyFqp3szcaSRDeDcZ+C69PYFRokTxl1v4e1LYTLLSecuut6EF6n0h3eeWobfYxNzU6BTcozeGgyy6dJjaz+zeKgerK6bTvSJXQQxuFQ7M+0IU3GbydcqfnDI7FQsUpBDPmXS7a6MiOVTXckXqUdd3H6jsZnEfHeYYWytDDoGVDs6cFkK/GPE2s4hNW9u/ciohxv2PT746sy42tJY5IC/Liu855yjefCOGJh9Zb8lCDIC5PcxrVA7cdvsIJQi9ap3tqme9f7ueASWOtl845DLdlOnthma/tTeVvqPtc4BFjB3O3YhDx+45rt4z9f/B/Cj5eIiDzidSA1XjvCPS3sZWwFlL/vVbpBSB9Xl5bFkhd5p5/folwgaXCn6uXTzZkbV7qlxvvP2y3UUbe8WmE1izaolpypZOl5bAxUEsXZCBp20kmD9Chxqt5AbG4F3FIT9MYsyx+B1RtMOPcigctwYils4K0Igi1iDhnl8VxQRdY3sggXG+9vnwpnPBERf6m74cE7dFajd8KF1d1xRDVRv7C46ExsUtRZWf/eJdi3c5a32aPPcQwcyTTiRDEzPZWEQ5ymdALPgEa4MEtaxdyzL5G+WQu3khkgmDOnbFGy06JL4YqV6h7g5MJyuXMsg3GTaKfo32UZ0rZSypvNDaSDu9FbBsEvvYu9i1Zuffy7ArZzSpdlfPSaHkx0HzJtXa5XDmdiNrVA8aS1872vtfXJTgiX2lsz4176TIGoeRkL2DKvLOMFgLsCbLLo3gN5Z3E5HI6eLRZb9kwG7u0mLIJV5tbMFnXp7ZT9uBmbTthNt+dhHXMo0PlqQ9KAbtYt+ebitDA+v4HTS+x0qGCcsQ9eelWr7Sp0q1u2W+bpTO90nTL6llziF/UmI4HLtcFEswtlQr4Mx080dB+SxpSR0VHheQZaS3SxPI6yzJO19FKZ8MyRWUFT/MVTF8s+9tYNW19FODkpLdcembZiPpnCxQtTssxt6wbsUlp+RxPyks1VEOvslGp40LPZWhpMWV1q9GUI2DHyNIszE+e4Pfe+QlpyxmnP0fZd4dJvnn8aZpvOm2XBgpEeaX4lLlk4F8Kl9kXPEWn2r4ZpcOUmSs5Qz1fqA42SXXieeDoBbSc3ln2V830vLSYJPP40t/XkcUhdsEix806EIu44vk6sBSb5aQhRkuWbI5FknFuR9apF5TpC/2tqwZyQM1C0OCWZMEZSXleEMqDkbrKQqcQdA4pycpSnvtq0t2pfF5g1nykvHfQIWkApBFlMZU3rui2XAUeTreVtsf7mWl5bDMpHGFcSekAVip4UND3X/8LUvckIXMtAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAKQVyl8C/+1aTa9dtw38L2/tGpJISlS2Bbor0H2RRZC4gQE3L3CdRRD4v5fnnqGGN14/dNO3uh5LRxJFDr/0x8uX33/98PLdy98+/PDlt88f/vr66dOHH798fP3l5d3Lv27sPy/f/fOPl48/xagW6POEAH79/Prrh89fPl4D//j67uXnD6///vDl8+/xrxz8998+ffn4j9dPv//8+PCPr6+ff/r4yw9fHt+Ov78seb938/FO2/s55tbv3wHsC5jNg40uAH0cUGbOnvuAej5pBZz7Bm0dbI15Y6sfbEvPyfd+9H1rTXJDww7YNb+4CzgwXXbBsPPhi5/E5LY5sOkD66t8sA27wek8zF5+g1qOvSemy9RyHEwfk2f0jelNKcqlCRYJ2ZIcaRSl6rcjpefI6bxHXwAXp7eR08/e/ewoFirgAHigNTugLgecYwMcnGy5SrdzRpeNTYbgDjjGyulcqJ1v9rPLtSV3SWEuTwn3zZGed6E8z/KdV9mM3+w40WplIYO+hZKV1aHWbTlBDByqZe/QQe1OUKDrVoTUFZq5fBFcmiBHSi6+nN+07gCNkgs9BSgEPbe0KE7fE5tfFNIzH8Tf16/vwEP9DXnIV2/3Di/dwGYCnLfQQuZywLEV4NgHlHnf7WxiBG/x2N78pLZb5ObNCYJfzLUTXPeOLH4d0MARNid3pAMLHVW/Zg9gvcw2LK6HQ91bM4yUeUYuwUhp/Gac5AaHcvHZsDj1PxbC1VozntIUCzXp5UD3SA025ubvk6vPWYSJgd6LhMHg6mWbI2dvrt1Bo+q8igZy0/gOwa7Yz9nj3IbJ4VoIygZ4nNSl+wkujnRs0lrnyAVyC2EowZQa5TtXT6lRGHPmF53LzFSNzp0bJGmddzvVcuA+kgwdzQsvn0wmMV2LYN6tHRrzyzOmEm0uBG6zWeSWjtjW4CEtNcuPRwpwp1XsMnKkoVFf5nRgur8RcNAtwQ1I+MFgrBxHZXtigycWGm8ZDbnesl1hk+TeEABAJXkuw8heRq6bumMkfR6OFxxUmBccHTMYFXQEALELOusB3r88TfH1C6B6ibpubNLp7KSB+FECjYZP6mLwsmDduwYvwWc32EocqNCKcB81JLm1170EGmL30YMRuPrIkeb8Zof6XQECQXg3H+XozTF9lKgEe3c6hMvj3UbmfXOgwbn5MGJAGFK4wnFEaMFxQ3Jl7tF7gtLpwBviDBf/JnTxsUqQkrthaBkc33MgQw+DM4kw4Agt7h7itU4wQgGAvPEIsyGLVUdKglS3+H9cxGZouQZi5QiAyjePwjCeCXfQoVrCkZYqbCVAs9TWMjDVv8Rc3r/FOLDGi5qWV2KuDrutweq4FShA52y5PWOAvLJnLnjiIHlLDrKdF9Oo4sG2N7iOywhDR5QaEcQ53xSEAxHYnrueigwoPnmuNZzXzk+ee7nipxsM8z7gym/64ELeb/VbJficG652zRIj9/v+I/7QghlA0aJTmC1lZNu3DkSQynUMOjDp5/dMugozUYLggcnrvoKQG1sVxHkCpTBhjLNYE0GpUl8ZqHJ2T7c4mG+E94YPDCZLMBLYdIzcUPBjBr+kZFtnIVLY5d4BUhpmYN8pZDbLO5+qXF1SHHIC3R1igzCZqdlAUhbxCMGGwGXSD6aLiA2dpUPmGLcoDU3dmCWtyfR2MiLdClFerMXJGBgZQVkGooygnLMjN4e2UdUj8IOqlwQ3MipMX4tHBIHFHovQJK2nzNZ+LJLr2Ezj4zYjp8A36dvM8UlnaPUnNnhiIX1LFpooHYQWkqHnuKVjV8BI3b9TL3OjyK6w+gZLkHGpN6bTZ8TVd0yn0Yf4J0AKcvrESGUSeynJDQo1ejXsSEZxbQ0DI6kn4yjWaQzEwh/e2wxmKy74zt/jjH0UF3wvFO6sOMHbb1hkTGSX2+uUVDIOfptdYFSrIBpLsLD3SmwWqWOTTJQC7Ilx4Fi5NN3vRFgZG2ekOvuWBLU4mZkgtw5Otkr97QykgGbLZei/bR+h0UPZ1jPSi+5/i7nmMrTv+McBaU5zQr7GQkjSWkijMoEdWZIzIpqEFpDn476xpeJ3In3FyO2VXXqqG4kalUi7yjnckq1Ua44UgwrrE3unAVDdQmE0QZ49qCoNlSN9p016uSEBuIrfa3rAoh6VEZ6YyN6MifR9Gw5/qw2beYCI5LXZqdUKEnDJzOTCOupusvsiuA4oBxwoj0jmMBcoKCiIn7VF4U1kLYKGREIyrb7ABc8hBiN9gEj/YwpHQrHCBUPXLzBTY+nKhTYqXZJJ2eObAEeGbQ+woeTojeDULCQWedgp+rG+HnyKQqIWUJCJBIFwn5LF9FJ1z1Qgkgctl4GKY6eQIpHAyE4hjcyNAuTIdJpjDI6cI0uwRtAQzI3Buxya25TGkdLOgY48YlGUYMW4esuuiOxz9LAJgBlQPcDcfJZtLjCj02G84W5ZFZ6NI2f2K1yJSWJlcdBe6IdvgsiZpE73tIKsLl3gxjfFqB9xcmjnFAqpIQGQTCoeIHR7D6XgFEXC3jk7RwbI2Yptark0hLHanOMWjFqbFOuvlPBERfMtqSikB1V1mnMWUEPTaBE2sghvtNyjqauwzkK9cxivS065fnId94Od2ZprT+pUyAQ6pTQdzcQ+QC9g6n4zgpamQyvR02sr1ozSZs9y1WPtbLE4LTQoemTfhZTj0JQ+J8W2sg1lXrkNI63vwqzZgdMyEhWjYBcyFqp3szcaSRDeDcZ+C69PYFRokTxl1v4e1LYTLLSecuut6EF6n0h3eeWobfYxNzU6BTcozeGgyy6dJjaz+zeKgerK6bTvSJXQQxuFQ7M+0IU3GbydcqfnDI7FQsUpBDPmXS7a6MiOVTXckXqUdd3H6jsZnEfHeYYWytDDoGVDs6cFkK/GPE2s4hNW9u/ciohxv2PT746sy42tJY5IC/Liu855yjefCOGJh9Zb8lCDIC5PcxrVA7cdvsIJQi9ap3tqme9f7ueASWOtl845DLdlOnthma/tTeVvqPtc4BFjB3O3YhDx+45rt4z9f/B/Cj5eIiDzidSA1XjvCPS3sZWwFlL/vVbpBSB9Xl5bFkhd5p5/folwgaXCn6uXTzZkbV7qlxvvP2y3UUbe8WmE1izaolpypZOl5bAxUEsXZCBp20kmD9Chxqt5AbG4F3FIT9MYsyx+B1RtMOPcigctwYils4K0Igi1iDhnl8VxQRdY3sggXG+9vnwpnPBERf6m74cE7dFajd8KF1d1xRDVRv7C46ExsUtRZWf/eJdi3c5a32aPPcQwcyTTiRDEzPZWEQ5ymdALPgEa4MEtaxdyzL5G+WQu3khkgmDOnbFGy06JL4YqV6h7g5MJyuXMsg3GTaKfo32UZ0rZSypvNDaSDu9FbBsEvvYu9i1Zuffy7ArZzSpdlfPSaHkx0HzJtXa5XDmdiNrVA8aS1872vtfXJTgiX2lsz4176TIGoeRkL2DKvLOMFgLsCbLLo3gN5Z3E5HI6eLRZb9kwG7u0mLIJV5tbMFnXp7ZT9uBmbTthNt+dhHXMo0PlqQ9KAbtYt+ebitDA+v4HTS+x0qGCcsQ9eelWr7Sp0q1u2W+bpTO90nTL6llziF/UmI4HLtcFEswtlQr4Mx080dB+SxpSR0VHheQZaS3SxPI6yzJO19FKZ8MyRWUFT/MVTF8s+9tYNW19FODkpLdcembZiPpnCxQtTssxt6wbsUlp+RxPyks1VEOvslGp40LPZWhpMWV1q9GUI2DHyNIszE+e4Pfe+QlpyxmnP0fZd4dJvnn8aZpvOm2XBgpEeaX4lLlk4F8Kl9kXPEWn2r4ZpcOUmSs5Qz1fqA42SXXieeDoBbSc3ln2V830vLSYJPP40t/XkcUhdsEix806EIu44vk6sBSb5aQhRkuWbI5FknFuR9apF5TpC/2tqwZyQM1C0OCWZMEZSXleEMqDkbrKQqcQdA4pycpSnvtq0t2pfF5g1nykvHfQIWkApBFlMZU3rui2XAUeTreVtsf7mWl5bDMpHGFcSekAVip4UND3X/8LUvckIXMtAAA=", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#826DBA\\")\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": []}, {"credentials": null, "data": "H4sIAKQVyl8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAKQVyl8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -2930,50 +2560,20 @@ "" ], "text/plain": [ - "" + "" ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "from cartoframes.viz import formula_widget, category_widget\n", + "from cartoframes.viz import Map\n", "\n", "Map([\n", - " Layer(\n", - " iso_gdf,\n", - " widgets=[\n", - " formula_widget(\n", - " 'popcy',\n", - " 'sum',\n", - " title='Total Population Served'\n", - " ),\n", - " formula_widget(\n", - " 'inccymedhh',\n", - " 'sum',\n", - " title='Median Income ($)'\n", - " ),\n", - " formula_widget(\n", - " 'lbfcyempl',\n", - " 'sum',\n", - " title='Employed Population',\n", - " ),\n", - " formula_widget(\n", - " 'educybach',\n", - " 'sum',\n", - " title='Number of People with Bachelor Degree',\n", - " ),\n", - " category_widget(\n", - " 'id_store',\n", - " title='Store ID'\n", - " )\n", - " ]\n", - " ),\n", - " Layer(\n", - " stores_gdf\n", - " )\n", + " Layer(polygons_df, geom_col='the_geom'),\n", + " Layer(points_gdf)\n", "])" ] }, @@ -2981,16 +2581,22 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "At this point, take a few minutes to explore the map to see how the Widget values update. For example, select a Store ID from the Category Widget to summarize the demographics for a particular store. Alternatively, zoom and pan the map to get summary statistics for the features in the current map view.\n" + "### Visualize data from CARTO\n", + "\n", + "For big datasets visualization (>30MB), we recommend rendering layers directly from a CARTO account. This, in addition to improving the performance, allows you to apply SQL queries to the tables stored in CARTO.\n", + "\n", + "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to perform this action._" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 5, "metadata": {}, + "outputs": [], "source": [ - "#### Add Popups\n", + "from cartoframes.auth import set_default_credentials\n", "\n", - "In order to aid this map-based exploration, import the [Popup](developers/cartoframes/examples/#example-popup-on-hover) class and use the hover option on the `iso_gdf` Layer to be able to quickly hover over stores and get their ID:" + "set_default_credentials('cartoframes')" ] }, { @@ -3191,116 +2797,3866 @@ " Static map image\n", " \n", " \n", - " \n", - "\n", - "
                                                                          \n", - " \n", - " \n", - " \n", + "\n", + "
                                                                          \n", + "
                                                                          \n", + " :\n", + "
                                                                          \n", + " \n", + " \n", + "
                                                                          \n", + "
                                                                          \n", + "\n", + "
                                                                          \n", + " StackTrace\n", + "
                                                                            \n", + "
                                                                            \n", + "
                                                                            \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Map([\n", + " Layer('countries'),\n", + " Layer('SELECT * FROM global_power_plants WHERE capacity_mw > 1000'),\n", + " Layer('world_rivers')\n", + "])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Map configuration\n", + "\n", + "The map basemap and initial viewport can be customized. CARTO provides out-of-the-box basemaps: `positron`, `voyager` and `darkmatter`, but it also supports any URL to load external basemaps." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                                                            \n", + "
                                                                            \n", + "
                                                                            \n", + " \n", + " \n", + "
                                                                            \n", + "
                                                                            \n", + "
                                                                            \n", + "\n", + " \n", + "\n", + "
                                                                            \n", + "
                                                                            \n", + " :\n", + "
                                                                            \n", + " \n", + " \n", + "
                                                                            \n", + "
                                                                            \n", + "\n", + "
                                                                            \n", + " StackTrace\n", + "
                                                                              \n", + "
                                                                              \n", + "
                                                                              \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import basemaps\n", + "\n", + "Map(\n", + " basemap=basemaps.voyager,\n", + " viewport={'zoom': 13.5, 'lat': 40.4353, 'lng': -79.9916}\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Data-driven styling\n", + "\n", + "CARTOframes provides out of the box style helpers for different kinds of data-driven visualizations:\n", + "- Basic\n", + "- Color: bins, category, continuous\n", + "- Size: bins, category, continuous\n", + "- Animation\n", + "\n", + "Style helpers contain built-in cartography styling. However, each method provides lots of parameters to adjust your visualization to your needs (color, size, stroke, color palette, classification methods, etc.). There are also legends, popups, and widgets. By default, only the legend and popup hover are enabled." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                                                              \n", + "
                                                                              \n", + "
                                                                              \n", " \n", - "
                                                                              \n", - "
                                                                              \n", + " \n", + "
                                                                              \n", + "
                                                                              \n", + " \n", + "\n", + "
                                                                              \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                              \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                              \n", + " \n", " \n", - "
                                                                              \n", - " \n", - " \n", + " \n", + "
                                                                              \n", + "
                                                                              \n", + "
                                                                              \n", + " \n", + "
                                                                              \n", + "
                                                                              \n", + "
                                                                              \n", + "\n", + " \n", + "\n", + "
                                                                              \n", + "
                                                                              \n", + " :\n", + "
                                                                              \n", + " \n", + " \n", + "
                                                                              \n", + "
                                                                              \n", + "\n", + "
                                                                              \n", + " StackTrace\n", + "
                                                                                \n", + "
                                                                                \n", + "
                                                                                \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                \n", - "
                                                                                \n", - " \n", - "
                                                                                \n", - " \n", - " \n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import size_continuous_style\n", + "\n", + "Layer(\n", + " points_gdf,\n", + " size_continuous_style('revenue')\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", "\n", - "

                                                                                \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "

                                                                                \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", "\n", + " \n", + "\n", + " \n", + " \n", " \n", - "
                                                                                \n", - " \n", - "
                                                                                \n", - "
                                                                                \n", - " \n", - "
                                                                                \n", - "
                                                                                \n", - " \n", - "
                                                                                \n", - " \n", - " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", "\n", - "

                                                                                \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "

                                                                                \n", + "\n", + " Static map image\n", + " \n", + " \n", + " \n", "\n", + "
                                                                                \n", " \n", - "
                                                                                \n", - "
                                                                                \n", + " \n", " \n", "
                                                                                \n", "
                                                                                \n", " \n", "
                                                                                \n", - " \n", - " \n", + " heading="pop_sq_km">\n", + " \n", " \n", "
                                                                                \n", " \n", @@ -3316,6 +6672,35 @@ "
                                                                                \n", " \n", " \n", + "
                                                                                \n", + "
                                                                                \n", + " \n", + "\n", + "
                                                                                \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                                \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                                \n", + " \n", + " \n", + "
                                                                                \n", + "
                                                                                \n", + "
                                                                                \n", + "
                                                                                \n", + " \n", "
                                                                                \n", "
                                                                                \n", "
                                                                                \n", @@ -3826,14 +7211,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -3907,7 +7292,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -3922,12 +7307,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                                                                ${popupHTML}
                                                                                `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                                                                ${popupHTML}
                                                                                `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -4286,7 +7675,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -4327,12 +7716,12 @@ " .addEventListener('ready', () => {\n", " const basecolor = '';\n", " const basemap = 'Positron';\n", - " const bounds = [[-74.04169, 40.57381], [-73.85993, 40.70181]];\n", + " const bounds = [[-6.365712, 49.883409], [1.771169, 55.805486]];\n", " const camera = null;\n", - " const has_legends = 'False' === 'true';\n", + " const has_legends = 'true' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vd11807", "title": "Store ID"}, "event": "hover"}], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": null, "type": "GeoJSON", "viz": "@v2a0130: viewportSum(prop(\\u0027inccymedhh\\u0027))\\n@v339732: viewportSum(prop(\\u0027lbfcyempl\\u0027))\\n@v77c3db: viewportSum(prop(\\u0027educybach\\u0027))\\n@vb11b3e: viewportSum(prop(\\u0027popcy\\u0027))\\n@vd11807: prop(\\u0027id_store\\u0027)\\ncolor: hex(\\"#826DBA\\")\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": [{"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Total Population Served", "type": "formula", "value": "viewportSum(prop(\\u0027popcy\\u0027))", "variable_name": "vb11b3e"}, {"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Median Income ($)", "type": "formula", "value": "viewportSum(prop(\\u0027inccymedhh\\u0027))", "variable_name": "v2a0130"}, {"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Employed Population", "type": "formula", "value": "viewportSum(prop(\\u0027lbfcyempl\\u0027))", "variable_name": "v339732"}, {"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Number of People with Bachelor Degree", "type": "formula", "value": "viewportSum(prop(\\u0027educybach\\u0027))", "variable_name": "v77c3db"}, {"description": "", "footer": "", "has_bridge": true, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Store ID", "type": "category", "value": "id_store", "variable_name": "vd11807"}]}, {"credentials": null, "data": "H4sIAJhZBF8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAJhZBF8C/7XSPW8DIQwG4P/CfD1h82GcNVLn7lWGKKEVUnqcKB2i0/33clwqkZ2OWIZHNu8i8n324iBe/Tn/JH+Mt5u/5BAnMYiPvfYtDu+LCNfSJUv1+UIpzCnOPuWwNS7rID59/PI53cvpr/kthimX1kuM6Rqmc66PvpAa2bCEQcvREkg+revwoKA/ZQFxowwR24bC/pRjsnUqYMCGUp0pPUokrSulwLSU7k9Jya4ukBVCQ5n+C2S0eyyc020sbHfKkQRTKVM22FDUf4FKgXrEAqmh3D8kUJsadstPQ3F/STu9f5VCuQ11Wn8BOR2ZplYEAAA=", "title": null, "type": "GeoJSON", "viz": "color: hex(\\"#EE4D5A\\")\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\n", "widgets": []}];\n", + " const layers = [{"credentials": {"api_key": "default_public", "base_url": "https://cartoframes.carto.com", "username": "cartoframes"}, "data": "SELECT * FROM \\"cartoframes\\".\\"eng_wales_pop\\"", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "color", "title": "pop_sq_km", "type": "color-bins", "variable": null}], "map_index": 0, "options": {}, "source": "SELECT * FROM \\"cartoframes\\".\\"eng_wales_pop\\"", "title": null, "type": "Query", "viz": "@v18f1e3: prop(\\u0027pop_sq_km\\u0027)\\ncolor: opacity(ramp(globalQuantiles(prop(\\u0027pop_sq_km\\u0027), 5), mint), 0.8)\\nfilter: 1\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": [{"description": "", "footer": "", "has_bridge": true, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "pop_sq_km", "type": "histogram", "value": "pop_sq_km", "variable_name": "v18f1e3"}]}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -4356,77 +7745,44 @@ "" ], "text/plain": [ - "" + "" ] }, - "execution_count": 6, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "from cartoframes.viz import popup_element\n", + "from cartoframes.viz import Layer, color_bins_style\n", "\n", - "Map([\n", - " Layer(\n", - " iso_gdf,\n", - " widgets=[\n", - " formula_widget(\n", - " 'popcy',\n", - " 'sum',\n", - " title='Total Population Served'\n", - " ),\n", - " formula_widget(\n", - " 'inccymedhh',\n", - " 'sum',\n", - " title='Median Income ($)'\n", - " ),\n", - " formula_widget(\n", - " 'lbfcyempl',\n", - " 'sum',\n", - " title='Employed Population',\n", - " ),\n", - " formula_widget(\n", - " 'educybach',\n", - " 'sum',\n", - " title='Number of People with Bachelor Degree',\n", - " ),\n", - " category_widget(\n", - " 'id_store',\n", - " title='Store ID'\n", - " )\n", - " ],\n", - " popup_hover=[\n", - " popup_element('id_store', 'Store ID')\n", - " ]\n", - " ),\n", - " Layer(\n", - " stores_gdf\n", - " )\n", - "])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, as you explore the map and summarize demographics, it is much easier to relate the summarized values to a unique store ID." + "Layer(\n", + " 'eng_wales_pop',\n", + " color_bins_style('pop_sq_km', palette='mint', bins=5, opacity=0.8),\n", + " default_widget=True,\n", + " default_popup_hover=False\n", + ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "#### Symbolize Store Points\n", + "### Legends\n", + "\n", + "Legends are aligned with style helpers. Each style helper contains what we call the \"default legend\" based on the style:\n", + "- Basic\n", + "- Color: bins, category, continuous\n", + "- Size: bins, category, continuous\n", "\n", - "At this point, you have some really useful information available on the map but only coming from the isochrone Layer. Sizing the store points by the attribute `revenue` will provide a way to visually locate which stores are performing better than others. A quick way to visualize numeric or categorical attributes during the data exploration process is to take advantage of [visualization styles](/developers/cartoframes/reference/#heading-Helpers).\n", + "Depending on the geometry of the visualization (points, lines, polygons), the legend will render the corresponding symbology. Legends are also customizable, you can edit the title or add a description or a footer.\n", "\n", - "To size the store points proportionate to their revenue, you'll use the [`size_continuous_style`](/developers/cartoframes/examples/#example-size-continuous-style):" + "When having multiple layers in a map, legends will stack according to the order of the layers." ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 10, "metadata": {}, "outputs": [ { @@ -4622,126 +7978,6 @@ " Static map image\n", " \n", " \n", - " \n", - "\n", - "\n", - " \n", "
                                                                                \n", "
                                                                                \n", "
                                                                                \n", @@ -4761,18 +7997,18 @@ " \n", " \n", " \n", + " heading="Annual Revenue"\n", + " description="Revenue in dollars ($)">\n", " \n", " \n", + " Source: Starbucks\n", + " \n", " \n", " \n", " \n", "
                                                                                \n", " \n", " \n", - " \n", - " \n", " \n", "\n", " \n", @@ -5288,14 +8524,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -5369,7 +8605,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -5384,12 +8620,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                                                                ${popupHTML}
                                                                                `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                                                                ${popupHTML}
                                                                                `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -5748,7 +8988,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -5789,12 +9029,12 @@ " .addEventListener('ready', () => {\n", " const basecolor = '';\n", " const basemap = 'Positron';\n", - " const bounds = [[-74.04169, 40.57381], [-73.85993, 40.70181]];\n", + " const bounds = [[-74.03313, 40.57796], [-73.87015, 40.6915]];\n", " const camera = null;\n", " const has_legends = 'true' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vd11807", "title": "Store ID"}, "event": "hover"}], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": null, "type": "GeoJSON", "viz": "@v2a0130: viewportSum(prop(\\u0027inccymedhh\\u0027))\\n@v339732: viewportSum(prop(\\u0027lbfcyempl\\u0027))\\n@v77c3db: viewportSum(prop(\\u0027educybach\\u0027))\\n@vb11b3e: viewportSum(prop(\\u0027popcy\\u0027))\\n@vd11807: prop(\\u0027id_store\\u0027)\\ncolor: hex(\\"#826DBA\\")\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": [{"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Total Population Served", "type": "formula", "value": "viewportSum(prop(\\u0027popcy\\u0027))", "variable_name": "vb11b3e"}, {"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Median Income ($)", "type": "formula", "value": "viewportSum(prop(\\u0027inccymedhh\\u0027))", "variable_name": "v2a0130"}, {"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Employed Population", "type": "formula", "value": "viewportSum(prop(\\u0027lbfcyempl\\u0027))", "variable_name": "v339732"}, {"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Number of People with Bachelor Degree", "type": "formula", "value": "viewportSum(prop(\\u0027educybach\\u0027))", "variable_name": "v77c3db"}, {"description": "", "footer": "", "has_bridge": true, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Store ID", "type": "category", "value": "id_store", "variable_name": "vd11807"}]}, {"credentials": null, "data": "H4sIAJhZBF8C/52TsW7DMAxE/0WzK5CURIpZC3TuXmQIErUwkNqB6xQIAv97ZceDM7IaCdLvfDze3Xi7FLdzb+UwXofy2p/P5Ti2feca9/mo/bjdx921p9oFtfo8UAuXob+UYWznxrsbym/prrUDAyFE8CI0Ne6r9N9lHG5zy/qF977txjp/7Pvh1HaHcSG9SPCaFLCpsywIup+mZuWjhU+cIYOPmM18RqKZn0SUN3wy8WPGEDyrmvlZhZf/R0Xa8IOFjzkJUPWQbfzogSTGhR8wbfnRxI85klT/QZeXzTIANC9r0JqljYxkkxGB2TMn8xqU+BHDnOM2hmzhQz2DHKqnCstDq4wsgGmRkeo6NjLEIEOphkF8CGRPQwgY1jSSbPjZwBdOosFHXsPwj5uIablJ1icT1CIiKiH7gNm8BK1hfmQhEMwm7Kc/O1OfSTwFAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vabf72c", "title": "revenue"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "width", "title": "revenue", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAJhZBF8C/52TsW7DMAxE/0WzK5CURIpZC3TuXmQIErUwkNqB6xQIAv97ZceDM7IaCdLvfDze3Xi7FLdzb+UwXofy2p/P5Ti2feca9/mo/bjdx921p9oFtfo8UAuXob+UYWznxrsbym/prrUDAyFE8CI0Ne6r9N9lHG5zy/qF977txjp/7Pvh1HaHcSG9SPCaFLCpsywIup+mZuWjhU+cIYOPmM18RqKZn0SUN3wy8WPGEDyrmvlZhZf/R0Xa8IOFjzkJUPWQbfzogSTGhR8wbfnRxI85klT/QZeXzTIANC9r0JqljYxkkxGB2TMn8xqU+BHDnOM2hmzhQz2DHKqnCstDq4wsgGmRkeo6NjLEIEOphkF8CGRPQwgY1jSSbPjZwBdOosFHXsPwj5uIablJ1icT1CIiKiH7gNm8BK1hfmQhEMwm7Kc/O1OfSTwFAAA=", "title": null, "type": "GeoJSON", "viz": "@vabf72c: prop(\\u0027revenue\\u0027)\\n@size_value: ramp(linear(prop(\\u0027revenue\\u0027), globalMIN(prop(\\u0027revenue\\u0027)), globalMAX(prop(\\u0027revenue\\u0027))), [2, 40])\\ncolor: opacity(#FFB927, 0.8)\\nfilter: 1\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(sqrt(prop(\\u0027revenue\\u0027)), sqrt(globalMIN(prop(\\u0027revenue\\u0027))), sqrt(globalMAX(prop(\\u0027revenue\\u0027)))), [2, 40])\\n", "widgets": []}];\n", + " const layers = [{"credentials": null, "data": "H4sIAKkVyl8C/5XTwWrDMAwG4HfxOTOSbEvWroOddx89lNYbgS4pWTooJe8+J+3BPeoq5HxI+nNz8/Vc3Kt7L/v5MpW38XQqh7kfB9e5r3vt171+3lx/rF1Qq88PauE8jecyzf3aeHNT+SvDpXZgIIQIXoSWzn2X8afM03VteXzhY+yHub4/jON07If9vEkvErwmBezqWxYE3S1L9/DR4hNnyOAjZrPPSLT6SUS58cnkx4wheFY1+1mFt/lRkRo/WHzMSYDqDtnmRw8kMW5+wNT60eTHHEnq/tHsA2je9q81RI2fbH4EZs+czPtX4nv+co5t/tjiQ81/DnWZ5vtnAUybn+oBGl8MvlI9v/gQyH7/EDA88kfS+NngCyfR4COjPf4xbb8f69P0atGjErIPmO18ze39+oFgnX63/AOe9pnjJwUAAA==", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vabf72c", "title": "revenue"}, "event": "hover"}], "legends": [{"ascending": false, "description": "Revenue in dollars ($)", "dynamic": true, "footer": "Source: \\u003ca href=\\"https://www.starbucks.com/\\"\\u003eStarbucks\\u003c/a\\u003e", "format": null, "prop": "width", "title": "Annual Revenue", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAKkVyl8C/5XTwWrDMAwG4HfxOTOSbEvWroOddx89lNYbgS4pWTooJe8+J+3BPeoq5HxI+nNz8/Vc3Kt7L/v5MpW38XQqh7kfB9e5r3vt171+3lx/rF1Qq88PauE8jecyzf3aeHNT+SvDpXZgIIQIXoSWzn2X8afM03VteXzhY+yHub4/jON07If9vEkvErwmBezqWxYE3S1L9/DR4hNnyOAjZrPPSLT6SUS58cnkx4wheFY1+1mFt/lRkRo/WHzMSYDqDtnmRw8kMW5+wNT60eTHHEnq/tHsA2je9q81RI2fbH4EZs+czPtX4nv+co5t/tjiQ81/DnWZ5vtnAUybn+oBGl8MvlI9v/gQyH7/EDA88kfS+NngCyfR4COjPf4xbb8f69P0atGjErIPmO18ze39+oFgnX63/AOe9pnjJwUAAA==", "title": null, "type": "GeoJSON", "viz": "@vabf72c: prop(\\u0027revenue\\u0027)\\n@size_value: ramp(linear(prop(\\u0027revenue\\u0027), globalMIN(prop(\\u0027revenue\\u0027)), globalMAX(prop(\\u0027revenue\\u0027))), [10, 50])\\ncolor: opacity(#FFB927, 0)\\nfilter: 1\\nstrokeColor: turquoise\\nstrokeWidth: 2\\nwidth: ramp(linear(sqrt(prop(\\u0027revenue\\u0027)), sqrt(globalMIN(prop(\\u0027revenue\\u0027))), sqrt(globalMAX(prop(\\u0027revenue\\u0027)))), [10, 50])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -5818,77 +9058,47 @@ "" ], "text/plain": [ - "" + "" ] }, - "execution_count": 7, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "from cartoframes.viz import size_continuous_style\n", + "from cartoframes.viz import size_continuous_style, size_continuous_legend # or just default_legend\n", "\n", - "Map([\n", - " Layer(\n", - " iso_gdf,\n", - " widgets=[\n", - " formula_widget(\n", - " 'popcy',\n", - " 'sum',\n", - " title='Total Population Served'\n", - " ),\n", - " formula_widget(\n", - " 'inccymedhh',\n", - " 'sum',\n", - " title='Median Income ($)'\n", - " ),\n", - " formula_widget(\n", - " 'lbfcyempl',\n", - " 'sum',\n", - " title='Employed Population',\n", - " ),\n", - " formula_widget(\n", - " 'educybach',\n", - " 'sum',\n", - " title='Number of People with Bachelor Degree',\n", - " ),\n", - " category_widget(\n", - " 'id_store',\n", - " title='Store ID'\n", - " )\n", - " ],\n", - " popup_hover=[\n", - " popup_element('id_store', title='Store ID')\n", - " ]\n", - " ),\n", - " Layer(\n", - " stores_gdf,\n", - " size_continuous_style('revenue')\n", + "Layer(\n", + " points_gdf,\n", + " size_continuous_style('revenue', size_range=[10,50], stroke_color='turquoise', stroke_width=2, opacity=0),\n", + " legends=size_continuous_legend(\n", + " title='Annual Revenue',\n", + " description='Revenue in dollars ($)',\n", + " footer='Source: Starbucks'\n", " )\n", - "])" + ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Now you have a proportional symbol map where points are sized by revenue. You will also notice that an appropriate legend has been added to the map and when you hover over the points, you will see each store's revenue value.\n", - "\n", - "Next, let's take a look at how to modify some of the defaults.\n", - "\n", - "Every Visualization Layer has a set of parameters available to customize the defaults to better suit a given map. A quick way to see which parameters are available for customization in the `size_continuous_style`, is to run `help(size_continuous_style)` in a notebook cell.\n", + "### Interactive widgets\n", "\n", - "Let's make a few adjustments to make it easier to distinguish and locate the highest and lowest performing stores:\n", + "There are several widgets:\n", + "- Formula\n", + "- Histogram\n", + "- Category\n", + "- Time-series\n", + "- Animation\n", "\n", - "* The continuous point size reads between a minimum and maximum range of symbol sizes. Since the smallest revenue value on this map is hard to see, set `size_range=[10,50]`\n", - "* By default both the Legend and Popup titles are set to the attribute being visualized. To give them more descriptive titles, set `title=Annual Revenue ($)`\n", - "* In order to see and interact with the distribution of revenue values, you can also add a Histogram Widget (turned off by default) by setting `default_widget=True`" + "Widgets interactivity is bidirectional: filtering the widgets affects the visualization and the other widgets, and when the viewport of the visualization changes, the widgets show the information filtered by viewport (unless the flag is_global is set)." ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -6064,86 +9274,43 @@ " margin-bottom: 16px;\n", " }\n", "\n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - " \n", - "\n", - "
                                                                                \n", "
                                                                                \n", @@ -6768,14 +9896,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -6849,7 +9977,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -6864,12 +9992,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                                                                ${popupHTML}
                                                                                `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                                                                ${popupHTML}
                                                                                `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -7228,7 +10360,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -7271,10 +10403,10 @@ " const basemap = 'Positron';\n", " const bounds = [[-74.04169, 40.57381], [-73.85993, 40.70181]];\n", " const camera = null;\n", - " const has_legends = 'true' === 'true';\n", + " const has_legends = 'False' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vd11807", "title": "Store ID"}, "event": "hover"}], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": null, "type": "GeoJSON", "viz": "@v2a0130: viewportSum(prop(\\u0027inccymedhh\\u0027))\\n@v339732: viewportSum(prop(\\u0027lbfcyempl\\u0027))\\n@v77c3db: viewportSum(prop(\\u0027educybach\\u0027))\\n@vb11b3e: viewportSum(prop(\\u0027popcy\\u0027))\\n@vd11807: prop(\\u0027id_store\\u0027)\\ncolor: hex(\\"#826DBA\\")\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": [{"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Total Population Served", "type": "formula", "value": "viewportSum(prop(\\u0027popcy\\u0027))", "variable_name": "vb11b3e"}, {"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Median Income ($)", "type": "formula", "value": "viewportSum(prop(\\u0027inccymedhh\\u0027))", "variable_name": "v2a0130"}, {"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Employed Population", "type": "formula", "value": "viewportSum(prop(\\u0027lbfcyempl\\u0027))", "variable_name": "v339732"}, {"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Number of People with Bachelor Degree", "type": "formula", "value": "viewportSum(prop(\\u0027educybach\\u0027))", "variable_name": "v77c3db"}, {"description": "", "footer": "", "has_bridge": true, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Store ID", "type": "category", "value": "id_store", "variable_name": "vd11807"}]}, {"credentials": null, "data": "H4sIAJhZBF8C/52TsW7DMAxE/0WzK5CURIpZC3TuXmQIErUwkNqB6xQIAv97ZceDM7IaCdLvfDze3Xi7FLdzb+UwXofy2p/P5Ti2feca9/mo/bjdx921p9oFtfo8UAuXob+UYWznxrsbym/prrUDAyFE8CI0Ne6r9N9lHG5zy/qF977txjp/7Pvh1HaHcSG9SPCaFLCpsywIup+mZuWjhU+cIYOPmM18RqKZn0SUN3wy8WPGEDyrmvlZhZf/R0Xa8IOFjzkJUPWQbfzogSTGhR8wbfnRxI85klT/QZeXzTIANC9r0JqljYxkkxGB2TMn8xqU+BHDnOM2hmzhQz2DHKqnCstDq4wsgGmRkeo6NjLEIEOphkF8CGRPQwgY1jSSbPjZwBdOosFHXsPwj5uIablJ1icT1CIiKiH7gNm8BK1hfmQhEMwm7Kc/O1OfSTwFAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vabf72c", "title": "Annual Revenue ($)"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "width", "title": "Annual Revenue ($)", "type": "size-continuous", "variable": "size_value"}], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAJhZBF8C/52TsW7DMAxE/0WzK5CURIpZC3TuXmQIErUwkNqB6xQIAv97ZceDM7IaCdLvfDze3Xi7FLdzb+UwXofy2p/P5Ti2feca9/mo/bjdx921p9oFtfo8UAuXob+UYWznxrsbym/prrUDAyFE8CI0Ne6r9N9lHG5zy/qF977txjp/7Pvh1HaHcSG9SPCaFLCpsywIup+mZuWjhU+cIYOPmM18RqKZn0SUN3wy8WPGEDyrmvlZhZf/R0Xa8IOFjzkJUPWQbfzogSTGhR8wbfnRxI85klT/QZeXzTIANC9r0JqljYxkkxGB2TMn8xqU+BHDnOM2hmzhQz2DHKqnCstDq4wsgGmRkeo6NjLEIEOphkF8CGRPQwgY1jSSbPjZwBdOosFHXsPwj5uIablJ1icT1CIiKiH7gNm8BK1hfmQhEMwm7Kc/O1OfSTwFAAA=", "title": "Annual Revenue ($)", "type": "GeoJSON", "viz": "@vabf72c: prop(\\u0027revenue\\u0027)\\n@size_value: ramp(linear(prop(\\u0027revenue\\u0027), globalMIN(prop(\\u0027revenue\\u0027)), globalMAX(prop(\\u0027revenue\\u0027))), [10, 50])\\ncolor: opacity(#FFB927, 0.8)\\nfilter: 1\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(sqrt(prop(\\u0027revenue\\u0027)), sqrt(globalMIN(prop(\\u0027revenue\\u0027))), sqrt(globalMAX(prop(\\u0027revenue\\u0027)))), [10, 50])\\n", "widgets": [{"description": "", "footer": "", "has_bridge": true, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Annual Revenue ($)", "type": "histogram", "value": "revenue", "variable_name": "vabf72c"}]}];\n", + " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": null, "type": "GeoJSON", "viz": "@v464b95: prop(\\u0027educybach\\u0027)\\n@v794f1f: globalSum(prop(\\u0027inccymedhh\\u0027))\\n@vb11b3e: viewportSum(prop(\\u0027popcy\\u0027))\\n@vd11807: prop(\\u0027id_store\\u0027)\\ncolor: hex(\\"#826DBA\\")\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": [{"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Population", "type": "formula", "value": "viewportSum(prop(\\u0027popcy\\u0027))", "variable_name": "vb11b3e"}, {"description": "", "footer": "", "has_bridge": false, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Median Income Average", "type": "formula", "value": "globalSum(prop(\\u0027inccymedhh\\u0027))", "variable_name": "v794f1f"}, {"description": "", "footer": "", "has_bridge": true, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Education", "type": "histogram", "value": "educybach", "variable_name": "v464b95"}, {"description": "", "footer": "", "has_bridge": true, "options": {"autoplay": true, "buckets": 20, "format": null, "readOnly": false, "weight": 1}, "prop": "", "title": "Store ID", "type": "category", "value": "id_store", "variable_name": "vd11807"}]}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -7298,100 +10430,41 @@ "" ], "text/plain": [ - "" + "" ] }, - "execution_count": 8, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "from cartoframes.viz import size_continuous_style\n", - "\n", - "Map([\n", - " Layer(\n", - " iso_gdf,\n", - " widgets=[\n", - " formula_widget(\n", - " 'popcy',\n", - " 'sum',\n", - " title='Total Population Served'\n", - " ),\n", - " formula_widget(\n", - " 'inccymedhh',\n", - " 'sum',\n", - " title='Median Income ($)'\n", - " ),\n", - " formula_widget(\n", - " 'lbfcyempl',\n", - " 'sum',\n", - " title='Employed Population',\n", - " ),\n", - " formula_widget(\n", - " 'educybach',\n", - " 'sum',\n", - " title='Number of People with Bachelor Degree',\n", - " ),\n", - " category_widget(\n", - " 'id_store',\n", - " title='Store ID'\n", - " )\n", - " ],\n", - " popup_hover=[\n", - " popup_element('id_store', 'Store ID')\n", - " ]\n", - " ),\n", - " Layer(\n", - " stores_gdf,\n", - " size_continuous_style(\n", - " 'revenue',\n", - " size_range=[10,50]\n", - " ),\n", - " title='Annual Revenue ($)',\n", - " default_widget=True\n", - " )\n", - "])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And now you have a map to visually and interactively explore the relationship between revenue and demographic variables for each store:" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Insights\n", - "\n", - "The map above provides a way to explore the data both visually and interactively in different ways:\n", + "from cartoframes.viz import formula_widget, category_widget, histogram_widget\n", "\n", - "* you can almost instantaneously locate higher and lower performing stores based on the symbol sizes\n", - "* you can zoom in on any store to summarize demographic characteristics\n", - "* you can quickly find out the store ID by hovering on it\n", - "* you can select a range of revenues from the Histogram Widget and have the map update to only display those stores\n", - "* you can use the Store ID Category Widget to isolate a particular store and summarize values\n", - "\n", - "Use the map to see if you can find the highest and lowest performing stores and summarize the demographic characteristics of each one!" + "Layer(\n", + " polygons_gdf,\n", + " widgets=[\n", + " formula_widget('popcy', 'sum', 'Population'),\n", + " formula_widget('inccymedhh', 'sum', 'Median Income Average', is_global=True),\n", + " histogram_widget('educybach', 'Education'),\n", + " category_widget('id_store', 'Store ID')\n", + " ]\n", + ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "#### Present Insights\n", - "\n", - "Now that you have gained insight into the relationship between revenue and demographics, let's say that the most influential factor of how well a store performed was median income and you want to create a map to show that particular relationship.\n", + "### Click and hover popups\n", + "Popups are a nice tool to explore your data in a map. CARTOframes provides full customization to both click and hover popups. Using the helper `popup_element` you can display any property from your data.\n", "\n", - "To show this, the map below uses another Visualization Layer, this time the [`color_bins_style`](/developers/cartoframes/examples/#example-color-bins-style) to color each isochrone according to the range of median household income it falls within. Additionally, the `size_continuous_style` used in the previous map has been further customized to account for the new thematic median income style, and the store points have been added again as a third Layer to show their location and ID on hover. The map also has a custom [viewport](https://carto.com/developers/cartoframes/examples/#example-set-custom-viewport) set to center it on the highest performing (A) and lowest performing (J) stores that have similar median income values." + "When there are multiple layers in a map, popups will stack according to the order of the layers." ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -7592,56 +10665,6 @@ "
                                                                                \n", " \n", " \n", - "
                                                                                \n", - "
                                                                                \n", - " \n", - "\n", - "
                                                                                \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Source: US Census Bureau\n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                \n", - " \n", - " \n", - "
                                                                                \n", - "
                                                                                \n", - "
                                                                                \n", - "
                                                                                \n", - " \n", " \n", " \n", " \n", @@ -8152,14 +11175,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -8233,7 +11256,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -8248,12 +11271,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                                                                ${popupHTML}
                                                                                `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                                                                ${popupHTML}
                                                                                `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -8612,7 +11639,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -8654,11 +11681,11 @@ " const basecolor = '';\n", " const basemap = 'Positron';\n", " const bounds = [[-74.04169, 40.57381], [-73.85993, 40.70181]];\n", - " const camera = {"bearing": null, "center": [-73.93471, 40.644417], "pitch": null, "zoom": 12};\n", - " const has_legends = 'true' === 'true';\n", + " const camera = null;\n", + " const has_legends = 'False' === 'true';\n", " const is_static = 'None' === 'true';\n", " const layer_selector = 'False' === 'true';\n", - " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "ve0ae0e", "title": "inccymedhh"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "Source: US Census Bureau", "format": null, "prop": "color", "title": "Median Household Income ($)", "type": "color-bins", "variable": ""}], "map_index": 0, "options": {"dateColumns": []}, "source": "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", "title": null, "type": "GeoJSON", "viz": "@ve0ae0e: prop(\\u0027inccymedhh\\u0027)\\ncolor: opacity(ramp(globalQuantiles(prop(\\u0027inccymedhh\\u0027), 7), pinkyl), 0.8)\\nfilter: 1\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: 0\\n", "widgets": []}, {"credentials": null, "data": "H4sIAJhZBF8C/52TsW7DMAxE/0WzK5CURIpZC3TuXmQIErUwkNqB6xQIAv97ZceDM7IaCdLvfDze3Xi7FLdzb+UwXofy2p/P5Ti2feca9/mo/bjdx921p9oFtfo8UAuXob+UYWznxrsbym/prrUDAyFE8CI0Ne6r9N9lHG5zy/qF977txjp/7Pvh1HaHcSG9SPCaFLCpsywIup+mZuWjhU+cIYOPmM18RqKZn0SUN3wy8WPGEDyrmvlZhZf/R0Xa8IOFjzkJUPWQbfzogSTGhR8wbfnRxI85klT/QZeXzTIANC9r0JqljYxkkxGB2TMn8xqU+BHDnOM2hmzhQz2DHKqnCstDq4wsgGmRkeo6NjLEIEOphkF8CGRPQwgY1jSSbPjZwBdOosFHXsPwj5uIablJ1icT1CIiKiH7gNm8BK1hfmQhEMwm7Kc/O1OfSTwFAAA=", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vabf72c", "title": "revenue"}, "event": "hover"}], "legends": [{"ascending": false, "description": "", "dynamic": true, "footer": "", "format": null, "prop": "width", "title": "Legend Title", "type": "size-continuous", "variable": ""}], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAJhZBF8C/52TsW7DMAxE/0WzK5CURIpZC3TuXmQIErUwkNqB6xQIAv97ZceDM7IaCdLvfDze3Xi7FLdzb+UwXofy2p/P5Ti2feca9/mo/bjdx921p9oFtfo8UAuXob+UYWznxrsbym/prrUDAyFE8CI0Ne6r9N9lHG5zy/qF977txjp/7Pvh1HaHcSG9SPCaFLCpsywIup+mZuWjhU+cIYOPmM18RqKZn0SUN3wy8WPGEDyrmvlZhZf/R0Xa8IOFjzkJUPWQbfzogSTGhR8wbfnRxI85klT/QZeXzTIANC9r0JqljYxkkxGB2TMn8xqU+BHDnOM2hmzhQz2DHKqnCstDq4wsgGmRkeo6NjLEIEOphkF8CGRPQwgY1jSSbPjZwBdOosFHXsPwj5uIablJ1icT1CIiKiH7gNm8BK1hfmQhEMwm7Kc/O1OfSTwFAAA=", "title": null, "type": "GeoJSON", "viz": "@vabf72c: prop(\\u0027revenue\\u0027)\\n@size_value: ramp(linear(prop(\\u0027revenue\\u0027), globalMIN(prop(\\u0027revenue\\u0027)), 1000000), [10, 50])\\ncolor: opacity(#FFB927, 0)\\nfilter: 1\\nstrokeColor: turquoise\\nstrokeWidth: 2\\nwidth: ramp(linear(sqrt(prop(\\u0027revenue\\u0027)), sqrt(globalMIN(prop(\\u0027revenue\\u0027))), sqrt(1000000)), [10, 50])\\n", "widgets": []}, {"credentials": null, "data": "H4sIAJhZBF8C/53TPW/DIBAG4P/C7Fp8w2Vrk6YfU/cqqqKEVkiJsQgdosj/vYA9kPG6nu/06I7XN5KuoyMrsnX79BvdOpxO7pB8GEhHvufahaw+b8QfcxfN1fuBXBhjGF1MvjSWvq9LCrG0PJKpIz8unF2K1/JtGf0Ifkh58BBCPPphnyrxYEQPCijrJO21YRR209QtMEPBT3hYM84LrIwB3cAcBa/xsAWj68YMGG9ggYI3SFj2lBspKyyYamGJgp/xMKVg66lBcNbACgVv8acGrudwWSvbcGkU/IKGraFMVVjlWzewQcGv+FMLwcQSLm4a2KLgt3+kWqr6O2m4WxhQ7jvelVbOTyw4LQvvpj9tp+GM4gQAAA==", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "vd11807", "title": "Store ID"}, "event": "hover"}], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAJhZBF8C/53TPW/DIBAG4P/C7Fp8w2Vrk6YfU/cqqqKEVkiJsQgdosj/vYA9kPG6nu/06I7XN5KuoyMrsnX79BvdOpxO7pB8GEhHvufahaw+b8QfcxfN1fuBXBhjGF1MvjSWvq9LCrG0PJKpIz8unF2K1/JtGf0Ifkh58BBCPPphnyrxYEQPCijrJO21YRR209QtMEPBT3hYM84LrIwB3cAcBa/xsAWj68YMGG9ggYI3SFj2lBspKyyYamGJgp/xMKVg66lBcNbACgVv8acGrudwWSvbcGkU/IKGraFMVVjlWzewQcGv+FMLwcQSLm4a2KLgt3+kWqr6O2m4WxhQ7jvelVbOTyw4LQvvpj9tp+GM4gQAAA==", "title": null, "type": "GeoJSON", "viz": "@vd11807: prop(\\u0027id_store\\u0027)\\ncolor: hex(\\"#EE4D5A\\")\\nstrokeColor: opacity(#222,ramp(linear(zoom(),0,18),[0,0.6]))\\nstrokeWidth: ramp(linear(zoom(),0,18),[0,1])\\nwidth: ramp(linear(zoom(),0,18),[2,10])\\n", "widgets": []}];\n", + " const layers = [{"credentials": null, "data": "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", "encode_data": true, "has_legend_list": true, "interactivity": [{"attrs": {"format": null, "name": "v0ab1cc", "title": "Employed Population"}, "event": "click"}, {"attrs": {"format": null, "name": "ve0ae0e", "title": "Median Income"}, "event": "click"}, {"attrs": {"format": null, "name": "vd11807", "title": "Store ID"}, "event": "click"}, {"attrs": {"format": null, "name": "v9b6a6d", "title": "Population"}, "event": "click"}, {"attrs": {"format": null, "name": "v9b6a6d", "title": "Population"}, "event": "hover"}], "legends": [], "map_index": 0, "options": {"dateColumns": []}, "source": "H4sIAKkVyl8C/+1aS2+ltw39L167F5JIStTs2rTpAyjQfREUicdJDHjGA8dZGMH891L3I3V47ZXjRTf16s4Z6ZNEkYcv/Xb19Pzl9urD1be33z/9+nj7zcP9/e3N093D56vrqx8P7JerD//+7eruo40qhl5OMODL48OX28enuzVwjfvPL08Pj2vIN/afd59vbp4/3X78+eerD6w85KTExJ0nXV/d//DjzfPtpy/3Vx+k66mU3kUrc5ta7bsPX26erz5UqvXU+yhFCnXWr9dXP90+fLp9enxe6/l2/vnr/dPdvx7un386b/3m4eHx493n75/Ou7e/Pww6zVm0XXM59dYnf3ftYB2OSd9Yq+Sgtg1Sj9l9bpD3JyWBfR6gjI2N1g9s1I1NqjH52A+bEArFhppssHJ8cSaw+XSaCfOdNx34pE8uEwMLn7E60gdLkwPsisPMoQfI6diz+3S7knQcn946zqjTpxeGKAcHmCQkg2KkQJTMr0dSjZFdcY86HByYXlpM33vXvSNbKIHNwQ2NXh2qtMHepoMNkyVWqbLPqDR9kya4DbY2YjoWKvubde9yTIpdQphDQ8J1YqTGXTDOM3TGVRbBN6ufaJS0kLi+mZKl1V2ty1CAPrAxp727DnJVgOS6LklIlV0zhw6AgwPESIrFh+KbUtVBgeRMTx0kgBpbGhCnzu6bHxDSJR/Y39ev18509U1M99cXTEdSmzHdKCY/NRO4oLpatZ7M4m2fy+DAdK1VOQnNZlprBxq/n+l01HLIYGmfH9fAflyL7Yo22CY72OYGqR/a0wsJwOMCZE58kstxqaJFATqDiXIFOI4dif3aoDgLSe/YETdfaBvTmt0cq2m2+OK8WVrV/ISPpL5HDvKRVPBNO8kBNsbivfjisDBbyJVHiuCUwr5QoZoOdIxk43ts/jg5a+9JmD5Qa5Kw+wjWtM0WsyfWrk7UrLiK4vTJ9h2AlX0/e499ik825wWQpoPbDS7rCnBgpPompVSMHE6fJgwGGFKDfPuoITUIo/f4omKZHqpRsXNxSUrF3XaWGDi3JE1H48LTJ4OrhMcAGHcrmyh1+d5QoomFnD2lJ7mFq5fRcEgJzdLt8wycYRUzjWxhaNCX3tUxnq8EbIQOcDpE+KBxYoyDsl2wwQXPtTfx3N9f8NxSunmqJGWaz6cXPGexyMlobIhJ01i5pJiuK52Mb+qS9BxmlO+I6pSPG1wRInyIidlBhhMY4iNrGjkOF2Qj4btdiMZ0yYO4r7EZiG6qBzK2CwQdzf3X8pgpZhkOsqbo8cA6nOcMsrEfKWAq/kkeCMKGc8jMQZix5gGWFM+y6565wRxaHTaimgImkuPoxjtYvcVIUXyzupKvQAege2lt6ehFfXpL0ZXvXeF2luc+TFnrxEBxJ61NgDmC0EjZ3ZOFSBjXKFbGHrUGSBWBSPF4SUlfhWDaRgq2YjcIkc2T1BiIEErcZVk4s4Vmd+/ilQrQQhoHceOWLrgsRh5JAULd7P/9IiZC5NE85rdALn1zKwziMnM61VWLMFJChSUFmhLamgaG+qfYUetrDANz3MtheSl2rG63OehuhwIZqJhNh/81EFd2yQUXTEdvYro/vmA6Cztonsx5md72ZXeZ6UZVYzPzD0qjT8tNNs9ZSHdiEYvGLRR8T0Rn9xBXX2BE5jUOcGzXZ1Ti8bxFQluCnTyssRRga1NnzxXtk1txzAnP+OS++RUHHqARyAZHfFMbFtJ6KPhIYXqfHjIs0UFtDw2zOIoTJg4SJ6312ZRGmsc5wMJYR1zLOuKV2YMQzRAZoDNNh0KtYOrARgb9PIZCmG7uPdkrQMpSHxFwY3YN996QmVkU4r7cuDJAS/XDwWNDxsARxIP0ZeyFQJIrTHEQ0hBxfu8E7pS4886M1SnEQTtgnyY2FyZyWmmevlpcBbB4ANbhacMJ2Yb20iZzHzcgDQ7d6CkBjEJAR2Q92UW5eBGTfaBlNmkZF6UlF5g9pyuWQNUtgHVVT6UAyz19+hg4olOk7TEJjcJ60myu2yKxjvQwPmzTciP/JrynqH9SESK+YIMLnuM38dyfXtboqAiderXvmzVe1ugsULB4zgILI2mzGwbNmbWemmUy1LRWeQfLdS/imJbDx/R2SF9WYA3bOlJUUcGVrPTjAFOYtMzHp8PrmWpVnw5SsevtDuKiunYfySgnLCU8QILFjOI7opacc/GBraCM09jXKQglzaMf2zTmTEHEUUmxM9aWgohjIXPIyY0fnk8sswR7HX4zpdx28MOsDYPaGpFJgMk7jMB6krpvEgmlgTUwDGwjlkYA0T0wto0j1l66FiAnJ9YDxNad8yW7lrIHQkC9xDKIQGRuocEDyuQ9UpNtvcaUYxnwh/1jgzDX3l2+gpJU0KZJIzONbFmCkywedi2AH7H79i0lv2Zpvo+cmtmrhrrBEXhNWFZhDVuSEWqNkSSuwnzhHcIAoG6mMBwgzm5UGIaKkTrDJjXdEDk4kl8tvMGkHpkRLphO3sR0f37BdJ3sglfBx5ISsgu8bEcMi+hMWsbHZi+rzr65rlrGO1fXgEezoPD3kh2fSlMPGbj4ec+gpztcZBfmyWshFOnbwqoXWWnWAXBskDbYvFJFkegtkLy2Q7rXNs732WMAFM+2KCocCxzu/EicB86gV2JsCka67loU4ea0wKhSUGUsNL3oSJG5nr/pYIvI8wwWry9rAdg5qsZJHrIrvGimGGV71ZgTSJ6uGUdhnxSdk9RiiXzJMixOl+Hl5QohWbblIyuE1CKBNBAjw++31jCyt6i3C0DxeLQ13GXj2CYVjKSyD7TlYYt6vZ0Eq5dogdHcRzezczBiwjMYm48K2gIjwG6CG64SLYBeMLJHc0oZGAWWFndmNf3QCdATS8rTNawgCn0LnP5NEuiHndy1sxOEVDyHociLzqDr9mwMwbHXa2vF7BhpIGazb5PTpXkkzkUxbrhRc6Fk/ZkSLtiuv4nt/vaS7dhsevHW8acvmq98sks0gq6rkJ/Irkw59WXDvIx6voPs7H7cGBSEEdVy02XYnLTo6Qi4YdvCSLw2vLjdBApBu/vTsY7qxvZsjrU7tNak7lrLME6O+oqBmsCwriIAJYwTdsi7dZv4wuvYNaqG57WjY6fgAHMCLdp4IDV1Xay9Q2wjupqimT19pNSZuDsaupxGeuHO+Auc6EXUXgvM0PTgAG2/yXN0x2AyRHHKKMGeyXMGmBxHyK2WpAfh32oDVZEXsmvrEzYTgmuQZlMn5EoVRtyjmdwSBfCI6WAQyye9JdsSS0cRpRJu0jxDyB2+2VjcF0pux7g37nKABVo0QDM1tNCjKOKfV5/hI3B0P0/jREq8OTptqNewADBi67snmrzOiHawShKx32+b8OwtyqNtcopUwoI0ecd9nvTNC0K4YLrxJqb7y8sMdpWwjUAtA5+mT/WS6Raf0XpSYq6fOVOdqeuJxaYZXff5HqorLuvlLvfTiuYKZQ5PAbrqlQofW6LusnzoBoMpS01vPZwbSpQVFhZ57QpRN+j1twXum6rufkqyOft9xP+T2vw/+D8Fz29nPEO0FAp9F62eEE1B02gML5HMMVLXx8sMQ3NzylO8PvvLtzMLTL2cWD19snh2q6mOPP3FkpjppJFHkG35AcrzXrVaaXdqLk0fyKnf1Ty5ncFXZ1BdjUfRBPrimsRBNUyj9bT4ERWWhsx8sj/BMtJNPTTPjYyzk4hjdlrcL2iB6VWX5xyl5rdaiRMu2E7fxHbfvmA7U5deVzxBKzs3d5DZzhjwZKFnXfUmI0MLYzbbMZWTBRoW41qIre8p2dkH5FVrZ7I76qyO4tG/5XmQoHe5ZqpvzXjyMFNddkZZd+JZiEm6x0ikXSbrHr3SJH/P+Uz18C6uOdVOGjPxbzTJ0idj8QKuJA9JVRExlWi76UDAtVKCA+xI5JZLjp4qNunNQa4tvd2LxmR6uDQ9OdOaxDbdR4w5E4VQNGk0vUX0LHCkFt1+fjc0cUA8bxwzXS7tplNuETuG6uOMFyman1z5EfGwaGpsXFPL2jgrJmsCQ+YVFU0TYA0QLUP2J4JawX1Kux0MWtAS3dc2U78yOrq5U+qsoHzRw4yGbs89TJ+Np1JmHX3rUHr/5iWTmQhE4xmQaWB+FOcdVJLU7nTlsHvS9PRhhE2lpw8lmrc9PXMYYbpp9ajN2C9oTPU3WesCAcaWUrPjkg4umG6+ien+8aoDa4HvSlqk2AVYNHXRgS3NmG71EnXMsQrSYDqpK2WyEGuYTryD6OzT/jqL4AGkuBlzehQpkc9wK6lNJlEsQLmW42lYHeghSRu5gHCuttIuNGDpHgU8aLgM9zOWsqPUqxIVPPTUJV7BUnog6qXvc66Por1bEjVO/cqoMxaQhSU2PjJ1nuOTO0k4dr5D/3TGrpfZyNGupFdvroXjKbXM1I1zUa5iC2ROkSClKnU0mXf5L/cCW2pXRoYPVlo9rkjCMLf7q9xWEygxvaLHwxxljNSvpKh3pOco3KJMh5Yql8jMUsWeNB7lps4C7XRNwBUUnVZLb/bt0Nh1lTR9eLN0VaM2yFGSa9gSDXd3lF7DmPL4SB5poV2S24ek4H1Kr+w5CHXXoBcY1TdKz3O4URgAiIpR1saNs7fWVqkN02WE7eF+elgeeorsrtauJLWTMxWcSe67r/8F4e0zfkwxAAA=", "title": null, "type": "GeoJSON", "viz": "@v0ab1cc: prop(\\u0027lbfcyempl\\u0027)\\n@v9b6a6d: prop(\\u0027popcy\\u0027)\\n@vd11807: prop(\\u0027id_store\\u0027)\\n@ve0ae0e: prop(\\u0027inccymedhh\\u0027)\\ncolor: hex(\\"#826DBA\\")\\nstrokeColor: opacity(#2c2c2c,ramp(linear(zoom(),2,18),[0.2,0.6]))\\nstrokeWidth: ramp(linear(zoom(),2,18),[0.5,1])\\n", "widgets": []}];\n", " const mapboxtoken = '';\n", " const show_info = 'None' === 'true';\n", "\n", @@ -8682,64 +11709,43 @@ "" ], "text/plain": [ - "" + "" ] }, - "execution_count": 9, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "from cartoframes.viz import Map, Layer, color_bins_style, size_continuous_style, default_legend\n", + "from cartoframes.viz import popup_element\n", "\n", - "Map([\n", - " Layer(\n", - " iso_gdf,\n", - " style=color_bins_style(\n", - " 'inccymedhh',\n", - " bins=7,\n", - " palette='pinkyl',\n", - " opacity=0.8,\n", - " stroke_width=0\n", - " ),\n", - " legends=default_legend(title='Median Household Income ($)', footer='Source: US Census Bureau')\n", - " ),\n", - " Layer(\n", - " stores_gdf,\n", - " style=size_continuous_style(\n", - " 'revenue',\n", - " size_range=[10,50],\n", - " range_max=1000000,\n", - " opacity=0,\n", - " stroke_color='turquoise',\n", - " stroke_width=2\n", - " ),\n", - " legends=default_legend(title='Legend Title')\n", - " ),\n", - " Layer(\n", - " stores_gdf,\n", - " popup_hover=[\n", - " popup_element('id_store', title='Store ID')\n", - " ]\n", - " )\n", - "], viewport={'zoom': 12, 'lat': 40.644417, 'lng': -73.934710})" + "Layer(\n", + " polygons_gdf,\n", + " popup_hover=[\n", + " popup_element('popcy', 'Population')\n", + " ],\n", + " popup_click=[\n", + " popup_element('popcy', 'Population'),\n", + " popup_element('id_store', 'Store ID'),\n", + " popup_element('inccymedhh', 'Median Income'),\n", + " popup_element('lbfcyempl', 'Employed Population'),\n", + " ]\n", + ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "#### Compare Variables with a Layout\n", - "\n", - "If you want to compare store revenue with multiple demographic variables, you can create a [Layout](https://carto.com/developers/cartoframes/examples/#example-custom-layout) with multiple maps.\n", + "### Grid layout\n", "\n", - "In the example below, one map symbolizes annual revenue and the other three maps symbolize three demographic variables that use the same color palette where yellow is low and red is high. Each map has a title to label which attribute is being mapped." + "Using the Layout class we can show different maps side-to-side, for example, to compare variables for the same visualization. These grid maps can also be rendered as static by setting the `is_static` parameter." ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -8750,7 +11756,7 @@ " style=\"\n", " border: 1px solid #cfcfcf;\n", " width: 100%;\n", - " height: 800px;;\n", + " height: 400px;;\n", " \"\n", " srcDoc=\"\n", " \n", @@ -9031,52 +12037,6 @@ " \n", " \n", " \n", - "
                                                                                \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                \n", - " \n", - "\n", - "
                                                                                \n", - " "Static\n", - " \n", - "
                                                                                \n", - "
                                                                                \n", - " \n", - "
                                                                                \n", - " \n", - "\n", - "
                                                                                \n", - "
                                                                                \n", - "
                                                                                \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                \n", - " \n", - "\n", - "
                                                                                \n", - " "Static\n", - " \n", - "
                                                                                \n", - "
                                                                                \n", - " \n", - "
                                                                                \n", - " \n", - "\n", - "
                                                                                \n", - "
                                                                                \n", - "
                                                                                \n", - " \n", - "
                                                                                \n", - " \n", " \n", "\n", " \n", @@ -9584,14 +12544,14 @@ " const lat = center.lat.toFixed(6);\n", " const lng = center.lng.toFixed(6);\n", " const zoom = map.getZoom().toFixed(2);\n", - " \n", + "\n", " mapInfo$.innerText = `viewport={'zoom': ${zoom}, 'lat': ${lat}, 'lng': ${lng}}`;\n", " }\n", "\n", " updateMapInfo();\n", "\n", " map.on('zoom', updateMapInfo);\n", - " map.on('move', updateMapInfo); \n", + " map.on('move', updateMapInfo);\n", " }\n", "\n", " function getBasecolorSettings(basecolor) {\n", @@ -9665,7 +12625,7 @@ " }\n", " // Track layers to add only one feature per layer\n", " layerIDs.push(feature.layerId);\n", - " \n", + "\n", " for (const item of attrs) {\n", " const variable = feature.variables[item.name];\n", " if (variable) {\n", @@ -9680,12 +12640,16 @@ " }\n", " }\n", "\n", - " popup\n", - " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", - " .setHTML(`
                                                                                ${popupHTML}
                                                                                `);\n", + " if (popupHTML) {\n", + " popup\n", + " .setLngLat([event.coordinates.lng, event.coordinates.lat])\n", + " .setHTML(`
                                                                                ${popupHTML}
                                                                                `);\n", "\n", - " if (!popup.isOpen()) {\n", - " popup.addTo(map);\n", + " if (!popup.isOpen()) {\n", + " popup.addTo(map);\n", + " }\n", + " } else {\n", + " popup.remove();\n", " }\n", " } else {\n", " popup.remove();\n", @@ -10044,7 +13008,7 @@ " });\n", "\n", " const layerSelector = new AsBridge.VL.Layers(layerSelector$, carto, layersInfo, mapLayers);\n", - " \n", + "\n", " layerSelector.build();\n", " }\n", "\n", @@ -10080,7 +13044,7 @@ "}());\n", "\n", "\n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                                                                \n", + "
                                                                                \n", + "
                                                                                \n", + " \n", + " \n", + "
                                                                                \n", + "
                                                                                \n", + " \n", + "\n", + "
                                                                                \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                                \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                                \n", + " \n", + " \n", + "
                                                                                \n", + "
                                                                                \n", + "
                                                                                \n", + "
                                                                                \n", + " \n", + "
                                                                                \n", + "
                                                                                \n", + "
                                                                                \n", + "\n", + " \n", + "\n", + "
                                                                                \n", + "
                                                                                \n", + " :\n", + "
                                                                                \n", + " \n", + " \n", + "
                                                                                \n", + "
                                                                                \n", + "\n", + "
                                                                                \n", + " StackTrace\n", + "
                                                                                  \n", + "
                                                                                  \n", + "
                                                                                  \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Layer, color_bins_style, popup_element\n", + "\n", + "Layer(\n", + " geo_gdf,\n", + " color_bins_style('gc_status_rel', method='equal', bins=geo_gdf.gc_status_rel.unique().size),\n", + " popup_hover=[popup_element('address', 'Address'), popup_element('gc_status_rel', 'Precision')],\n", + " title='Geocoding Precision'\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Isolines\n", + "\n", + "There are two **Isoline** functions: **isochrones** and **isodistances**. In this guide we will use the **isochrones** function to calculate walking areas _by time_ for each Starbucks store and the **isodistances** function to calculate the walking area _by distance_.\n", + "\n", + "By definition, isolines are concentric polygons that display equally calculated levels over a given surface area, and they are calculated as the intersection areas from the origin point, measured by:\n", + "\n", + "* **Time** in the case of **isochrones**\n", + "* **Distance** in the case of **isodistances**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Isochrones\n", + "\n", + "For isochrones, let's calculate the time ranges of: 5, 15 and 30 min. These ranges are input in `seconds`, so they will be **300**, **900**, and **1800** respectively." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.data.services import Isolines\n", + "\n", + "iso_service = Isolines()\n", + "\n", + "_, isochrones_dry_metadata = iso_service.isochrones(geo_gdf, [300, 900, 1800], mode='walk', dry_run=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Remember to always **check the quota** using `dry_run` parameter and `available_quota` method before running the service!" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "available 115394, required 30\n" + ] + } + ], + "source": [ + "print('available {0}, required {1}'.format(\n", + " iso_service.available_quota(),\n", + " isochrones_dry_metadata.get('required_quota'))\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Success! Isolines created correctly\n" + ] + } + ], + "source": [ + "isochrones_gdf, isochrones_metadata = iso_service.isochrones(geo_gdf, [300, 900, 1800], mode='walk')" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                                  \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                                  source_iddata_rangethe_geom
                                                                                  00300MULTIPOLYGON (((-73.95936 40.67087, -73.95910 ...
                                                                                  10900MULTIPOLYGON (((-73.96743 40.67345, -73.96683 ...
                                                                                  201800MULTIPOLYGON (((-73.97584 40.67499, -73.97558 ...
                                                                                  31300MULTIPOLYGON (((-73.96417 40.57749, -73.96391 ...
                                                                                  41900MULTIPOLYGON (((-73.97035 40.57749, -73.97009 ...
                                                                                  \n", + "
                                                                                  " + ], + "text/plain": [ + " source_id data_range the_geom\n", + "0 0 300 MULTIPOLYGON (((-73.95936 40.67087, -73.95910 ...\n", + "1 0 900 MULTIPOLYGON (((-73.96743 40.67345, -73.96683 ...\n", + "2 0 1800 MULTIPOLYGON (((-73.97584 40.67499, -73.97558 ...\n", + "3 1 300 MULTIPOLYGON (((-73.96417 40.57749, -73.96391 ...\n", + "4 1 900 MULTIPOLYGON (((-73.97035 40.57749, -73.97009 ..." + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "isochrones_gdf.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                                                                  \n", + "
                                                                                  \n", + "
                                                                                  \n", + " \n", + " \n", + "
                                                                                  \n", + "
                                                                                  \n", + " \n", + "\n", + "
                                                                                  \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                                  \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                                  \n", + " \n", + " \n", + "
                                                                                  \n", + "
                                                                                  \n", + "
                                                                                  \n", + "
                                                                                  \n", + " \n", + "
                                                                                  \n", + "
                                                                                  \n", + "
                                                                                  \n", + "\n", + " \n", + "\n", + "
                                                                                  \n", + "
                                                                                  \n", + " :\n", + "
                                                                                  \n", + " \n", + " \n", + "
                                                                                  \n", + "
                                                                                  \n", + "\n", + "
                                                                                  \n", + " StackTrace\n", + "
                                                                                    \n", + "
                                                                                    \n", + "
                                                                                    \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Layer, basic_style, basic_legend\n", + "\n", + "Layer(isochrones_gdf, basic_style(opacity=0.5), basic_legend('Isochrones'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Isodistances\n", + "\n", + "For isodistances, let's calculate the distance ranges of: 100, 500 and 1000 meters. These ranges are input in `meters`, so they will be **100**, **500**, and **1000** respectively." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "_, isodistances_dry_metadata = iso_service.isodistances(geo_gdf, [100, 500, 1000], mode='walk', dry_run=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "available 115364, required 30\n" + ] + } + ], + "source": [ + "print('available {0}, required {1}'.format(\n", + " iso_service.available_quota(),\n", + " isodistances_dry_metadata.get('required_quota'))\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Success! Isolines created correctly\n" + ] + } + ], + "source": [ + "isodistances_gdf, isodistances_metadata = iso_service.isodistances(geo_gdf, [100, 500, 1000], mode='walk')" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
                                                                                    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                                    source_iddata_rangethe_geom
                                                                                    00100MULTIPOLYGON (((-73.95782 40.67139, -73.95721 ...
                                                                                    10500MULTIPOLYGON (((-73.96262 40.67276, -73.96219 ...
                                                                                    201000MULTIPOLYGON (((-73.96880 40.67345, -73.96820 ...
                                                                                    31100MULTIPOLYGON (((-73.96125 40.57800, -73.96065 ...
                                                                                    41500MULTIPOLYGON (((-73.96605 40.57800, -73.96563 ...
                                                                                    \n", + "
                                                                                    " + ], + "text/plain": [ + " source_id data_range the_geom\n", + "0 0 100 MULTIPOLYGON (((-73.95782 40.67139, -73.95721 ...\n", + "1 0 500 MULTIPOLYGON (((-73.96262 40.67276, -73.96219 ...\n", + "2 0 1000 MULTIPOLYGON (((-73.96880 40.67345, -73.96820 ...\n", + "3 1 100 MULTIPOLYGON (((-73.96125 40.57800, -73.96065 ...\n", + "4 1 500 MULTIPOLYGON (((-73.96605 40.57800, -73.96563 ..." + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "isodistances_gdf.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " None\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + "\n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + "\n", + "\n", + " Static map image\n", + " \n", + " \n", + "
                                                                                    \n", + "
                                                                                    \n", + "
                                                                                    \n", + " \n", + " \n", + "
                                                                                    \n", + "
                                                                                    \n", + " \n", + "\n", + "
                                                                                    \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                                    \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                                    \n", + " \n", + " \n", + "
                                                                                    \n", + "
                                                                                    \n", + "
                                                                                    \n", + "
                                                                                    \n", + " \n", + "
                                                                                    \n", + "
                                                                                    \n", + "
                                                                                    \n", + "\n", + " \n", + "\n", + "
                                                                                    \n", + "
                                                                                    \n", + " :\n", + "
                                                                                    \n", + " \n", + " \n", + "
                                                                                    \n", + "
                                                                                    \n", + "\n", + "
                                                                                    \n", + " StackTrace\n", + "
                                                                                      \n", + "
                                                                                      \n", + "
                                                                                      \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\">\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.viz import Layer, basic_style, basic_legend\n", + "\n", + "Layer(isodistances_gdf, basic_style(opacity=0.5), basic_legend('Isodistances'))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/guides/06-Data-discovery.ipynb b/docs/guides/07-Data-Observatory.ipynb similarity index 62% rename from guides/06-Data-discovery.ipynb rename to docs/guides/07-Data-Observatory.ipynb index 85dd3d0ee..e8b73c7a8 100644 --- a/guides/06-Data-discovery.ipynb +++ b/docs/guides/07-Data-Observatory.ipynb @@ -4,277 +4,56 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Data discovery\n", + "## Data Observatory\n", "\n", - "### Introduction\n", + "CARTO's Data Observatory is a spatial data repository that enables data scientists to augment their data and broaden their analyses. It offers thousands of datasets from around the globe.\n", "\n", - "The Data Observatory is a spatial data repository that enables data scientists to augment their data and broaden their analysis. It offers a wide range of datasets from around the globe.\n", - "\n", - "This guide is intended for those who want to start augmenting their own data using CARTOframes and wish to explore CARTO's public Data Observatory catalog to find datasets that best fit their use cases and analyses.\n", - "\n", - "**Note: The catalog is public and you don't need a CARTO account to search for available datasets**" + "This guide is intended for those who want to start augmenting their data using CARTOframes and wish to explore CARTO's public Data Observatory catalog to find datasets that best fit their use cases and analyses.\n", + "You can check also the [Data Observatory examples](/developers/cartoframes/examples/#example-data-observatory)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Find demographic data for the US\n", - "\n", - "In this guide we walk through the Data Observatory catalog looking for demographics data in the US.\n", - "\n", - "The catalog is comprised of thousands of curated spatial datasets, so when searching for data the easiest way to find what you are looking for is to make use of a faceted search. A faceted (or hierarchical) search allows you to narrow down search results by applying multiple filters based on faceted classification of catalog datasets.\n", + "### Data Discovery\n", "\n", - "Datasets are organized in three main hierarchies:\n", + "The catalog is comprised of thousands of curated spatial datasets, so when searching for data the easiest way to find what you are looking for is to make use of a faceted search. A faceted (or hierarchical) search allows you to narrow down search results by applying multiple filters based on the faceted classification of catalog datasets.\n", "\n", - "- Country\n", - "- Category\n", - "- Geography (or spatial resolution)\n", + "Datasets are organized in these main hierarchies: country, category, provider and geography (or spatial resolution).\n", "\n", - "For our analysis we are looking for demographic datasets in the US with a spatial resolution at the block group level.\n", - "\n", - "We can start by discovering which available geographies (or spatial resolutions) we have for demographic data in the US, by filtering the `catalog` by `country` and `category` and listing the available `geographies`.\n", - "\n", - "Let's start exploring the available categories of data for the US:" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ]" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.data.observatory import Catalog\n", - "Catalog().country('usa').categories" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For the case of the US, the Data Observatory provides six different categories of datasets. Let's discover the available spatial resolutions for the demographics category (which at a first sight will contain the population data we need)." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ]" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.data.observatory import Catalog\n", - "geographies = Catalog().country('usa').category('demographics').geographies\n", - "geographies" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's filter the geographies by those that contain information at the level of blockgroup. For that purpose we are converting the geographies to a pandas `DataFrame` and search for the string `blockgroup` in the `id` of the geographies:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                      slugnamedescriptioncountry_idprovider_idgeom_typegeom_coverageupdate_frequencyis_public_datalangversionprovider_nameid
                                                                                      0mbi_blockgroups_535aed6dBlockgroups - United States of AmericaMBI Digital Boundaries for USA at Blockgroups ...usambiMULTIPOLYGONNoneyearlyFalseeng2020Michael Bauer Internationalcarto-do.mbi.geography_usa_blockgroups_2020
                                                                                      4cdb_blockgroup_7753dd51Census Block Group - United States of AmericaShoreline clipped TIGER/Line boundaries. More ...usacartoMULTIPOLYGONNoneNoneTrueeng2015CARTOcarto-do-public-data.carto.geography_usa_block...
                                                                                      \n", - "
                                                                                      " - ], - "text/plain": [ - " slug name \\\n", - "0 mbi_blockgroups_535aed6d Blockgroups - United States of America \n", - "4 cdb_blockgroup_7753dd51 Census Block Group - United States of America \n", - "\n", - " description country_id provider_id \\\n", - "0 MBI Digital Boundaries for USA at Blockgroups ... usa mbi \n", - "4 Shoreline clipped TIGER/Line boundaries. More ... usa carto \n", - "\n", - " geom_type geom_coverage update_frequency is_public_data lang version \\\n", - "0 MULTIPOLYGON None yearly False eng 2020 \n", - "4 MULTIPOLYGON None None True eng 2015 \n", - "\n", - " provider_name \\\n", - "0 Michael Bauer International \n", - "4 CARTO \n", - "\n", - " id \n", - "0 carto-do.mbi.geography_usa_blockgroups_2020 \n", - "4 carto-do-public-data.carto.geography_usa_block... " - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df = geographies.to_dataframe()\n", - "df[df['id'].str.contains('blockgroup', case=False, na=False)]" + "> The catalog is public and you don't need a CARTO account to search for available datasets. You can access our web catalog here: [https://carto.com/spatial-data-catalog](https://carto.com/spatial-data-catalog)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We have three available datasets, from three different providers: Michael Bauer International, Open Data and AGS. For this example, we are going to look for demographic datasets for the MBI blockgroups geography `mbi_blockgroups_535aed6d`:" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ]" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "datasets = Catalog().country('usa').category('demographics').geography('mbi_blockgroups_535aed6d').datasets\n", - "datasets" + "The catalog can also be explored directly from CARTOframes. For more information check the [discovery example](/developers/cartoframes/examples/#example-discover-a-dataset)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Let's continue with the data discovery. We have 6 datasets in the US with demographics information at the level of MBI blockgroups:" + "#### Dataset and variables metadata\n", + "\n", + "The Data Observatory catalog is not only a repository of curated spatial datasets, it also contains valuable information that helps better understand the underlying data for every dataset so you can make an informed decision on what data best fits your problem.\n", + "\n", + "Some of the augmented metadata you can find for each dataset in the catalog is:\n", + "\n", + "- `head` and `tail` methods to get a glimpse of the actual data. This helps you to understand the available columns, data types, etc., to start modelling your problem right away.\n", + "- `geom_coverage` to visualize on a map the geographical coverage of the data in the `Dataset`.\n", + "- `counts`, `fields_by_type` and a full `describe` method with stats of the actual values in the dataset, such as: average, stdev, quantiles, min, max, median for each of the variables of the dataset.\n", + "\n", + "You don't need a subscription to a dataset to be able to query the augmented metadata, it's publicly available for anyone exploring the Data Observatory catalog.\n", + "\n", + "Let's review some of that information, starting by getting a glimpse of the ten first or last rows of the actual data of the dataset:" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 1, "metadata": {}, "outputs": [ { @@ -298,2046 +77,505 @@ " \n", " \n", " \n", - " slug\n", - " name\n", - " description\n", - " category_id\n", - " country_id\n", - " data_source_id\n", - " provider_id\n", - " geography_name\n", - " geography_description\n", - " temporal_aggregation\n", - " time_coverage\n", - " update_frequency\n", - " is_public_data\n", - " lang\n", - " version\n", - " category_name\n", - " provider_name\n", - " geography_id\n", - " id\n", + " DWLCY\n", + " DWLPY\n", + " HHDCY\n", + " HHDPY\n", + " POPCY\n", + " POPPY\n", + " geoid\n", + " VPHCY1\n", + " do_date\n", + " AGECYMED\n", + " ...\n", + " MARCYDIVOR\n", + " MARCYNEVER\n", + " MARCYWIDOW\n", + " RCHCYAMNHS\n", + " RCHCYASNHS\n", + " RCHCYBLNHS\n", + " RCHCYHANHS\n", + " RCHCYMUNHS\n", + " RCHCYOTNHS\n", + " RCHCYWHNHS\n", " \n", " \n", " \n", " \n", " 0\n", - " mbi_consumer_sp_fdc16f97\n", - " Consumer Spending - United States of America (...\n", - " MBI Consumer Spending by product groups quanti...\n", - " demographics\n", - " usa\n", - " consumer_spending\n", - " mbi\n", - " Blockgroups - United States of America\n", - " MBI Digital Boundaries for USA at Blockgroups ...\n", - " yearly\n", - " [2019-01-01, 2020-01-01)\n", - " yearly\n", - " False\n", - " eng\n", - " 2020\n", - " Demographics\n", - " Michael Bauer International\n", - " carto-do.mbi.geography_usa_blockgroups_2020\n", - " carto-do.mbi.demographics_consumerspending_usa...\n", + " 1057\n", + " 1112\n", + " 932\n", + " 986\n", + " 1500\n", + " 1648\n", + " 040130405071\n", + " 442\n", + " 2020-01-01 00:00:00+00:00\n", + " 77.40\n", + " ...\n", + " 149\n", + " 4\n", + " 228\n", + " 0\n", + " 11\n", + " 20\n", + " 0\n", + " 25\n", + " 0\n", + " 1317\n", " \n", " \n", " 1\n", - " mbi_households__ec03bf40\n", - " Households By Type - United States of America ...\n", - " Distribution of the households in an area by t...\n", - " demographics\n", - " usa\n", - " households_by_type\n", - " mbi\n", - " Blockgroups - United States of America\n", - " MBI Digital Boundaries for USA at Blockgroups ...\n", - " yearly\n", - " [2019-01-01, 2020-01-01)\n", - " yearly\n", - " False\n", - " eng\n", - " 2020\n", - " Demographics\n", - " Michael Bauer International\n", - " carto-do.mbi.geography_usa_blockgroups_2020\n", - " carto-do.mbi.demographics_householdsbytype_usa...\n", + " 1964\n", + " 2069\n", + " 1774\n", + " 1877\n", + " 2595\n", + " 2868\n", + " 040130405072\n", + " 1049\n", + " 2020-01-01 00:00:00+00:00\n", + " 76.88\n", + " ...\n", + " 414\n", + " 160\n", + " 699\n", + " 0\n", + " 74\n", + " 68\n", + " 7\n", + " 55\n", + " 0\n", + " 2167\n", " \n", " \n", " 2\n", - " mbi_sociodemogr_1c54ac66\n", - " Sociodemographics - United States of America (...\n", - " MBI Sociodemographics includes:\\n- Population\\...\n", - " demographics\n", - " usa\n", - " sociodemographics\n", - " mbi\n", - " Blockgroups - United States of America\n", - " MBI Digital Boundaries for USA at Blockgroups ...\n", - " yearly\n", - " [2019-01-01, 2020-01-01)\n", - " yearly\n", - " False\n", - " eng\n", - " 2020\n", - " Demographics\n", - " Michael Bauer International\n", - " carto-do.mbi.geography_usa_blockgroups_2020\n", - " carto-do.mbi.demographics_sociodemographics_us...\n", + " 1049\n", + " 1101\n", + " 897\n", + " 933\n", + " 1585\n", + " 1716\n", + " 040130610182\n", + " 460\n", + " 2020-01-01 00:00:00+00:00\n", + " 69.88\n", + " ...\n", + " 31\n", + " 217\n", + " 246\n", + " 2\n", + " 55\n", + " 43\n", + " 9\n", + " 26\n", + " 0\n", + " 1313\n", " \n", " \n", " 3\n", - " mbi_purchasing__faaee3c9\n", - " Purchasing Power - United States of America (B...\n", - " Purchasing Power describes the disposable inco...\n", - " demographics\n", - " usa\n", - " purchasing_power\n", - " mbi\n", - " Blockgroups - United States of America\n", - " MBI Digital Boundaries for USA at Blockgroups ...\n", - " yearly\n", - " [2019-01-01, 2020-01-01)\n", - " yearly\n", - " False\n", - " eng\n", - " 2020\n", - " Demographics\n", - " Michael Bauer International\n", - " carto-do.mbi.geography_usa_blockgroups_2020\n", - " carto-do.mbi.demographics_purchasingpower_usa_...\n", + " 1084\n", + " 1137\n", + " 910\n", + " 940\n", + " 1503\n", + " 1616\n", + " 040138175002\n", + " 392\n", + " 2020-01-01 00:00:00+00:00\n", + " 71.44\n", + " ...\n", + " 191\n", + " 79\n", + " 268\n", + " 8\n", + " 24\n", + " 38\n", + " 0\n", + " 8\n", + " 0\n", + " 1290\n", " \n", " \n", " 4\n", - " mbi_population_9d1b276f\n", - " Population - United States of America (Blockgr...\n", - " Population figures are shown as projected aver...\n", - " demographics\n", - " usa\n", - " population\n", - " mbi\n", - " Blockgroups - United States of America\n", - " MBI Digital Boundaries for USA at Blockgroups ...\n", - " yearly\n", - " [2019-01-01, 2020-01-01)\n", - " yearly\n", - " False\n", - " eng\n", - " 2020\n", - " Demographics\n", - " Michael Bauer International\n", - " carto-do.mbi.geography_usa_blockgroups_2020\n", - " carto-do.mbi.demographics_population_usa_block...\n", - " \n", - " \n", + " 682\n", + " 706\n", + " 574\n", + " 591\n", + " 980\n", + " 1039\n", + " 040190043241\n", + " 244\n", + " 2020-01-01 00:00:00+00:00\n", + " 72.38\n", + " ...\n", + " 30\n", + " 44\n", + " 195\n", + " 3\n", + " 9\n", + " 0\n", + " 0\n", + " 0\n", + " 0\n", + " 902\n", + " \n", + " \n", " 5\n", - " mbi_retail_spen_6a1acff4\n", - " Retail Spending - United States of America (Bl...\n", - " Retail Spending relates to the proportion of P...\n", - " demographics\n", - " usa\n", - " retail_spending\n", - " mbi\n", - " Blockgroups - United States of America\n", - " MBI Digital Boundaries for USA at Blockgroups ...\n", - " yearly\n", - " [2019-01-01, 2020-01-01)\n", - " yearly\n", - " False\n", - " eng\n", - " 2020\n", - " Demographics\n", - " Michael Bauer International\n", - " carto-do.mbi.geography_usa_blockgroups_2020\n", - " carto-do.mbi.demographics_retailspending_usa_b...\n", + " 880\n", + " 910\n", + " 840\n", + " 869\n", + " 1249\n", + " 1284\n", + " 060133511032\n", + " 539\n", + " 2020-01-01 00:00:00+00:00\n", + " 76.75\n", + " ...\n", + " 160\n", + " 40\n", + " 319\n", + " 0\n", + " 136\n", + " 19\n", + " 2\n", + " 12\n", + " 5\n", + " 1024\n", " \n", " \n", " 6\n", - " mbi_consumer_pr_c1d4e20e\n", - " Consumer Profiles - United States of America (...\n", - " The MB International Consumer Styles describe ...\n", - " demographics\n", - " usa\n", - " consumer_profiles\n", - " mbi\n", - " Blockgroups - United States of America\n", - " MBI Digital Boundaries for USA at Blockgroups ...\n", - " yearly\n", - " [2019-01-01, 2020-01-01)\n", - " yearly\n", - " False\n", - " eng\n", - " 2020\n", - " Demographics\n", - " Michael Bauer International\n", - " carto-do.mbi.geography_usa_blockgroups_2020\n", - " carto-do.mbi.demographics_consumerprofiles_usa...\n", + " 1467\n", + " 1534\n", + " 1314\n", + " 1467\n", + " 1658\n", + " 1800\n", + " 060590995101\n", + " 831\n", + " 2020-01-01 00:00:00+00:00\n", + " 74.58\n", + " ...\n", + " 423\n", + " 136\n", + " 496\n", + " 3\n", + " 226\n", + " 10\n", + " 1\n", + " 16\n", + " 0\n", + " 1269\n", " \n", " \n", " 7\n", - " mbi_households__60466314\n", - " Households By Income Quintiles - United States...\n", - " On the national level the number of households...\n", - " demographics\n", - " usa\n", - " households_by_income_quintiles\n", - " mbi\n", - " Blockgroups - United States of America\n", - " MBI Digital Boundaries for USA at Blockgroups ...\n", - " yearly\n", - " [2019-01-01, 2020-01-01)\n", - " yearly\n", - " False\n", - " eng\n", - " 2020\n", - " Demographics\n", - " Michael Bauer International\n", - " carto-do.mbi.geography_usa_blockgroups_2020\n", - " carto-do.mbi.demographics_householdsbyincomequ...\n", + " 704\n", + " 753\n", + " 693\n", + " 730\n", + " 1078\n", + " 1176\n", + " 060610210391\n", + " 338\n", + " 2020-01-01 00:00:00+00:00\n", + " 73.86\n", + " ...\n", + " 117\n", + " 63\n", + " 215\n", + " 5\n", + " 33\n", + " 7\n", + " 0\n", + " 9\n", + " 0\n", + " 986\n", " \n", " \n", " 8\n", - " mbi_education_8903fc2c\n", - " Education - United States of America (Blockgro...\n", - " Distribution of the population in an area by t...\n", - " demographics\n", - " usa\n", - " education\n", - " mbi\n", - " Blockgroups - United States of America\n", - " MBI Digital Boundaries for USA at Blockgroups ...\n", - " yearly\n", - " [2019-01-01, 2020-01-01)\n", - " yearly\n", - " False\n", - " eng\n", - " 2020\n", - " Demographics\n", - " Michael Bauer International\n", - " carto-do.mbi.geography_usa_blockgroups_2020\n", - " carto-do.mbi.demographics_education_usa_blockg...\n", + " 1582\n", + " 1691\n", + " 1553\n", + " 1650\n", + " 2540\n", + " 2795\n", + " 060610236001\n", + " 818\n", + " 2020-01-01 00:00:00+00:00\n", + " 68.80\n", + " ...\n", + " 406\n", + " 45\n", + " 301\n", + " 5\n", + " 168\n", + " 26\n", + " 3\n", + " 19\n", + " 0\n", + " 2183\n", + " \n", + " \n", + " 9\n", + " 1186\n", + " 1268\n", + " 1163\n", + " 1234\n", + " 1980\n", + " 2176\n", + " 060610236002\n", + " 415\n", + " 2020-01-01 00:00:00+00:00\n", + " 68.59\n", + " ...\n", + " 253\n", + " 60\n", + " 223\n", + " 5\n", + " 97\n", + " 22\n", + " 1\n", + " 10\n", + " 0\n", + " 1750\n", " \n", " \n", "\n", + "

                                                                                      10 rows × 110 columns

                                                                                      \n", "" ], "text/plain": [ - " slug \\\n", - "0 mbi_consumer_sp_fdc16f97 \n", - "1 mbi_households__ec03bf40 \n", - "2 mbi_sociodemogr_1c54ac66 \n", - "3 mbi_purchasing__faaee3c9 \n", - "4 mbi_population_9d1b276f \n", - "5 mbi_retail_spen_6a1acff4 \n", - "6 mbi_consumer_pr_c1d4e20e \n", - "7 mbi_households__60466314 \n", - "8 mbi_education_8903fc2c \n", - "\n", - " name \\\n", - "0 Consumer Spending - United States of America (... \n", - "1 Households By Type - United States of America ... \n", - "2 Sociodemographics - United States of America (... \n", - "3 Purchasing Power - United States of America (B... \n", - "4 Population - United States of America (Blockgr... \n", - "5 Retail Spending - United States of America (Bl... \n", - "6 Consumer Profiles - United States of America (... \n", - "7 Households By Income Quintiles - United States... \n", - "8 Education - United States of America (Blockgro... \n", - "\n", - " description category_id country_id \\\n", - "0 MBI Consumer Spending by product groups quanti... demographics usa \n", - "1 Distribution of the households in an area by t... demographics usa \n", - "2 MBI Sociodemographics includes:\\n- Population\\... demographics usa \n", - "3 Purchasing Power describes the disposable inco... demographics usa \n", - "4 Population figures are shown as projected aver... demographics usa \n", - "5 Retail Spending relates to the proportion of P... demographics usa \n", - "6 The MB International Consumer Styles describe ... demographics usa \n", - "7 On the national level the number of households... demographics usa \n", - "8 Distribution of the population in an area by t... demographics usa \n", - "\n", - " data_source_id provider_id \\\n", - "0 consumer_spending mbi \n", - "1 households_by_type mbi \n", - "2 sociodemographics mbi \n", - "3 purchasing_power mbi \n", - "4 population mbi \n", - "5 retail_spending mbi \n", - "6 consumer_profiles mbi \n", - "7 households_by_income_quintiles mbi \n", - "8 education mbi \n", - "\n", - " geography_name \\\n", - "0 Blockgroups - United States of America \n", - "1 Blockgroups - United States of America \n", - "2 Blockgroups - United States of America \n", - "3 Blockgroups - United States of America \n", - "4 Blockgroups - United States of America \n", - "5 Blockgroups - United States of America \n", - "6 Blockgroups - United States of America \n", - "7 Blockgroups - United States of America \n", - "8 Blockgroups - United States of America \n", - "\n", - " geography_description temporal_aggregation \\\n", - "0 MBI Digital Boundaries for USA at Blockgroups ... yearly \n", - "1 MBI Digital Boundaries for USA at Blockgroups ... yearly \n", - "2 MBI Digital Boundaries for USA at Blockgroups ... yearly \n", - "3 MBI Digital Boundaries for USA at Blockgroups ... yearly \n", - "4 MBI Digital Boundaries for USA at Blockgroups ... yearly \n", - "5 MBI Digital Boundaries for USA at Blockgroups ... yearly \n", - "6 MBI Digital Boundaries for USA at Blockgroups ... yearly \n", - "7 MBI Digital Boundaries for USA at Blockgroups ... yearly \n", - "8 MBI Digital Boundaries for USA at Blockgroups ... yearly \n", - "\n", - " time_coverage update_frequency is_public_data lang version \\\n", - "0 [2019-01-01, 2020-01-01) yearly False eng 2020 \n", - "1 [2019-01-01, 2020-01-01) yearly False eng 2020 \n", - "2 [2019-01-01, 2020-01-01) yearly False eng 2020 \n", - "3 [2019-01-01, 2020-01-01) yearly False eng 2020 \n", - "4 [2019-01-01, 2020-01-01) yearly False eng 2020 \n", - "5 [2019-01-01, 2020-01-01) yearly False eng 2020 \n", - "6 [2019-01-01, 2020-01-01) yearly False eng 2020 \n", - "7 [2019-01-01, 2020-01-01) yearly False eng 2020 \n", - "8 [2019-01-01, 2020-01-01) yearly False eng 2020 \n", - "\n", - " category_name provider_name \\\n", - "0 Demographics Michael Bauer International \n", - "1 Demographics Michael Bauer International \n", - "2 Demographics Michael Bauer International \n", - "3 Demographics Michael Bauer International \n", - "4 Demographics Michael Bauer International \n", - "5 Demographics Michael Bauer International \n", - "6 Demographics Michael Bauer International \n", - "7 Demographics Michael Bauer International \n", - "8 Demographics Michael Bauer International \n", - "\n", - " geography_id \\\n", - "0 carto-do.mbi.geography_usa_blockgroups_2020 \n", - "1 carto-do.mbi.geography_usa_blockgroups_2020 \n", - "2 carto-do.mbi.geography_usa_blockgroups_2020 \n", - "3 carto-do.mbi.geography_usa_blockgroups_2020 \n", - "4 carto-do.mbi.geography_usa_blockgroups_2020 \n", - "5 carto-do.mbi.geography_usa_blockgroups_2020 \n", - "6 carto-do.mbi.geography_usa_blockgroups_2020 \n", - "7 carto-do.mbi.geography_usa_blockgroups_2020 \n", - "8 carto-do.mbi.geography_usa_blockgroups_2020 \n", - "\n", - " id \n", - "0 carto-do.mbi.demographics_consumerspending_usa... \n", - "1 carto-do.mbi.demographics_householdsbytype_usa... \n", - "2 carto-do.mbi.demographics_sociodemographics_us... \n", - "3 carto-do.mbi.demographics_purchasingpower_usa_... \n", - "4 carto-do.mbi.demographics_population_usa_block... \n", - "5 carto-do.mbi.demographics_retailspending_usa_b... \n", - "6 carto-do.mbi.demographics_consumerprofiles_usa... \n", - "7 carto-do.mbi.demographics_householdsbyincomequ... \n", - "8 carto-do.mbi.demographics_education_usa_blockg... " + " DWLCY DWLPY HHDCY HHDPY POPCY POPPY geoid VPHCY1 \\\n", + "0 1057 1112 932 986 1500 1648 040130405071 442 \n", + "1 1964 2069 1774 1877 2595 2868 040130405072 1049 \n", + "2 1049 1101 897 933 1585 1716 040130610182 460 \n", + "3 1084 1137 910 940 1503 1616 040138175002 392 \n", + "4 682 706 574 591 980 1039 040190043241 244 \n", + "5 880 910 840 869 1249 1284 060133511032 539 \n", + "6 1467 1534 1314 1467 1658 1800 060590995101 831 \n", + "7 704 753 693 730 1078 1176 060610210391 338 \n", + "8 1582 1691 1553 1650 2540 2795 060610236001 818 \n", + "9 1186 1268 1163 1234 1980 2176 060610236002 415 \n", + "\n", + " do_date AGECYMED ... MARCYDIVOR MARCYNEVER \\\n", + "0 2020-01-01 00:00:00+00:00 77.40 ... 149 4 \n", + "1 2020-01-01 00:00:00+00:00 76.88 ... 414 160 \n", + "2 2020-01-01 00:00:00+00:00 69.88 ... 31 217 \n", + "3 2020-01-01 00:00:00+00:00 71.44 ... 191 79 \n", + "4 2020-01-01 00:00:00+00:00 72.38 ... 30 44 \n", + "5 2020-01-01 00:00:00+00:00 76.75 ... 160 40 \n", + "6 2020-01-01 00:00:00+00:00 74.58 ... 423 136 \n", + "7 2020-01-01 00:00:00+00:00 73.86 ... 117 63 \n", + "8 2020-01-01 00:00:00+00:00 68.80 ... 406 45 \n", + "9 2020-01-01 00:00:00+00:00 68.59 ... 253 60 \n", + "\n", + " MARCYWIDOW RCHCYAMNHS RCHCYASNHS RCHCYBLNHS RCHCYHANHS RCHCYMUNHS \\\n", + "0 228 0 11 20 0 25 \n", + "1 699 0 74 68 7 55 \n", + "2 246 2 55 43 9 26 \n", + "3 268 8 24 38 0 8 \n", + "4 195 3 9 0 0 0 \n", + "5 319 0 136 19 2 12 \n", + "6 496 3 226 10 1 16 \n", + "7 215 5 33 7 0 9 \n", + "8 301 5 168 26 3 19 \n", + "9 223 5 97 22 1 10 \n", + "\n", + " RCHCYOTNHS RCHCYWHNHS \n", + "0 0 1317 \n", + "1 0 2167 \n", + "2 0 1313 \n", + "3 0 1290 \n", + "4 0 902 \n", + "5 5 1024 \n", + "6 0 1269 \n", + "7 0 986 \n", + "8 0 2183 \n", + "9 0 1750 \n", + "\n", + "[10 rows x 110 columns]" ] }, - "execution_count": 5, + "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "datasets.to_dataframe()" + "from cartoframes.data.observatory import Dataset\n", + "\n", + "dataset = Dataset.get('ags_sociodemogr_a7e14220')\n", + "dataset.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "They comprise different information: consumer spending, retail potential, consumer profiles, etc.\n", - "\n", - "At a first sight, it looks the dataset with `data_source_id: sociodemographic` might contain the population information we are looking for. Let's try to understand a little bit better what data this dataset contains by looking at its variables:" + "Alternatively, you can get the last ten ones with `dataset.tail()`" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "An overview of the coverage of the dataset" ] }, { "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[ #'Geographic Identifier',\n", - " #'Population (2019A)',\n", - " #'Population in Group Quarters (2019A)',\n", - " #'Institutional Group Quarters Population (2019A)',\n", - " #'Population age 0-4 (2019A)',\n", - " #'Population age 5-9 (2019A)',\n", - " #'Population age 10-14 (2019A)',\n", - " #'Population age 15-19 (2019A)',\n", - " #'Population age 20-24 (2019A)',\n", - " #'Population age 25-29 (2019A)',\n", - " #'Population age 30-34 (2019A)',\n", - " #'Population age 35-39 (2019A)',\n", - " #'Population age 40-44 (2019A)',\n", - " #'Population age 45-49 (2019A)',\n", - " #'Population age 50-54 (2019A)',\n", - " #'Population age 55-59 (2019A)',\n", - " #'Population age 60-64 (2019A)',\n", - " #'Population age 65-69 (2019A)',\n", - " #'Population age 70-74 (2019A)',\n", - " #'Population age 75-79 (2019A)',\n", - " #'Population age 80-84 (2019A)',\n", - " #'Population age 85+ (2019A)',\n", - " #'Median Age (2019A)',\n", - " #'Population male (2019A)',\n", - " #'Population female (2019A)',\n", - " #'Non Hispanic White (2019A)',\n", - " #'Non Hispanic Black (2019A)',\n", - " #'Non Hispanic American Indian (2019A)',\n", - " #'Non Hispanic Asian (2019A)',\n", - " #'Non Hispanic Hawaiian/Pacific Islander (2019A)',\n", - " #'Non Hispanic Other Race (2019A)',\n", - " #'Non Hispanic Multiple Race (2019A)',\n", - " #'Population Hispanic (2019A)',\n", - " #'Never Married (2019A)',\n", - " #'Now Married (2019A)',\n", - " #'Separated (2019A)',\n", - " #'Widowed (2019A)',\n", - " #'Divorced (2019A)',\n", - " #'Population Age 15+ (2019A)',\n", - " #'Pop 25+ less than 9th grade (2019A)',\n", - " #'Pop 25+ 9th-12th grade no diploma (2019A)',\n", - " #'Pop 25+ HS graduate (2019A)',\n", - " #'Pop 25+ college no diploma (2019A)',\n", - " #'Pop 25+ Associate degree (2019A)',\n", - " #'Pop 25+ Bachelor's degree (2019A)',\n", - " #'Pop 25+ graduate or prof school degree (2019A)',\n", - " #'Population Age 25+ (2019A)',\n", - " #'Households (2019A)',\n", - " #'Family Households (2019A)',\n", - " #'Families married couple w children (2019A)',\n", - " #'Families male no wife w children (2019A)',\n", - " #'Families female no husband children (2019A)',\n", - " #'Average Household Size (2019A)',\n", - " #'Median Age of Householder (2019A)',\n", - " #'Households: No Vehicle Available (2019A)',\n", - " #'Households: One Vehicle Available (2019A)',\n", - " #'Households: Two or More Vehicles Available (2019A)',\n", - " #'Per capita income (2019A)',\n", - " #'Average household Income (2019A)',\n", - " #'Median household income (2019A)',\n", - " #'Median family income (2019A)',\n", - " #'Household Income < $10000 (2019A)',\n", - " #'Household Income $10000-$14999 (2019A)',\n", - " #'Household Income $15000-$19999 (2019A)',\n", - " #'Household Income $20000-$24999 (2019A)',\n", - " #'Household Income $25000-$29999 (2019A)',\n", - " #'Household Income $30000-$34999 (2019A)',\n", - " #'Household Income $35000-$39999 (2019A)',\n", - " #'Household Income $40000-$44999 (2019A)',\n", - " #'Household Income $45000-$49999 (2019A)',\n", - " #'Household Income $50000-$59999 (2019A)',\n", - " #'Household Income $60000-$74999 (2019A)',\n", - " #'Household Income $75000-$99999 (2019A)',\n", - " #'Household Income $100000-$124999 (2019A)',\n", - " #'Household Income $125000-$149999 (2019A)',\n", - " #'Household Income $150000-$199999 (2019A)',\n", - " #'Household Income > $200000 (2019A)',\n", - " #'Median Household Income: Age < 25 (2019A)',\n", - " #'Median Household Income: Age 25-34 (2019A)',\n", - " #'Median Household Income: Age 35-44 (2019A)',\n", - " #'Median Household Income: Age 45-54 (2019A)',\n", - " #'Median Household Income: Age 55-64 (2019A)',\n", - " #'Median Household Income: Age 65-74 (2019A)',\n", - " #'Median Household Income: Age 75+ (2019A)',\n", - " #'Population Age 16+ (2019A)',\n", - " #'Pop 16+ in Armed Forces (2019A)',\n", - " #'Pop 16+ civilian employed (2019A)',\n", - " #'Pop 16+ civilian unemployed (2019A)',\n", - " #'Pop 16+ not in labor force (2019A)',\n", - " #'Unemployment Rate (2019A)',\n", - " #'Population In Labor Force (2019A)',\n", - " #'SPANISH SPEAKING HOUSEHOLDS',\n", - " #'LINGUISTICALLY ISOLATED HOUSEHOLDS (NON-ENGLISH SP...',\n", - " #'Median Value of Owner Occupied Housing Units',\n", - " #'Median Cash Rent',\n", - " #'UNITS IN STRUCTURE: 1 DETACHED',\n", - " #'UNITS IN STRUCTURE: 20 OR MORE',\n", - " #'Housing units (2019A)',\n", - " #'Housing units vacant (2019A)',\n", - " #'Occupied units renter (2019A)',\n", - " #'Occupied units owner (2019A)',\n", - " #'Population (2024A)',\n", - " #'Households (2024A)',\n", - " #'Housing units (2024A)',\n", - " #'Median Age (2024A)',\n", - " #'Per capita income (2024A)',\n", - " #'Average household Income (2024A)',\n", - " #'Median household income (2024A)']" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.data.observatory import Dataset\n", - "dataset = Dataset.get('ags_sociodemogr_a7e14220')\n", - "variables = dataset.variables\n", - "variables" - ] - }, - { - "cell_type": "code", - "execution_count": 7, + "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "
                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                      slugnamedescriptiondb_typeagg_methodcolumn_namevariable_group_iddataset_idid
                                                                                      0BLOCKGROUP_30e525a6BLOCKGROUPGeographic IdentifierSTRINGNoneBLOCKGROUPNonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      1POPCY_4534fac4Total PopulationPopulation (2019A)INTEGERSUMPOPCYNonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      2POPCYGRP_3033ef2ePOPCYGRPPopulation in Group Quarters (2019A)INTEGERSUMPOPCYGRPNonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      3POPCYGRPI_1e42899POPCYGRPIInstitutional Group Quarters Population (2019A)INTEGERSUMPOPCYGRPINonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      4AGECY0004_aaae373aAGECY0004Population age 0-4 (2019A)INTEGERSUMAGECY0004carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      ..............................
                                                                                      103DWLPY_312aaf70Number of household unitsHousing units (2024A)INTEGERSUMDWLPYNonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      104AGEPYMED_d5583bbbAGEPYMEDMedian Age (2024A)FLOATAVGAGEPYMEDcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      105INCPYPCAP_f9c107faINCPYPCAPPer capita income (2024A)FLOATAVGINCPYPCAPcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      106INCPYAVEHH_48c1d530INCPYAVEHHAverage household Income (2024A)FLOATAVGINCPYAVEHHcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      107INCPYMEDHH_ce5faa77INCPYMEDHHMedian household income (2024A)FLOATAVGINCPYMEDHHcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      \n", - "

                                                                                      108 rows × 9 columns

                                                                                      \n", - "
                                                                                      " - ], - "text/plain": [ - " slug name \\\n", - "0 BLOCKGROUP_30e525a6 BLOCKGROUP \n", - "1 POPCY_4534fac4 Total Population \n", - "2 POPCYGRP_3033ef2e POPCYGRP \n", - "3 POPCYGRPI_1e42899 POPCYGRPI \n", - "4 AGECY0004_aaae373a AGECY0004 \n", - ".. ... ... \n", - "103 DWLPY_312aaf70 Number of household units \n", - "104 AGEPYMED_d5583bbb AGEPYMED \n", - "105 INCPYPCAP_f9c107fa INCPYPCAP \n", - "106 INCPYAVEHH_48c1d530 INCPYAVEHH \n", - "107 INCPYMEDHH_ce5faa77 INCPYMEDHH \n", + " \n", "\n", - " description db_type agg_method \\\n", - "0 Geographic Identifier STRING None \n", - "1 Population (2019A) INTEGER SUM \n", - "2 Population in Group Quarters (2019A) INTEGER SUM \n", - "3 Institutional Group Quarters Population (2019A) INTEGER SUM \n", - "4 Population age 0-4 (2019A) INTEGER SUM \n", - ".. ... ... ... \n", - "103 Housing units (2024A) INTEGER SUM \n", - "104 Median Age (2024A) FLOAT AVG \n", - "105 Per capita income (2024A) FLOAT AVG \n", - "106 Average household Income (2024A) FLOAT AVG \n", - "107 Median household income (2024A) FLOAT AVG \n", + " \n", "\n", - " column_name variable_group_id \\\n", - "0 BLOCKGROUP None \n", - "1 POPCY None \n", - "2 POPCYGRP None \n", - "3 POPCYGRPI None \n", - "4 AGECY0004 carto-do.ags.demographics_sociodemographics_us... \n", - ".. ... ... \n", - "103 DWLPY None \n", - "104 AGEPYMED carto-do.ags.demographics_sociodemographics_us... \n", - "105 INCPYPCAP carto-do.ags.demographics_sociodemographics_us... \n", - "106 INCPYAVEHH carto-do.ags.demographics_sociodemographics_us... \n", - "107 INCPYMEDHH carto-do.ags.demographics_sociodemographics_us... \n", + " \n", + " \n", + " \n", + " \n", + " \n", "\n", - " dataset_id \\\n", - "0 carto-do.ags.demographics_sociodemographics_us... \n", - "1 carto-do.ags.demographics_sociodemographics_us... \n", - "2 carto-do.ags.demographics_sociodemographics_us... \n", - "3 carto-do.ags.demographics_sociodemographics_us... \n", - "4 carto-do.ags.demographics_sociodemographics_us... \n", - ".. ... \n", - "103 carto-do.ags.demographics_sociodemographics_us... \n", - "104 carto-do.ags.demographics_sociodemographics_us... \n", - "105 carto-do.ags.demographics_sociodemographics_us... \n", - "106 carto-do.ags.demographics_sociodemographics_us... \n", - "107 carto-do.ags.demographics_sociodemographics_us... \n", + " \n", + " \n", + " \n", + " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                      slugnamedescriptiondb_typeagg_methodcolumn_namevariable_group_iddataset_idid
                                                                                      1POPCY_4534fac4Total PopulationPopulation (2019A)INTEGERSUMPOPCYNonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      2POPCYGRP_3033ef2ePOPCYGRPPopulation in Group Quarters (2019A)INTEGERSUMPOPCYGRPNonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      3POPCYGRPI_1e42899POPCYGRPIInstitutional Group Quarters Population (2019A)INTEGERSUMPOPCYGRPINonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      4AGECY0004_aaae373aAGECY0004Population age 0-4 (2019A)INTEGERSUMAGECY0004carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      5AGECY0509_d2d4896cAGECY0509Population age 5-9 (2019A)INTEGERSUMAGECY0509carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      6AGECY1014_b09611eAGECY1014Population age 10-14 (2019A)INTEGERSUMAGECY1014carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      7AGECY1519_7373df48AGECY1519Population age 15-19 (2019A)INTEGERSUMAGECY1519carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      8AGECY2024_32919d33AGECY2024Population age 20-24 (2019A)INTEGERSUMAGECY2024carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      9AGECY2529_4aeb2365AGECY2529Population age 25-29 (2019A)INTEGERSUMAGECY2529carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      10AGECY3034_9336cb17AGECY3034Population age 30-34 (2019A)INTEGERSUMAGECY3034carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      11AGECY3539_eb4c7541AGECY3539Population age 35-39 (2019A)INTEGERSUMAGECY3539carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      12AGECY4044_41a06569AGECY4044Population age 40-44 (2019A)INTEGERSUMAGECY4044carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      13AGECY4549_39dadb3fAGECY4549Population age 45-49 (2019A)INTEGERSUMAGECY4549carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      14AGECY5054_e007334dAGECY5054Population age 50-54 (2019A)INTEGERSUMAGECY5054carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      15AGECY5559_987d8d1bAGECY5559Population age 55-59 (2019A)INTEGERSUMAGECY5559carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      16AGECY6064_d99fcf60AGECY6064Population age 60-64 (2019A)INTEGERSUMAGECY6064carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      17AGECY6569_a1e57136AGECY6569Population age 65-69 (2019A)INTEGERSUMAGECY6569carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      18AGECY7074_78389944AGECY7074Population age 70-74 (2019A)INTEGERSUMAGECY7074carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      19AGECY7579_422712AGECY7579Population age 75-79 (2019A)INTEGERSUMAGECY7579carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      20AGECY8084_a7c395ddAGECY8084Population age 80-84 (2019A)INTEGERSUMAGECY8084carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      21AGECYGT85_ac46767dAGECYGT85Population age 85+ (2019A)INTEGERSUMAGECYGT85carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      23SEXCYMAL_8ee6ade5SEXCYMALPopulation male (2019A)INTEGERSUMSEXCYMALcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      24SEXCYFEM_91d8b796SEXCYFEMPopulation female (2019A)INTEGERSUMSEXCYFEMcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      32HISCYHISP_e62d7c2eHISCYHISPPopulation Hispanic (2019A)INTEGERSUMHISCYHISPcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      38AGECYGT15_7d84cd34AGECYGT15Population Age 15+ (2019A)INTEGERSUMAGECYGT15carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      39EDUCYLTGR9_ed0362faEDUCYLTGR9Pop 25+ less than 9th grade (2019A)INTEGERSUMEDUCYLTGR9carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      40EDUCYSHSCH_7a88e398EDUCYSHSCHPop 25+ 9th-12th grade no diploma (2019A)INTEGERSUMEDUCYSHSCHcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      41EDUCYHSCH_a7a81733EDUCYHSCHPop 25+ HS graduate (2019A)INTEGERSUMEDUCYHSCHcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      42EDUCYSCOLL_3840e65bEDUCYSCOLLPop 25+ college no diploma (2019A)INTEGERSUMEDUCYSCOLLcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      43EDUCYASSOC_dcd76160EDUCYASSOCPop 25+ Associate degree (2019A)INTEGERSUMEDUCYASSOCcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      44EDUCYBACH_d7b78049EDUCYBACHPop 25+ Bachelor's degree (2019A)INTEGERSUMEDUCYBACHcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      45EDUCYGRAD_c58943fbEDUCYGRADPop 25+ graduate or prof school degree (2019A)INTEGERSUMEDUCYGRADcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      46AGECYGT25_56a99ef7AGECYGT25Population Age 25+ (2019A)INTEGERSUMAGECYGT25carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      84LBFCYPOP16_75363c6fLBFCYPOP16Population Age 16+ (2019A)INTEGERSUMLBFCYPOP16carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      85LBFCYARM_c8f45b67LBFCYARMPop 16+ in Armed Forces (2019A)INTEGERSUMLBFCYARMcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      86LBFCYEMPL_1902fd90LBFCYEMPLPop 16+ civilian employed (2019A)INTEGERSUMLBFCYEMPLcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      87LBFCYUNEM_befc2d4LBFCYUNEMPop 16+ civilian unemployed (2019A)INTEGERSUMLBFCYUNEMcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      88LBFCYNLF_803bfa0dLBFCYNLFPop 16+ not in labor force (2019A)INTEGERSUMLBFCYNLFcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      90LBFCYLBF_1d3c03edLBFCYLBFPopulation In Labor Force (2019A)INTEGERSUMLBFCYLBFcarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      101POPPY_24dbbb56Total populationPopulation (2024A)INTEGERSUMPOPPYNonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      \n", - "" - ], - "text/plain": [ - " slug name \\\n", - "1 POPCY_4534fac4 Total Population \n", - "2 POPCYGRP_3033ef2e POPCYGRP \n", - "3 POPCYGRPI_1e42899 POPCYGRPI \n", - "4 AGECY0004_aaae373a AGECY0004 \n", - "5 AGECY0509_d2d4896c AGECY0509 \n", - "6 AGECY1014_b09611e AGECY1014 \n", - "7 AGECY1519_7373df48 AGECY1519 \n", - "8 AGECY2024_32919d33 AGECY2024 \n", - "9 AGECY2529_4aeb2365 AGECY2529 \n", - "10 AGECY3034_9336cb17 AGECY3034 \n", - "11 AGECY3539_eb4c7541 AGECY3539 \n", - "12 AGECY4044_41a06569 AGECY4044 \n", - "13 AGECY4549_39dadb3f AGECY4549 \n", - "14 AGECY5054_e007334d AGECY5054 \n", - "15 AGECY5559_987d8d1b AGECY5559 \n", - "16 AGECY6064_d99fcf60 AGECY6064 \n", - "17 AGECY6569_a1e57136 AGECY6569 \n", - "18 AGECY7074_78389944 AGECY7074 \n", - "19 AGECY7579_422712 AGECY7579 \n", - "20 AGECY8084_a7c395dd AGECY8084 \n", - "21 AGECYGT85_ac46767d AGECYGT85 \n", - "23 SEXCYMAL_8ee6ade5 SEXCYMAL \n", - "24 SEXCYFEM_91d8b796 SEXCYFEM \n", - "32 HISCYHISP_e62d7c2e HISCYHISP \n", - "38 AGECYGT15_7d84cd34 AGECYGT15 \n", - "39 EDUCYLTGR9_ed0362fa EDUCYLTGR9 \n", - "40 EDUCYSHSCH_7a88e398 EDUCYSHSCH \n", - "41 EDUCYHSCH_a7a81733 EDUCYHSCH \n", - "42 EDUCYSCOLL_3840e65b EDUCYSCOLL \n", - "43 EDUCYASSOC_dcd76160 EDUCYASSOC \n", - "44 EDUCYBACH_d7b78049 EDUCYBACH \n", - "45 EDUCYGRAD_c58943fb EDUCYGRAD \n", - "46 AGECYGT25_56a99ef7 AGECYGT25 \n", - "84 LBFCYPOP16_75363c6f LBFCYPOP16 \n", - "85 LBFCYARM_c8f45b67 LBFCYARM \n", - "86 LBFCYEMPL_1902fd90 LBFCYEMPL \n", - "87 LBFCYUNEM_befc2d4 LBFCYUNEM \n", - "88 LBFCYNLF_803bfa0d LBFCYNLF \n", - "90 LBFCYLBF_1d3c03ed LBFCYLBF \n", - "101 POPPY_24dbbb56 Total population \n", - "\n", - " description db_type agg_method \\\n", - "1 Population (2019A) INTEGER SUM \n", - "2 Population in Group Quarters (2019A) INTEGER SUM \n", - "3 Institutional Group Quarters Population (2019A) INTEGER SUM \n", - "4 Population age 0-4 (2019A) INTEGER SUM \n", - "5 Population age 5-9 (2019A) INTEGER SUM \n", - "6 Population age 10-14 (2019A) INTEGER SUM \n", - "7 Population age 15-19 (2019A) INTEGER SUM \n", - "8 Population age 20-24 (2019A) INTEGER SUM \n", - "9 Population age 25-29 (2019A) INTEGER SUM \n", - "10 Population age 30-34 (2019A) INTEGER SUM \n", - "11 Population age 35-39 (2019A) INTEGER SUM \n", - "12 Population age 40-44 (2019A) INTEGER SUM \n", - "13 Population age 45-49 (2019A) INTEGER SUM \n", - "14 Population age 50-54 (2019A) INTEGER SUM \n", - "15 Population age 55-59 (2019A) INTEGER SUM \n", - "16 Population age 60-64 (2019A) INTEGER SUM \n", - "17 Population age 65-69 (2019A) INTEGER SUM \n", - "18 Population age 70-74 (2019A) INTEGER SUM \n", - "19 Population age 75-79 (2019A) INTEGER SUM \n", - "20 Population age 80-84 (2019A) INTEGER SUM \n", - "21 Population age 85+ (2019A) INTEGER SUM \n", - "23 Population male (2019A) INTEGER SUM \n", - "24 Population female (2019A) INTEGER SUM \n", - "32 Population Hispanic (2019A) INTEGER SUM \n", - "38 Population Age 15+ (2019A) INTEGER SUM \n", - "39 Pop 25+ less than 9th grade (2019A) INTEGER SUM \n", - "40 Pop 25+ 9th-12th grade no diploma (2019A) INTEGER SUM \n", - "41 Pop 25+ HS graduate (2019A) INTEGER SUM \n", - "42 Pop 25+ college no diploma (2019A) INTEGER SUM \n", - "43 Pop 25+ Associate degree (2019A) INTEGER SUM \n", - "44 Pop 25+ Bachelor's degree (2019A) INTEGER SUM \n", - "45 Pop 25+ graduate or prof school degree (2019A) INTEGER SUM \n", - "46 Population Age 25+ (2019A) INTEGER SUM \n", - "84 Population Age 16+ (2019A) INTEGER SUM \n", - "85 Pop 16+ in Armed Forces (2019A) INTEGER SUM \n", - "86 Pop 16+ civilian employed (2019A) INTEGER SUM \n", - "87 Pop 16+ civilian unemployed (2019A) INTEGER SUM \n", - "88 Pop 16+ not in labor force (2019A) INTEGER SUM \n", - "90 Population In Labor Force (2019A) INTEGER SUM \n", - "101 Population (2024A) INTEGER SUM \n", - "\n", - " column_name variable_group_id \\\n", - "1 POPCY None \n", - "2 POPCYGRP None \n", - "3 POPCYGRPI None \n", - "4 AGECY0004 carto-do.ags.demographics_sociodemographics_us... \n", - "5 AGECY0509 carto-do.ags.demographics_sociodemographics_us... \n", - "6 AGECY1014 carto-do.ags.demographics_sociodemographics_us... \n", - "7 AGECY1519 carto-do.ags.demographics_sociodemographics_us... \n", - "8 AGECY2024 carto-do.ags.demographics_sociodemographics_us... \n", - "9 AGECY2529 carto-do.ags.demographics_sociodemographics_us... \n", - "10 AGECY3034 carto-do.ags.demographics_sociodemographics_us... \n", - "11 AGECY3539 carto-do.ags.demographics_sociodemographics_us... \n", - "12 AGECY4044 carto-do.ags.demographics_sociodemographics_us... \n", - "13 AGECY4549 carto-do.ags.demographics_sociodemographics_us... \n", - "14 AGECY5054 carto-do.ags.demographics_sociodemographics_us... \n", - "15 AGECY5559 carto-do.ags.demographics_sociodemographics_us... \n", - "16 AGECY6064 carto-do.ags.demographics_sociodemographics_us... \n", - "17 AGECY6569 carto-do.ags.demographics_sociodemographics_us... \n", - "18 AGECY7074 carto-do.ags.demographics_sociodemographics_us... \n", - "19 AGECY7579 carto-do.ags.demographics_sociodemographics_us... \n", - "20 AGECY8084 carto-do.ags.demographics_sociodemographics_us... \n", - "21 AGECYGT85 carto-do.ags.demographics_sociodemographics_us... \n", - "23 SEXCYMAL carto-do.ags.demographics_sociodemographics_us... \n", - "24 SEXCYFEM carto-do.ags.demographics_sociodemographics_us... \n", - "32 HISCYHISP carto-do.ags.demographics_sociodemographics_us... \n", - "38 AGECYGT15 carto-do.ags.demographics_sociodemographics_us... \n", - "39 EDUCYLTGR9 carto-do.ags.demographics_sociodemographics_us... \n", - "40 EDUCYSHSCH carto-do.ags.demographics_sociodemographics_us... \n", - "41 EDUCYHSCH carto-do.ags.demographics_sociodemographics_us... \n", - "42 EDUCYSCOLL carto-do.ags.demographics_sociodemographics_us... \n", - "43 EDUCYASSOC carto-do.ags.demographics_sociodemographics_us... \n", - "44 EDUCYBACH carto-do.ags.demographics_sociodemographics_us... \n", - "45 EDUCYGRAD carto-do.ags.demographics_sociodemographics_us... \n", - "46 AGECYGT25 carto-do.ags.demographics_sociodemographics_us... \n", - "84 LBFCYPOP16 carto-do.ags.demographics_sociodemographics_us... \n", - "85 LBFCYARM carto-do.ags.demographics_sociodemographics_us... \n", - "86 LBFCYEMPL carto-do.ags.demographics_sociodemographics_us... \n", - "87 LBFCYUNEM carto-do.ags.demographics_sociodemographics_us... \n", - "88 LBFCYNLF carto-do.ags.demographics_sociodemographics_us... \n", - "90 LBFCYLBF carto-do.ags.demographics_sociodemographics_us... \n", - "101 POPPY None \n", - "\n", - " dataset_id \\\n", - "1 carto-do.ags.demographics_sociodemographics_us... \n", - "2 carto-do.ags.demographics_sociodemographics_us... \n", - "3 carto-do.ags.demographics_sociodemographics_us... \n", - "4 carto-do.ags.demographics_sociodemographics_us... \n", - "5 carto-do.ags.demographics_sociodemographics_us... \n", - "6 carto-do.ags.demographics_sociodemographics_us... \n", - "7 carto-do.ags.demographics_sociodemographics_us... \n", - "8 carto-do.ags.demographics_sociodemographics_us... \n", - "9 carto-do.ags.demographics_sociodemographics_us... \n", - "10 carto-do.ags.demographics_sociodemographics_us... \n", - "11 carto-do.ags.demographics_sociodemographics_us... \n", - "12 carto-do.ags.demographics_sociodemographics_us... \n", - "13 carto-do.ags.demographics_sociodemographics_us... \n", - "14 carto-do.ags.demographics_sociodemographics_us... \n", - "15 carto-do.ags.demographics_sociodemographics_us... \n", - "16 carto-do.ags.demographics_sociodemographics_us... \n", - "17 carto-do.ags.demographics_sociodemographics_us... \n", - "18 carto-do.ags.demographics_sociodemographics_us... \n", - "19 carto-do.ags.demographics_sociodemographics_us... \n", - "20 carto-do.ags.demographics_sociodemographics_us... \n", - "21 carto-do.ags.demographics_sociodemographics_us... \n", - "23 carto-do.ags.demographics_sociodemographics_us... \n", - "24 carto-do.ags.demographics_sociodemographics_us... \n", - "32 carto-do.ags.demographics_sociodemographics_us... \n", - "38 carto-do.ags.demographics_sociodemographics_us... \n", - "39 carto-do.ags.demographics_sociodemographics_us... \n", - "40 carto-do.ags.demographics_sociodemographics_us... \n", - "41 carto-do.ags.demographics_sociodemographics_us... \n", - "42 carto-do.ags.demographics_sociodemographics_us... \n", - "43 carto-do.ags.demographics_sociodemographics_us... \n", - "44 carto-do.ags.demographics_sociodemographics_us... \n", - "45 carto-do.ags.demographics_sociodemographics_us... \n", - "46 carto-do.ags.demographics_sociodemographics_us... \n", - "84 carto-do.ags.demographics_sociodemographics_us... \n", - "85 carto-do.ags.demographics_sociodemographics_us... \n", - "86 carto-do.ags.demographics_sociodemographics_us... \n", - "87 carto-do.ags.demographics_sociodemographics_us... \n", - "88 carto-do.ags.demographics_sociodemographics_us... \n", - "90 carto-do.ags.demographics_sociodemographics_us... \n", - "101 carto-do.ags.demographics_sociodemographics_us... \n", - "\n", - " id \n", - "1 carto-do.ags.demographics_sociodemographics_us... \n", - "2 carto-do.ags.demographics_sociodemographics_us... \n", - "3 carto-do.ags.demographics_sociodemographics_us... \n", - "4 carto-do.ags.demographics_sociodemographics_us... \n", - "5 carto-do.ags.demographics_sociodemographics_us... \n", - "6 carto-do.ags.demographics_sociodemographics_us... \n", - "7 carto-do.ags.demographics_sociodemographics_us... \n", - "8 carto-do.ags.demographics_sociodemographics_us... \n", - "9 carto-do.ags.demographics_sociodemographics_us... \n", - "10 carto-do.ags.demographics_sociodemographics_us... \n", - "11 carto-do.ags.demographics_sociodemographics_us... \n", - "12 carto-do.ags.demographics_sociodemographics_us... \n", - "13 carto-do.ags.demographics_sociodemographics_us... \n", - "14 carto-do.ags.demographics_sociodemographics_us... \n", - "15 carto-do.ags.demographics_sociodemographics_us... \n", - "16 carto-do.ags.demographics_sociodemographics_us... \n", - "17 carto-do.ags.demographics_sociodemographics_us... \n", - "18 carto-do.ags.demographics_sociodemographics_us... \n", - "19 carto-do.ags.demographics_sociodemographics_us... \n", - "20 carto-do.ags.demographics_sociodemographics_us... \n", - "21 carto-do.ags.demographics_sociodemographics_us... \n", - "23 carto-do.ags.demographics_sociodemographics_us... \n", - "24 carto-do.ags.demographics_sociodemographics_us... \n", - "32 carto-do.ags.demographics_sociodemographics_us... \n", - "38 carto-do.ags.demographics_sociodemographics_us... \n", - "39 carto-do.ags.demographics_sociodemographics_us... \n", - "40 carto-do.ags.demographics_sociodemographics_us... \n", - "41 carto-do.ags.demographics_sociodemographics_us... \n", - "42 carto-do.ags.demographics_sociodemographics_us... \n", - "43 carto-do.ags.demographics_sociodemographics_us... \n", - "44 carto-do.ags.demographics_sociodemographics_us... \n", - "45 carto-do.ags.demographics_sociodemographics_us... \n", - "46 carto-do.ags.demographics_sociodemographics_us... \n", - "84 carto-do.ags.demographics_sociodemographics_us... \n", - "85 carto-do.ags.demographics_sociodemographics_us... \n", - "86 carto-do.ags.demographics_sociodemographics_us... \n", - "87 carto-do.ags.demographics_sociodemographics_us... \n", - "88 carto-do.ags.demographics_sociodemographics_us... \n", - "90 carto-do.ags.demographics_sociodemographics_us... \n", - "101 carto-do.ags.demographics_sociodemographics_us... " - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "vdf[vdf['description'].str.contains('pop', case=False, na=False)]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Dataset and variables metadata\n", - "\n", - "The Data Observatory catalog is not only a repository of curated spatial datasets, it also contains valuable information that helps on understanding better the underlying data for every dataset, so you can take an informed decision on what data best fits your problem.\n", - "\n", - "Some of the augmented metadata you can find for each dataset in the catalog is:\n", - "\n", - "- `head` and `tail` methods to get a glimpse of the actual data. This helps you to understand the available columns, data types, etc. To start modelling your problem right away.\n", - "- `geom_coverage` to visualize on a map the geographical coverage of the data in the `Dataset`.\n", - "- `counts`, `fields_by_type` and a full `describe` method with stats of the actual values in the dataset, such as: average, stdev, quantiles, min, max, median for each of the variables of the dataset.\n", - "\n", - "You don't need a subscription to a dataset to be able to query the augmented metadata, it's just publicly available for anyone exploring the Data Observatory catalog.\n", - "\n", - "Let's overview some of that information, starting by getting a glimpse of the ten first or last rows of the actual data of the dataset:" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.data.observatory import Dataset\n", - "dataset = Dataset.get('ags_sociodemogr_a7e14220')" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                      DWLCYDWLPYHHDCYHHDPYPOPCYPOPPYgeoidVPHCY1do_dateAGECYMED...MARCYDIVORMARCYNEVERMARCYWIDOWRCHCYAMNHSRCHCYASNHSRCHCYBLNHSRCHCYHANHSRCHCYMUNHSRCHCYOTNHSRCHCYWHNHS
                                                                                      010571112932986150016480401304050714422020-01-01 00:00:00+00:0077.40...14942280112002501317
                                                                                      119642069177418772595286804013040507210492020-01-01 00:00:00+00:0076.88...4141606990746875502167
                                                                                      210491101897933158517160401306101824602020-01-01 00:00:00+00:0069.88...312172462554392601313
                                                                                      310841137910940150316160401381750023922020-01-01 00:00:00+00:0071.44...19179268824380801290
                                                                                      468270657459198010390401900432412442020-01-01 00:00:00+00:0072.38...3044195390000902
                                                                                      5880910840869124912840601335110325392020-01-01 00:00:00+00:0076.75...1604031901361921251024
                                                                                      61467153413141467165818000605909951018312020-01-01 00:00:00+00:0074.58...42313649632261011601269
                                                                                      7704753693730107811760606102103913382020-01-01 00:00:00+00:0073.86...117632155337090986
                                                                                      81582169115531650254027950606102360018182020-01-01 00:00:00+00:0068.80...4064530151682631902183
                                                                                      91186126811631234198021760606102360024152020-01-01 00:00:00+00:0068.59...253602235972211001750
                                                                                      \n", - "

                                                                                      10 rows × 110 columns

                                                                                      \n", - "
                                                                                      " - ], - "text/plain": [ - " DWLCY DWLPY HHDCY HHDPY POPCY POPPY geoid VPHCY1 \\\n", - "0 1057 1112 932 986 1500 1648 040130405071 442 \n", - "1 1964 2069 1774 1877 2595 2868 040130405072 1049 \n", - "2 1049 1101 897 933 1585 1716 040130610182 460 \n", - "3 1084 1137 910 940 1503 1616 040138175002 392 \n", - "4 682 706 574 591 980 1039 040190043241 244 \n", - "5 880 910 840 869 1249 1284 060133511032 539 \n", - "6 1467 1534 1314 1467 1658 1800 060590995101 831 \n", - "7 704 753 693 730 1078 1176 060610210391 338 \n", - "8 1582 1691 1553 1650 2540 2795 060610236001 818 \n", - "9 1186 1268 1163 1234 1980 2176 060610236002 415 \n", - "\n", - " do_date AGECYMED ... MARCYDIVOR MARCYNEVER \\\n", - "0 2020-01-01 00:00:00+00:00 77.40 ... 149 4 \n", - "1 2020-01-01 00:00:00+00:00 76.88 ... 414 160 \n", - "2 2020-01-01 00:00:00+00:00 69.88 ... 31 217 \n", - "3 2020-01-01 00:00:00+00:00 71.44 ... 191 79 \n", - "4 2020-01-01 00:00:00+00:00 72.38 ... 30 44 \n", - "5 2020-01-01 00:00:00+00:00 76.75 ... 160 40 \n", - "6 2020-01-01 00:00:00+00:00 74.58 ... 423 136 \n", - "7 2020-01-01 00:00:00+00:00 73.86 ... 117 63 \n", - "8 2020-01-01 00:00:00+00:00 68.80 ... 406 45 \n", - "9 2020-01-01 00:00:00+00:00 68.59 ... 253 60 \n", - "\n", - " MARCYWIDOW RCHCYAMNHS RCHCYASNHS RCHCYBLNHS RCHCYHANHS RCHCYMUNHS \\\n", - "0 228 0 11 20 0 25 \n", - "1 699 0 74 68 7 55 \n", - "2 246 2 55 43 9 26 \n", - "3 268 8 24 38 0 8 \n", - "4 195 3 9 0 0 0 \n", - "5 319 0 136 19 2 12 \n", - "6 496 3 226 10 1 16 \n", - "7 215 5 33 7 0 9 \n", - "8 301 5 168 26 3 19 \n", - "9 223 5 97 22 1 10 \n", - "\n", - " RCHCYOTNHS RCHCYWHNHS \n", - "0 0 1317 \n", - "1 0 2167 \n", - "2 0 1313 \n", - "3 0 1290 \n", - "4 0 902 \n", - "5 5 1024 \n", - "6 0 1269 \n", - "7 0 986 \n", - "8 0 2183 \n", - "9 0 1750 \n", - "\n", - "[10 rows x 110 columns]" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dataset.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Alternatively, you can get the last ten ones with `dataset.tail()`" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "An overview of the coverage of the dataset" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", " \n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                                      POPCYPOPCYGRPPOPCYGRPIAGECY0004AGECY0509AGECY1014AGECY1519AGECY2024AGECY2529AGECY3034...DWLCYVACNTDWLCYRENTDWLCYOWNEDPOPPYHHDPYDWLPYAGEPYMEDINCPYPCAPINCPYAVEHHINCPYMEDHH
                                                                                      avg1.520470e+033.725678e+011.798816e+019.047040e+019.341024e+019.581574e+019.726450e+011.000845e+021.083624e+021.044326e+02...4.957671e+012.116296e+023.835577e+021.568307e+036.075594e+026.718555e+023.989449e+014.292896e+041.073098e+057.933328e+04
                                                                                      max6.710000e+041.975200e+041.205300e+045.393000e+035.294000e+035.195000e+037.606000e+031.480400e+045.767000e+035.616000e+03...6.547000e+031.005700e+042.367600e+047.584500e+042.811500e+043.264000e+048.750000e+013.824975e+061.112720e+073.500000e+05
                                                                                      min0.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+00...0.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+00
                                                                                      sum3.302187e+088.091501e+063.906704e+061.964854e+072.028702e+072.080945e+072.112410e+072.173655e+072.353436e+072.268087e+07...1.076717e+074.596213e+078.330182e+073.406080e+081.319510e+081.459149e+088.664364e+069.323398e+092.330576e+101.722976e+10
                                                                                      range6.710000e+041.975200e+041.205300e+045.393000e+035.294000e+035.195000e+037.606000e+031.480400e+045.767000e+035.616000e+03...6.547000e+031.005700e+042.367600e+047.584500e+042.811500e+043.264000e+048.750000e+013.824975e+061.112720e+073.500000e+05
                                                                                      stdev1.063417e+032.428693e+021.582057e+028.044792e+018.338915e+018.351758e+011.117828e+021.244125e+029.642758e+019.358961e+01...9.849786e+012.353261e+023.163312e+021.141981e+034.138545e+024.467692e+027.567177e+003.178870e+047.835131e+044.262018e+04
                                                                                      q18.500000e+020.000000e+000.000000e+004.400000e+014.400000e+014.600000e+014.500000e+014.300000e+015.000000e+014.900000e+01...1.100000e+016.000000e+011.820000e+028.670000e+023.440000e+023.840000e+023.407000e+012.168000e+045.536100e+044.701800e+04
                                                                                      q31.454000e+030.000000e+000.000000e+008.300000e+018.600000e+018.900000e+018.700000e+018.600000e+019.800000e+019.500000e+01...3.400000e+011.780000e+023.750000e+021.485000e+035.810000e+026.480000e+024.101000e+014.058200e+041.012720e+057.908300e+04
                                                                                      median1.125000e+030.000000e+000.000000e+006.200000e+016.300000e+016.500000e+016.400000e+016.200000e+017.100000e+016.900000e+01...2.000000e+011.080000e+022.740000e+021.143000e+034.520000e+025.040000e+023.771000e+013.056300e+047.671300e+046.212200e+04
                                                                                      interquartile_range6.040000e+020.000000e+000.000000e+003.900000e+014.200000e+014.300000e+014.200000e+014.300000e+014.800000e+014.600000e+01...2.300000e+011.180000e+021.930000e+026.180000e+022.370000e+022.640000e+026.940000e+001.890200e+044.591100e+043.206500e+04
                                                                                      \n", + "

                                                                                      10 rows × 107 columns

                                                                                      \n", + "" + ], + "text/plain": [ + " POPCY POPCYGRP POPCYGRPI AGECY0004 \\\n", + "avg 1.520470e+03 3.725678e+01 1.798816e+01 9.047040e+01 \n", + "max 6.710000e+04 1.975200e+04 1.205300e+04 5.393000e+03 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 3.302187e+08 8.091501e+06 3.906704e+06 1.964854e+07 \n", + "range 6.710000e+04 1.975200e+04 1.205300e+04 5.393000e+03 \n", + "stdev 1.063417e+03 2.428693e+02 1.582057e+02 8.044792e+01 \n", + "q1 8.500000e+02 0.000000e+00 0.000000e+00 4.400000e+01 \n", + "q3 1.454000e+03 0.000000e+00 0.000000e+00 8.300000e+01 \n", + "median 1.125000e+03 0.000000e+00 0.000000e+00 6.200000e+01 \n", + "interquartile_range 6.040000e+02 0.000000e+00 0.000000e+00 3.900000e+01 \n", "\n", - " return new mapboxgl.Map({\n", - " container,\n", - " style,\n", - " zoom: 9,\n", - " dragRotate: false,\n", - " attributionControl: false\n", - " });\n", - " }\n", + " AGECY0509 AGECY1014 AGECY1519 AGECY2024 \\\n", + "avg 9.341024e+01 9.581574e+01 9.726450e+01 1.000845e+02 \n", + "max 5.294000e+03 5.195000e+03 7.606000e+03 1.480400e+04 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 2.028702e+07 2.080945e+07 2.112410e+07 2.173655e+07 \n", + "range 5.294000e+03 5.195000e+03 7.606000e+03 1.480400e+04 \n", + "stdev 8.338915e+01 8.351758e+01 1.117828e+02 1.244125e+02 \n", + "q1 4.400000e+01 4.600000e+01 4.500000e+01 4.300000e+01 \n", + "q3 8.600000e+01 8.900000e+01 8.700000e+01 8.600000e+01 \n", + "median 6.300000e+01 6.500000e+01 6.400000e+01 6.200000e+01 \n", + "interquartile_range 4.200000e+01 4.300000e+01 4.200000e+01 4.300000e+01 \n", "\n", - " function init(settings) {\n", - " setReady(settings);\n", - " }\n", + " AGECY2529 AGECY3034 ... DWLCYVACNT \\\n", + "avg 1.083624e+02 1.044326e+02 ... 4.957671e+01 \n", + "max 5.767000e+03 5.616000e+03 ... 6.547000e+03 \n", + "min 0.000000e+00 0.000000e+00 ... 0.000000e+00 \n", + "sum 2.353436e+07 2.268087e+07 ... 1.076717e+07 \n", + "range 5.767000e+03 5.616000e+03 ... 6.547000e+03 \n", + "stdev 9.642758e+01 9.358961e+01 ... 9.849786e+01 \n", + "q1 5.000000e+01 4.900000e+01 ... 1.100000e+01 \n", + "q3 9.800000e+01 9.500000e+01 ... 3.400000e+01 \n", + "median 7.100000e+01 6.900000e+01 ... 2.000000e+01 \n", + "interquartile_range 4.800000e+01 4.600000e+01 ... 2.300000e+01 \n", "\n", - " return init;\n", + " DWLCYRENT DWLCYOWNED POPPY HHDPY \\\n", + "avg 2.116296e+02 3.835577e+02 1.568307e+03 6.075594e+02 \n", + "max 1.005700e+04 2.367600e+04 7.584500e+04 2.811500e+04 \n", + "min 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", + "sum 4.596213e+07 8.330182e+07 3.406080e+08 1.319510e+08 \n", + "range 1.005700e+04 2.367600e+04 7.584500e+04 2.811500e+04 \n", + "stdev 2.353261e+02 3.163312e+02 1.141981e+03 4.138545e+02 \n", + "q1 6.000000e+01 1.820000e+02 8.670000e+02 3.440000e+02 \n", + "q3 1.780000e+02 3.750000e+02 1.485000e+03 5.810000e+02 \n", + "median 1.080000e+02 2.740000e+02 1.143000e+03 4.520000e+02 \n", + "interquartile_range 1.180000e+02 1.930000e+02 6.180000e+02 2.370000e+02 \n", "\n", - "}());\n", - "\n", - "\n", - "\n", - "\">\n", + " INCPYMEDHH \n", + "avg 7.933328e+04 \n", + "max 3.500000e+05 \n", + "min 0.000000e+00 \n", + "sum 1.722976e+10 \n", + "range 3.500000e+05 \n", + "stdev 4.262018e+04 \n", + "q1 4.701800e+04 \n", + "q3 7.908300e+04 \n", + "median 6.212200e+04 \n", + "interquartile_range 3.206500e+04 \n", "\n", - "" - ], + "[10 rows x 107 columns]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.describe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Every `Dataset` instance in the catalog contains other useful metadata:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'slug': 'ags_sociodemogr_a7e14220',\n", + " 'name': 'Sociodemographics - United States of America (Census Block Group)',\n", + " 'description': 'Census and ACS sociodemographic data estimated for the current year and data projected to five years. Projected fields are general aggregates (total population, total households, median age, avg income etc.)',\n", + " 'category_id': 'demographics',\n", + " 'country_id': 'usa',\n", + " 'data_source_id': 'sociodemographics',\n", + " 'provider_id': 'ags',\n", + " 'geography_name': 'Census Block Group - United States of America',\n", + " 'geography_description': None,\n", + " 'temporal_aggregation': 'yearly',\n", + " 'time_coverage': None,\n", + " 'update_frequency': 'yearly',\n", + " 'is_public_data': False,\n", + " 'lang': 'eng',\n", + " 'version': '2020',\n", + " 'category_name': 'Demographics',\n", + " 'provider_name': 'Applied Geographic Solutions',\n", + " 'geography_id': 'carto-do.ags.geography_usa_blockgroup_2015',\n", + " 'id': 'carto-do.ags.demographics_sociodemographics_usa_blockgroup_2015_yearly_2020'}" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.to_dict()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When exploring datasets in the Data Observatory catalog it's very important that you understand clearly what variables are available to enrich your own data.\n", + "\n", + "For each `Variable` in each dataset, the Data Observatory provides (as it does for datasets) a set of methods and attributes to understand their underlaying data.\n", + "\n", + "Some of them are:\n", + "\n", + "- `head` and `tail` methods to get a glimpse of the actual data and start modelling your problem right away.\n", + "- `counts`, `quantiles` and a full `describe` method with stats of the actual values in the dataset, such as: average, stdev, quantiles, min, max, median for each of the variables of the dataset.\n", + "- an `histogram` plot with the distribution of the values on each variable." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let's review some of that augmented metadata for the variables in the AGS population dataset." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + " #'Population (2019A)'" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from cartoframes.data.observatory import Variable\n", + "\n", + "variable = Variable.get('POPCY_4534fac4')\n", + "variable" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'slug': 'POPCY_4534fac4',\n", + " 'name': 'Total Population',\n", + " 'description': 'Population (2019A)',\n", + " 'db_type': 'INTEGER',\n", + " 'agg_method': 'SUM',\n", + " 'column_name': 'POPCY',\n", + " 'variable_group_id': None,\n", + " 'dataset_id': 'carto-do.ags.demographics_sociodemographics_usa_blockgroup_2015_yearly_2020',\n", + " 'id': 'carto-do.ags.demographics_sociodemographics_usa_blockgroup_2015_yearly_2020.POPCY'}" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "variable.to_dict()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "There's also some utility methods to understand the underlying data for each variable:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 1500\n", + "1 2595\n", + "2 1585\n", + "3 1503\n", + "4 980\n", + "5 1249\n", + "6 1658\n", + "7 1078\n", + "8 2540\n", + "9 1980\n", + "dtype: int64" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "variable.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "all 217182.000000\n", + "null 0.000000\n", + "zero 299.000000\n", + "extreme 9073.000000\n", + "distinct 6756.000000\n", + "outliers 26998.000000\n", + "null_percent 0.000000\n", + "zero_percent 0.137673\n", + "extreme_percent 0.041776\n", + "distinct_percent 3.110755\n", + "outliers_percent 0.124310\n", + "dtype: float64" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "variable.counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { "text/plain": [ - "" + "q1 850\n", + "q3 1454\n", + "median 1125\n", + "interquartile_range 604\n", + "dtype: int64" ] }, "execution_count": 11, @@ -3438,566 +2325,805 @@ } ], "source": [ - "dataset.geom_coverage()" + "variable.quantiles()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "
                                                                                      " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "variable.histogram()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "avg 1.520470e+03\n", + "max 6.710000e+04\n", + "min 0.000000e+00\n", + "sum 3.302187e+08\n", + "range 6.710000e+04\n", + "stdev 1.063417e+03\n", + "q1 8.500000e+02\n", + "q3 1.454000e+03\n", + "median 1.125000e+03\n", + "interquartile_range 6.040000e+02\n", + "dtype: float64" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "variable.describe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Subscribe to a Dataset in the catalog\n", + "\n", + "Once you have explored the catalog and have identified a dataset with the variables you need for your analysis and in the right spatial resolution, you can check `is_public_data` to know whether the dataset is freely accessible or you first need to purchase a license. Subscriptions are available for CARTO's Enterprise plan users.\n", + "\n", + "Subscriptions to datasets allow you to use them from CARTOframes to enrich your own data or to download them. See the enrichment guides for more information.\n", + "\n", + "Let's see the dataset and geography in our previous example:" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "dataset = Dataset.get('ags_sociodemogr_a7e14220')" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dataset.is_public_data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The `dataset` is not public data, that means you need a subscription to be able to use them to enrich your own data.\n", + "\n", + "> To subscribe to data in the Data Observatory catalog you need a CARTO account with access to Data Observatory" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('creds.json')" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "dataset.subscribe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Some stats about the dataset:" + "**Licenses to data in the Data Observatory grant you the right to use the data for the period of one year. Every dataset or geography you want to use to enrich your own data, as long as they are not public data, require a valid license.**\n", + "\n", + "You can check the actual status of your subscriptions directly from the catalog." ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "rows 217182.0\n", - "cells 23890020.0\n", - "null_cells 0.0\n", - "null_cells_percent 0.0\n", - "dtype: float64" + "Datasets: [, ]\n", + "Geographies: []" ] }, - "execution_count": 12, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "dataset.counts()" + "from cartoframes.data.observatory import Catalog\n", + "\n", + "Catalog().subscriptions()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Data Access\n", + "\n", + "Now that we have explored some basic information about the Dataset, we will proceed to download a sample of the Dataset into a dataframe so we can operate with it in Python. \n", + "\n", + "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to perform this action._" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 19, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "float 5\n", - "string 2\n", - "integer 102\n", - "timestamp 1\n", - "dtype: int64" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "dataset.fields_by_type()" + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('creds.json')" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.data.observatory import Dataset\n", + "\n", + "dataset = Dataset.get('ags_sociodemogr_a7e14220')" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "# Filter by SQL query\n", + "query = \"SELECT * FROM $dataset$ LIMIT 50\"\n", + "\n", + "dataset_df = dataset.to_dataframe(sql_query=query)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Note about SQL filters**\n", + "\n", + "Our SQL filtering queries allow for any PostgreSQL and PostGIS operation, so you can filter the rows (by a WHERE condition) or the columns (using the SELECT). Some common examples are filtering the Dataset by bounding box or filtering by column value: \n", + "\n", + "```\n", + "SELECT * FROM $dataset$ WHERE ST_IntersectsBox(geom, -74.044467,40.706128,-73.891345,40.837690)\n", + "```\n", + "\n", + "```\n", + "SELECT total_pop, geom FROM $dataset$\n", + "```\n", + "\n", + "A good tool to get the bounding box details for a specific area is [bboxfinder.com](http://bboxfinder.com/#0.000000,0.000000,0.000000,0.000000)." + ] + }, + { + "cell_type": "code", + "execution_count": 22, "metadata": {}, "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + { + "data": { + "text/html": [ + "
                                                                                      \n", + "\n", + "
                                                                                      POPCYPOPCYGRPPOPCYGRPIAGECY0004AGECY0509AGECY1014AGECY1519AGECY2024AGECY2529AGECY3034...DWLCYVACNTDWLCYRENTDWLCYOWNEDPOPPYHHDPYDWLPYAGEPYMEDINCPYPCAPINCPYAVEHHINCPYMEDHH
                                                                                      avg1.520470e+033.725678e+011.798816e+019.047040e+019.341024e+019.581574e+019.726450e+011.000845e+021.083624e+021.044326e+02...4.957671e+012.116296e+023.835577e+021.568307e+036.075594e+026.718555e+023.989449e+014.292896e+041.073098e+057.933328e+04
                                                                                      max6.710000e+041.975200e+041.205300e+045.393000e+035.294000e+035.195000e+037.606000e+031.480400e+045.767000e+035.616000e+03...6.547000e+031.005700e+042.367600e+047.584500e+042.811500e+043.264000e+048.750000e+013.824975e+061.112720e+073.500000e+05
                                                                                      min0.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+00...0.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+000.000000e+00
                                                                                      sum3.302187e+088.091501e+063.906704e+061.964854e+072.028702e+072.080945e+072.112410e+072.173655e+072.353436e+072.268087e+07...1.076717e+074.596213e+078.330182e+073.406080e+081.319510e+081.459149e+088.664364e+069.323398e+092.330576e+101.722976e+10
                                                                                      range6.710000e+041.975200e+041.205300e+045.393000e+035.294000e+035.195000e+037.606000e+031.480400e+045.767000e+035.616000e+03...6.547000e+031.005700e+042.367600e+047.584500e+042.811500e+043.264000e+048.750000e+013.824975e+061.112720e+073.500000e+05
                                                                                      \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
                                                                                      BLOCKGROUPPOPCYPOPCYGRPPOPCYGRPIAGECY0004AGECY0509AGECY1014AGECY1519AGECY2024AGECY2529...POPPYHHDPYDWLPYAGEPYMEDINCPYPCAPINCPYAVEHHINCPYMEDHHgeoiddo_dategeom
                                                                                      stdev1.063417e+032.428693e+021.582057e+028.044792e+018.338915e+018.351758e+011.117828e+021.244125e+029.642758e+019.358961e+0105303300740131109001614926106256...9.849786e+012.353261e+023.163312e+021.141981e+034.138545e+024.467692e+027.567177e+003.178870e+047.835131e+044.262018e+04113681188733.831339731876621322665303300740132020-01-01 00:00:00+00:00POLYGON ((-122.32814 47.62490, -122.32812 47.6...
                                                                                      q18.500000e+020.000000e+000.000000e+004.400000e+014.400000e+014.600000e+014.500000e+014.300000e+015.000000e+014.900000e+0114013422625215449595191912191624...1.100000e+016.000000e+011.820000e+028.670000e+023.440000e+023.840000e+023.407000e+012.168000e+045.536100e+044.701800e+0417531208149274.27315214524348999401342262522020-01-01 00:00:00+00:00POLYGON ((-111.70519 33.41560, -111.70522 33.4...
                                                                                      q31.454000e+030.000000e+000.000000e+008.300000e+018.600000e+018.900000e+018.700000e+018.600000e+019.800000e+019.500000e+0121305101100611531414031323324916...3.400000e+011.780000e+023.750000e+021.485000e+035.810000e+026.480000e+024.101000e+014.058200e+041.012720e+057.908300e+04152383289969.371015211855391315211305101100612020-01-01 00:00:00+00:00POLYGON ((-81.06554 31.94715, -81.06484 31.946...
                                                                                      median1.125000e+030.000000e+000.000000e+006.200000e+016.300000e+016.500000e+016.400000e+016.200000e+017.100000e+016.900000e+0132501735410041015140024101152123167...2.000000e+011.080000e+022.740000e+021.143000e+034.520000e+025.040000e+023.771000e+013.056300e+047.671300e+046.212200e+04105254460441.691489622863751795442501735410042020-01-01 00:00:00+00:00POLYGON ((-71.12449 42.37597, -71.12478 42.375...
                                                                                      interquartile_range6.040000e+020.000000e+000.000000e+003.900000e+014.200000e+014.300000e+014.200000e+014.300000e+014.800000e+014.600000e+01425025000401421280078522534138273...2.300000e+011.180000e+021.930000e+026.180000e+022.370000e+022.640000e+026.940000e+001.890200e+044.591100e+043.206500e+0422231264129152.883624063736174382502500040142020-01-01 00:00:00+00:00POLYGON ((-71.15473 42.34121, -71.15446 42.341...
                                                                                      \n", - "

                                                                                      10 rows × 107 columns

                                                                                      \n", + "

                                                                                      5 rows × 111 columns

                                                                                      \n", "
                                                                                      " ], "text/plain": [ - " POPCY POPCYGRP POPCYGRPI AGECY0004 \\\n", - "avg 1.520470e+03 3.725678e+01 1.798816e+01 9.047040e+01 \n", - "max 6.710000e+04 1.975200e+04 1.205300e+04 5.393000e+03 \n", - "min 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", - "sum 3.302187e+08 8.091501e+06 3.906704e+06 1.964854e+07 \n", - "range 6.710000e+04 1.975200e+04 1.205300e+04 5.393000e+03 \n", - "stdev 1.063417e+03 2.428693e+02 1.582057e+02 8.044792e+01 \n", - "q1 8.500000e+02 0.000000e+00 0.000000e+00 4.400000e+01 \n", - "q3 1.454000e+03 0.000000e+00 0.000000e+00 8.300000e+01 \n", - "median 1.125000e+03 0.000000e+00 0.000000e+00 6.200000e+01 \n", - "interquartile_range 6.040000e+02 0.000000e+00 0.000000e+00 3.900000e+01 \n", - "\n", - " AGECY0509 AGECY1014 AGECY1519 AGECY2024 \\\n", - "avg 9.341024e+01 9.581574e+01 9.726450e+01 1.000845e+02 \n", - "max 5.294000e+03 5.195000e+03 7.606000e+03 1.480400e+04 \n", - "min 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", - "sum 2.028702e+07 2.080945e+07 2.112410e+07 2.173655e+07 \n", - "range 5.294000e+03 5.195000e+03 7.606000e+03 1.480400e+04 \n", - "stdev 8.338915e+01 8.351758e+01 1.117828e+02 1.244125e+02 \n", - "q1 4.400000e+01 4.600000e+01 4.500000e+01 4.300000e+01 \n", - "q3 8.600000e+01 8.900000e+01 8.700000e+01 8.600000e+01 \n", - "median 6.300000e+01 6.500000e+01 6.400000e+01 6.200000e+01 \n", - "interquartile_range 4.200000e+01 4.300000e+01 4.200000e+01 4.300000e+01 \n", - "\n", - " AGECY2529 AGECY3034 ... DWLCYVACNT \\\n", - "avg 1.083624e+02 1.044326e+02 ... 4.957671e+01 \n", - "max 5.767000e+03 5.616000e+03 ... 6.547000e+03 \n", - "min 0.000000e+00 0.000000e+00 ... 0.000000e+00 \n", - "sum 2.353436e+07 2.268087e+07 ... 1.076717e+07 \n", - "range 5.767000e+03 5.616000e+03 ... 6.547000e+03 \n", - "stdev 9.642758e+01 9.358961e+01 ... 9.849786e+01 \n", - "q1 5.000000e+01 4.900000e+01 ... 1.100000e+01 \n", - "q3 9.800000e+01 9.500000e+01 ... 3.400000e+01 \n", - "median 7.100000e+01 6.900000e+01 ... 2.000000e+01 \n", - "interquartile_range 4.800000e+01 4.600000e+01 ... 2.300000e+01 \n", - "\n", - " DWLCYRENT DWLCYOWNED POPPY HHDPY \\\n", - "avg 2.116296e+02 3.835577e+02 1.568307e+03 6.075594e+02 \n", - "max 1.005700e+04 2.367600e+04 7.584500e+04 2.811500e+04 \n", - "min 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", - "sum 4.596213e+07 8.330182e+07 3.406080e+08 1.319510e+08 \n", - "range 1.005700e+04 2.367600e+04 7.584500e+04 2.811500e+04 \n", - "stdev 2.353261e+02 3.163312e+02 1.141981e+03 4.138545e+02 \n", - "q1 6.000000e+01 1.820000e+02 8.670000e+02 3.440000e+02 \n", - "q3 1.780000e+02 3.750000e+02 1.485000e+03 5.810000e+02 \n", - "median 1.080000e+02 2.740000e+02 1.143000e+03 4.520000e+02 \n", - "interquartile_range 1.180000e+02 1.930000e+02 6.180000e+02 2.370000e+02 \n", - "\n", - " DWLPY AGEPYMED INCPYPCAP INCPYAVEHH \\\n", - "avg 6.718555e+02 3.989449e+01 4.292896e+04 1.073098e+05 \n", - "max 3.264000e+04 8.750000e+01 3.824975e+06 1.112720e+07 \n", - "min 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00 \n", - "sum 1.459149e+08 8.664364e+06 9.323398e+09 2.330576e+10 \n", - "range 3.264000e+04 8.750000e+01 3.824975e+06 1.112720e+07 \n", - "stdev 4.467692e+02 7.567177e+00 3.178870e+04 7.835131e+04 \n", - "q1 3.840000e+02 3.407000e+01 2.168000e+04 5.536100e+04 \n", - "q3 6.480000e+02 4.101000e+01 4.058200e+04 1.012720e+05 \n", - "median 5.040000e+02 3.771000e+01 3.056300e+04 7.671300e+04 \n", - "interquartile_range 2.640000e+02 6.940000e+00 1.890200e+04 4.591100e+04 \n", - "\n", - " INCPYMEDHH \n", - "avg 7.933328e+04 \n", - "max 3.500000e+05 \n", - "min 0.000000e+00 \n", - "sum 1.722976e+10 \n", - "range 3.500000e+05 \n", - "stdev 4.262018e+04 \n", - "q1 4.701800e+04 \n", - "q3 7.908300e+04 \n", - "median 6.212200e+04 \n", - "interquartile_range 3.206500e+04 \n", - "\n", - "[10 rows x 107 columns]" + " BLOCKGROUP POPCY POPCYGRP POPCYGRPI AGECY0004 AGECY0509 AGECY1014 \\\n", + "0 530330074013 1109 0 0 16 14 9 \n", + "1 40134226252 1544 95 95 19 19 12 \n", + "2 130510110061 1531 41 40 31 32 33 \n", + "3 250173541004 1015 140 0 24 10 11 \n", + "4 250250004014 2128 0 0 78 52 25 \n", + "\n", + " AGECY1519 AGECY2024 AGECY2529 ... POPPY HHDPY DWLPY AGEPYMED \\\n", + "0 26 106 256 ... 1136 811 887 33.83 \n", + "1 19 16 24 ... 1753 1208 1492 74.27 \n", + "2 24 9 16 ... 1523 832 899 69.37 \n", + "3 52 123 167 ... 1052 544 604 41.69 \n", + "4 34 138 273 ... 2223 1264 1291 52.88 \n", + "\n", + " INCPYPCAP INCPYAVEHH INCPYMEDHH geoid do_date \\\n", + "0 133973 187662 132266 530330074013 2020-01-01 00:00:00+00:00 \n", + "1 31521 45243 48999 40134226252 2020-01-01 00:00:00+00:00 \n", + "2 101521 185539 131521 130510110061 2020-01-01 00:00:00+00:00 \n", + "3 148962 286375 179544 250173541004 2020-01-01 00:00:00+00:00 \n", + "4 36240 63736 17438 250250004014 2020-01-01 00:00:00+00:00 \n", + "\n", + " geom \n", + "0 POLYGON ((-122.32814 47.62490, -122.32812 47.6... \n", + "1 POLYGON ((-111.70519 33.41560, -111.70522 33.4... \n", + "2 POLYGON ((-81.06554 31.94715, -81.06484 31.946... \n", + "3 POLYGON ((-71.12449 42.37597, -71.12478 42.375... \n", + "4 POLYGON ((-71.15473 42.34121, -71.15446 42.341... \n", + "\n", + "[5 rows x 111 columns]" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# First rows of the Dataset sample\n", + "dataset_df.head()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can also download the dataset directly to a CSV file" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Data saved: my_dataset.csv\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "To load it as a DataFrame you can do:\n", + "\n", + " df = pandas.read_csv('my_dataset.csv')\n", + "\n" + ] + } + ], + "source": [ + "query = \"SELECT * FROM $dataset$ LIMIT 50\"\n", + "\n", + "dataset_df = dataset.to_csv('my_dataset.csv', sql_query=query)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Data Enrichment\n", + "\n", + "We define enrichment as the process of augmenting your data with new variables by means of a spatial join between your data and a `Dataset` aggregated at a given spatial resolution in the CARTO Data Observatory, or in other words:\n", + "\n", + "\"*Enrichment is the process of adding variables to a geometry, which we call the target, (point, line, polygon…) from a spatial (polygon) dataset, which we call the source*\"\n", + "\n", + "We recommend you check out the [CARTOframes quickstart](/developers/cartoframes/guides/Quickstart/) since this guide uses some of the generated DataFrames to learn about exploring the Data Observatory catalog to find variables of interest for your analyses.\n", + "\n", + "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to perform this action._" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "from cartoframes.auth import set_default_credentials\n", + "\n", + "set_default_credentials('creds.json')" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[ #'Geographic Identifier',\n", + " #'Population (2019A)',\n", + " #'Population in Group Quarters (2019A)',\n", + " #'Institutional Group Quarters Population (2019A)',\n", + " #'Population age 0-4 (2019A)',\n", + " #'Population age 5-9 (2019A)',\n", + " #'Population age 10-14 (2019A)',\n", + " #'Population age 15-19 (2019A)',\n", + " #'Population age 20-24 (2019A)',\n", + " #'Population age 25-29 (2019A)',\n", + " #'Population age 30-34 (2019A)',\n", + " #'Population age 35-39 (2019A)',\n", + " #'Population age 40-44 (2019A)',\n", + " #'Population age 45-49 (2019A)',\n", + " #'Population age 50-54 (2019A)',\n", + " #'Population age 55-59 (2019A)',\n", + " #'Population age 60-64 (2019A)',\n", + " #'Population age 65-69 (2019A)',\n", + " #'Population age 70-74 (2019A)',\n", + " #'Population age 75-79 (2019A)',\n", + " #'Population age 80-84 (2019A)',\n", + " #'Population age 85+ (2019A)',\n", + " #'Median Age (2019A)',\n", + " #'Population male (2019A)',\n", + " #'Population female (2019A)',\n", + " #'Non Hispanic White (2019A)',\n", + " #'Non Hispanic Black (2019A)',\n", + " #'Non Hispanic American Indian (2019A)',\n", + " #'Non Hispanic Asian (2019A)',\n", + " #'Non Hispanic Hawaiian/Pacific Islander (2019A)',\n", + " #'Non Hispanic Other Race (2019A)',\n", + " #'Non Hispanic Multiple Race (2019A)',\n", + " #'Population Hispanic (2019A)',\n", + " #'Never Married (2019A)',\n", + " #'Now Married (2019A)',\n", + " #'Separated (2019A)',\n", + " #'Widowed (2019A)',\n", + " #'Divorced (2019A)',\n", + " #'Population Age 15+ (2019A)',\n", + " #'Pop 25+ less than 9th grade (2019A)',\n", + " #'Pop 25+ 9th-12th grade no diploma (2019A)',\n", + " #'Pop 25+ HS graduate (2019A)',\n", + " #'Pop 25+ college no diploma (2019A)',\n", + " #'Pop 25+ Associate degree (2019A)',\n", + " #'Pop 25+ Bachelor's degree (2019A)',\n", + " #'Pop 25+ graduate or prof school degree (2019A)',\n", + " #'Population Age 25+ (2019A)',\n", + " #'Households (2019A)',\n", + " #'Family Households (2019A)',\n", + " #'Families married couple w children (2019A)',\n", + " #'Families male no wife w children (2019A)',\n", + " #'Families female no husband children (2019A)',\n", + " #'Average Household Size (2019A)',\n", + " #'Median Age of Householder (2019A)',\n", + " #'Households: No Vehicle Available (2019A)',\n", + " #'Households: One Vehicle Available (2019A)',\n", + " #'Households: Two or More Vehicles Available (2019A)',\n", + " #'Per capita income (2019A)',\n", + " #'Average household Income (2019A)',\n", + " #'Median household income (2019A)',\n", + " #'Median family income (2019A)',\n", + " #'Household Income < $10000 (2019A)',\n", + " #'Household Income $10000-$14999 (2019A)',\n", + " #'Household Income $15000-$19999 (2019A)',\n", + " #'Household Income $20000-$24999 (2019A)',\n", + " #'Household Income $25000-$29999 (2019A)',\n", + " #'Household Income $30000-$34999 (2019A)',\n", + " #'Household Income $35000-$39999 (2019A)',\n", + " #'Household Income $40000-$44999 (2019A)',\n", + " #'Household Income $45000-$49999 (2019A)',\n", + " #'Household Income $50000-$59999 (2019A)',\n", + " #'Household Income $60000-$74999 (2019A)',\n", + " #'Household Income $75000-$99999 (2019A)',\n", + " #'Household Income $100000-$124999 (2019A)',\n", + " #'Household Income $125000-$149999 (2019A)',\n", + " #'Household Income $150000-$199999 (2019A)',\n", + " #'Household Income > $200000 (2019A)',\n", + " #'Median Household Income: Age < 25 (2019A)',\n", + " #'Median Household Income: Age 25-34 (2019A)',\n", + " #'Median Household Income: Age 35-44 (2019A)',\n", + " #'Median Household Income: Age 45-54 (2019A)',\n", + " #'Median Household Income: Age 55-64 (2019A)',\n", + " #'Median Household Income: Age 65-74 (2019A)',\n", + " #'Median Household Income: Age 75+ (2019A)',\n", + " #'Population Age 16+ (2019A)',\n", + " #'Pop 16+ in Armed Forces (2019A)',\n", + " #'Pop 16+ civilian employed (2019A)',\n", + " #'Pop 16+ civilian unemployed (2019A)',\n", + " #'Pop 16+ not in labor force (2019A)',\n", + " #'Unemployment Rate (2019A)',\n", + " #'Population In Labor Force (2019A)',\n", + " #'SPANISH SPEAKING HOUSEHOLDS',\n", + " #'LINGUISTICALLY ISOLATED HOUSEHOLDS (NON-ENGLISH SP...',\n", + " #'Median Value of Owner Occupied Housing Units',\n", + " #'Median Cash Rent',\n", + " #'UNITS IN STRUCTURE: 1 DETACHED',\n", + " #'UNITS IN STRUCTURE: 20 OR MORE',\n", + " #'Housing units (2019A)',\n", + " #'Housing units vacant (2019A)',\n", + " #'Occupied units renter (2019A)',\n", + " #'Occupied units owner (2019A)',\n", + " #'Population (2024A)',\n", + " #'Households (2024A)',\n", + " #'Housing units (2024A)',\n", + " #'Median Age (2024A)',\n", + " #'Per capita income (2024A)',\n", + " #'Average household Income (2024A)',\n", + " #'Median household income (2024A)',\n", + " #'First day of time period',\n", + " #'Geographical Identifier']" ] }, - "execution_count": 14, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "dataset.describe()" + "from cartoframes.data.observatory import Dataset\n", + "\n", + "dataset = Dataset.get('ags_sociodemogr_a7e14220')\n", + "variables = dataset.variables\n", + "variables" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Every `Dataset` instance in the catalog contains other useful metadata:\n", + "The `ags_sociodemogr_f510a947` dataset contains socio-demographic variables aggregated to the Census block group level. \n", "\n", - "- slug: A short ID\n", - "- name and description: Free text attributes\n", - "- country\n", - "- geography: Every dataset is related to a Geography instance\n", - "- category\n", - "- provider\n", - "- data source\n", - "- lang\n", - "- temporal aggregation\n", - "- time coverage\n", - "- update frequency\n", - "- version\n", - "- is_public_data: whether you need a license to use the dataset for enrichment purposes or not" + "Let's try and find a variable for total population:" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 26, "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
                                                                                      \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                                      slugnamedescriptiondb_typeagg_methodcolumn_namevariable_group_iddataset_idid
                                                                                      1POPCY_4534fac4Total PopulationPopulation (2019A)INTEGERSUMPOPCYNonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      2POPCYGRP_3033ef2ePOPCYGRPPopulation in Group Quarters (2019A)INTEGERSUMPOPCYGRPNonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      3POPCYGRPI_1e42899POPCYGRPIInstitutional Group Quarters Population (2019A)INTEGERSUMPOPCYGRPINonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      84LBFCYPOP16_75363c6fLBFCYPOP16Population Age 16+ (2019A)INTEGERSUMLBFCYPOP16carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      101POPPY_24dbbb56Total populationPopulation (2024A)INTEGERSUMPOPPYNonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                      \n", + "
                                                                                      " + ], "text/plain": [ - "{'slug': 'ags_sociodemogr_a7e14220',\n", - " 'name': 'Sociodemographics - United States of America (Census Block Group)',\n", - " 'description': 'Census and ACS sociodemographic data estimated for the current year and data projected to five years. Projected fields are general aggregates (total population, total households, median age, avg income etc.)',\n", - " 'category_id': 'demographics',\n", - " 'country_id': 'usa',\n", - " 'data_source_id': 'sociodemographics',\n", - " 'provider_id': 'ags',\n", - " 'geography_name': 'Census Block Group - United States of America',\n", - " 'geography_description': None,\n", - " 'temporal_aggregation': 'yearly',\n", - " 'time_coverage': None,\n", - " 'update_frequency': 'yearly',\n", - " 'is_public_data': False,\n", - " 'lang': 'eng',\n", - " 'version': '2020',\n", - " 'category_name': 'Demographics',\n", - " 'provider_name': 'Applied Geographic Solutions',\n", - " 'geography_id': 'carto-do.ags.geography_usa_blockgroup_2015',\n", - " 'id': 'carto-do.ags.demographics_sociodemographics_usa_blockgroup_2015_yearly_2020'}" + " slug name \\\n", + "1 POPCY_4534fac4 Total Population \n", + "2 POPCYGRP_3033ef2e POPCYGRP \n", + "3 POPCYGRPI_1e42899 POPCYGRPI \n", + "84 LBFCYPOP16_75363c6f LBFCYPOP16 \n", + "101 POPPY_24dbbb56 Total population \n", + "\n", + " description db_type agg_method \\\n", + "1 Population (2019A) INTEGER SUM \n", + "2 Population in Group Quarters (2019A) INTEGER SUM \n", + "3 Institutional Group Quarters Population (2019A) INTEGER SUM \n", + "84 Population Age 16+ (2019A) INTEGER SUM \n", + "101 Population (2024A) INTEGER SUM \n", + "\n", + " column_name variable_group_id \\\n", + "1 POPCY None \n", + "2 POPCYGRP None \n", + "3 POPCYGRPI None \n", + "84 LBFCYPOP16 carto-do.ags.demographics_sociodemographics_us... \n", + "101 POPPY None \n", + "\n", + " dataset_id \\\n", + "1 carto-do.ags.demographics_sociodemographics_us... \n", + "2 carto-do.ags.demographics_sociodemographics_us... \n", + "3 carto-do.ags.demographics_sociodemographics_us... \n", + "84 carto-do.ags.demographics_sociodemographics_us... \n", + "101 carto-do.ags.demographics_sociodemographics_us... \n", + "\n", + " id \n", + "1 carto-do.ags.demographics_sociodemographics_us... \n", + "2 carto-do.ags.demographics_sociodemographics_us... \n", + "3 carto-do.ags.demographics_sociodemographics_us... \n", + "84 carto-do.ags.demographics_sociodemographics_us... \n", + "101 carto-do.ags.demographics_sociodemographics_us... " ] }, - "execution_count": 15, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "dataset.to_dict()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "There's also some intersting metadata, for each variable in the dataset:\n", - "\n", - "- id\n", - "- slug: A short ID\n", - "- name and description\n", - "- column_name: Actual column name in the table that contains the data\n", - "- db_type: SQL type in the database\n", - "- dataset_id\n", - "- agg_method: Aggregation method used\n", - "- temporal aggregation and time coverage" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Variables are the most important asset in the catalog and when exploring datasets in the Data Observatory catalog it's very important that you understand clearly what variables are available to enrich your own data.\n", - "\n", - "For each `Variable` in each dataset, the Data Observatory provides (as it does with datasets) a set of methods and attributes to understand their underlaying data.\n", - "\n", - "Some of them are:\n", - "\n", - "- `head` and `tail` methods to get a glimpse of the actual data and start modelling your problem right away.\n", - "- `counts`, `quantiles` and a full `describe` method with stats of the actual values in the dataset, such as: average, stdev, quantiles, min, max, median for each of the variables of the dataset.\n", - "- an `histogram` plot with the distribution of the values on each variable." + "vdf = variables.to_dataframe()\n", + "vdf[vdf['name'].str.contains('pop', case=False, na=False)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Let's overview some of that augmented metadata for the variables in the AGS population dataset." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - " #'Population (2019A)'" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.data.observatory import Variable\n", - "variable = Variable.get('POPCY_4534fac4')\n", - "variable" + "We can store the variable instance we need by searching the Catalog by its `slug`, in this case `POPCY_4534fac4`:" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -4014,12 +3140,13 @@ " 'id': 'carto-do.ags.demographics_sociodemographics_usa_blockgroup_2015_yearly_2020.POPCY'}" ] }, - "execution_count": 17, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ + "variable = Variable.get('POPCY_4534fac4')\n", "variable.to_dict()" ] }, @@ -4027,334 +3154,558 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "There's also some utility methods ot understand the underlying data for each variable:" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 1500\n", - "1 2595\n", - "2 1585\n", - "3 1503\n", - "4 980\n", - "5 1249\n", - "6 1658\n", - "7 1078\n", - "8 2540\n", - "9 1980\n", - "dtype: int64" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "variable.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "all 217182.000000\n", - "null 0.000000\n", - "zero 299.000000\n", - "extreme 9073.000000\n", - "distinct 6756.000000\n", - "outliers 26998.000000\n", - "null_percent 0.000000\n", - "zero_percent 0.137673\n", - "extreme_percent 0.041776\n", - "distinct_percent 3.110755\n", - "outliers_percent 0.124310\n", - "dtype: float64" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "variable.counts()" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "q1 850\n", - "q3 1454\n", - "median 1125\n", - "interquartile_range 604\n", - "dtype: int64" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "variable.quantiles()" + "The `POPCY` variable contains the `SUM` of the population for blockgroup for the year 2019. Let's enrich our stores DataFrame with that variable." ] }, { - "cell_type": "code", - "execution_count": 21, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "
                                                                                      " - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], "source": [ - "variable.histogram()" + "#### Enrich points\n", + "\n", + "Let's start by loading the geocoded Starbucks stores:" ] }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 28, "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
                                                                                      \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                                      cartodb_idfield_1nameaddressrevenuegeometry
                                                                                      010Franklin Ave & Eastern Pkwy341 Eastern Pkwy,Brooklyn, NY 112381321040.772POINT (-73.95901 40.67109)
                                                                                      121607 Brighton Beach Ave607 Brighton Beach Avenue,Brooklyn, NY 112351268080.418POINT (-73.96122 40.57796)
                                                                                      23265th St & 18th Ave6423 18th Avenue,Brooklyn, NY 112041248133.699POINT (-73.98976 40.61912)
                                                                                      343Bay Ridge Pkwy & 3rd Ave7419 3rd Avenue,Brooklyn, NY 112091185702.676POINT (-74.02744 40.63152)
                                                                                      454Caesar's Bay Shopping Center8973 Bay Parkway,Brooklyn, NY 112141148427.411POINT (-74.00098 40.59321)
                                                                                      \n", + "
                                                                                      " + ], "text/plain": [ - "avg 1.520470e+03\n", - "max 6.710000e+04\n", - "min 0.000000e+00\n", - "sum 3.302187e+08\n", - "range 6.710000e+04\n", - "stdev 1.063417e+03\n", - "q1 8.500000e+02\n", - "q3 1.454000e+03\n", - "median 1.125000e+03\n", - "interquartile_range 6.040000e+02\n", - "dtype: float64" + " cartodb_id field_1 name \\\n", + "0 1 0 Franklin Ave & Eastern Pkwy \n", + "1 2 1 607 Brighton Beach Ave \n", + "2 3 2 65th St & 18th Ave \n", + "3 4 3 Bay Ridge Pkwy & 3rd Ave \n", + "4 5 4 Caesar's Bay Shopping Center \n", + "\n", + " address revenue \\\n", + "0 341 Eastern Pkwy,Brooklyn, NY 11238 1321040.772 \n", + "1 607 Brighton Beach Avenue,Brooklyn, NY 11235 1268080.418 \n", + "2 6423 18th Avenue,Brooklyn, NY 11204 1248133.699 \n", + "3 7419 3rd Avenue,Brooklyn, NY 11209 1185702.676 \n", + "4 8973 Bay Parkway,Brooklyn, NY 11214 1148427.411 \n", + "\n", + " geometry \n", + "0 POINT (-73.95901 40.67109) \n", + "1 POINT (-73.96122 40.57796) \n", + "2 POINT (-73.98976 40.61912) \n", + "3 POINT (-74.02744 40.63152) \n", + "4 POINT (-74.00098 40.59321) " ] }, - "execution_count": 22, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "variable.describe()" + "from geopandas import read_file\n", + "\n", + "stores_gdf = read_file('http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn_geocoded.geojson')\n", + "stores_gdf.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Subscribe to a Dataset in the catalog\n", - "\n", - "Once you have explored the catalog and have detected a dataset with the variables you need for your analysis and the right spatial resolution, you have to look at the `is_public_data` to know if you can just use it from CARTOframes or you first need to subscribe for a license.\n", - "\n", - "Subscriptions to datasets allow you to use them from CARTOframes to enrich your own data or to download them. See the enrichment guides for more information about this.\n", - "\n", - "Let's see the dataset and geography in our previous example:" + "Alternatively, you can load data in any geospatial format supported by GeoPandas or CARTO." ] }, { - "cell_type": "code", - "execution_count": 23, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "dataset = Dataset.get('ags_sociodemogr_a7e14220')" + "As we can see, for each store we have its name, address, the total revenue by year and a `geometry` column indicating the location of the store. This is important because for the enrichment service to work, we need a DataFrame with a geometry column encoded as a [shapely](https://pypi.org/project/Shapely/) object.\n", + "\n", + "We can now create a new `Enrichment` instance, and since the `stores_gdf` dataset represents store locations (points), we can use the `enrich_points` function passing as arguments the stores DataFrame and a list of `Variables` (that we have a valid subscription from the Data Observatory catalog for).\n", + "\n", + "In this case we are only enriching one variable (the total population), but we could enrich a list of them." ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 29, "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
                                                                                      \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                                      cartodb_idfield_1nameaddressrevenuegeometryPOPCYdo_area
                                                                                      010Franklin Ave & Eastern Pkwy341 Eastern Pkwy,Brooklyn, NY 112381321040.772POINT (-73.95901 40.67109)260859840.196748
                                                                                      121607 Brighton Beach Ave607 Brighton Beach Avenue,Brooklyn, NY 112351268080.418POINT (-73.96122 40.57796)179260150.636995
                                                                                      23265th St & 18th Ave6423 18th Avenue,Brooklyn, NY 112041248133.699POINT (-73.98976 40.61912)73338950.618837
                                                                                      343Bay Ridge Pkwy & 3rd Ave7419 3rd Avenue,Brooklyn, NY 112091185702.676POINT (-74.02744 40.63152)115557353.293114
                                                                                      454Caesar's Bay Shopping Center8973 Bay Parkway,Brooklyn, NY 112141148427.411POINT (-74.00098 40.59321)2266188379.242640
                                                                                      \n", + "
                                                                                      " + ], "text/plain": [ - "False" + " cartodb_id field_1 name \\\n", + "0 1 0 Franklin Ave & Eastern Pkwy \n", + "1 2 1 607 Brighton Beach Ave \n", + "2 3 2 65th St & 18th Ave \n", + "3 4 3 Bay Ridge Pkwy & 3rd Ave \n", + "4 5 4 Caesar's Bay Shopping Center \n", + "\n", + " address revenue \\\n", + "0 341 Eastern Pkwy,Brooklyn, NY 11238 1321040.772 \n", + "1 607 Brighton Beach Avenue,Brooklyn, NY 11235 1268080.418 \n", + "2 6423 18th Avenue,Brooklyn, NY 11204 1248133.699 \n", + "3 7419 3rd Avenue,Brooklyn, NY 11209 1185702.676 \n", + "4 8973 Bay Parkway,Brooklyn, NY 11214 1148427.411 \n", + "\n", + " geometry POPCY do_area \n", + "0 POINT (-73.95901 40.67109) 2608 59840.196748 \n", + "1 POINT (-73.96122 40.57796) 1792 60150.636995 \n", + "2 POINT (-73.98976 40.61912) 733 38950.618837 \n", + "3 POINT (-74.02744 40.63152) 1155 57353.293114 \n", + "4 POINT (-74.00098 40.59321) 2266 188379.242640 " ] }, - "execution_count": 24, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "dataset.is_public_data" + "from cartoframes.data.observatory import Enrichment\n", + "\n", + "enriched_stores_gdf = Enrichment().enrich_points(stores_gdf, [variable])\n", + "enriched_stores_gdf.head()" ] }, { - "cell_type": "code", - "execution_count": 25, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "from cartoframes.data.observatory import Geography\n", - "geography = Geography.get(dataset.geography)" + "Once the enrichment finishes, we can see there is a new column in our DataFrame called `POPCY` with population projected for the year 2019, from the US Census block group which contains each one of our Starbucks stores." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Enrich polygons\n", + "\n", + "Next, let's do a second enrichment, but this time using a DataFrame with areas of influence calculated using the [CARTOframes isochrones](/developers/cartoframes/reference/#heading-Isolines) service to obtain the polygon around each store that covers the area within an 8, 17 and 25 minute walk." ] }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 30, "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
                                                                                      \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                                      data_rangelower_data_rangerange_labelgeometry
                                                                                      050008 min.MULTIPOLYGON (((-73.95959 40.67571, -73.95971 ...
                                                                                      1100050017 min.POLYGON ((-73.95988 40.68110, -73.95863 40.681...
                                                                                      21500100025 min.POLYGON ((-73.95986 40.68815, -73.95711 40.688...
                                                                                      350008 min.MULTIPOLYGON (((-73.96185 40.58321, -73.96231 ...
                                                                                      4100050017 min.MULTIPOLYGON (((-73.96684 40.57483, -73.96830 ...
                                                                                      \n", + "
                                                                                      " + ], "text/plain": [ - "False" + " data_range lower_data_range range_label \\\n", + "0 500 0 8 min. \n", + "1 1000 500 17 min. \n", + "2 1500 1000 25 min. \n", + "3 500 0 8 min. \n", + "4 1000 500 17 min. \n", + "\n", + " geometry \n", + "0 MULTIPOLYGON (((-73.95959 40.67571, -73.95971 ... \n", + "1 POLYGON ((-73.95988 40.68110, -73.95863 40.681... \n", + "2 POLYGON ((-73.95986 40.68815, -73.95711 40.688... \n", + "3 MULTIPOLYGON (((-73.96185 40.58321, -73.96231 ... \n", + "4 MULTIPOLYGON (((-73.96684 40.57483, -73.96830 ... " ] }, - "execution_count": 26, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "geography.is_public_data" + "aoi_gdf = read_file('http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn_isolines.geojson')\n", + "aoi_gdf.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Both `dataset` and `geography` are not public data, that means you need a subscription to be able to use them to enrich your own data.\n", - "\n", - "**To subscribe to data in the Data Observatory catalog you need a CARTO account with access to Data Observatory**" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", + "In this case we have a DataFrame which, for each index in the `stores_gdf`, contains a polygon of the areas of influence around each store at 8, 17 and 25 minute walking intervals. Again the `geometry` is encoded as a `shapely` object.\n", "\n", - "set_default_credentials('creds.json')" + "In this case, the `Enrichment` service provides an `enrich_polygons` function, which in its basic version, works in the same way as the `enrich_points` function. It just needs a DataFrame with polygon geometries and a list of variables to enrich:" ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 31, "metadata": {}, "outputs": [ { "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "2fd201472cf240ad9e0aabe3f3ceb86f", - "version_major": 2, - "version_minor": 0 - }, + "text/html": [ + "
                                                                                      \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
                                                                                      data_rangelower_data_rangerange_labelgeometryPOPCY
                                                                                      050008 min.MULTIPOLYGON (((-73.95959 40.67571, -73.95971 ...21893.521552
                                                                                      1100050017 min.POLYGON ((-73.95988 40.68110, -73.95863 40.681...60463.830128
                                                                                      21500100025 min.POLYGON ((-73.95986 40.68815, -73.95711 40.688...111036.739845
                                                                                      350008 min.MULTIPOLYGON (((-73.96185 40.58321, -73.96231 ...23118.113571
                                                                                      4100050017 min.MULTIPOLYGON (((-73.96684 40.57483, -73.96830 ...29212.999892
                                                                                      \n", + "
                                                                                      " + ], "text/plain": [ - "HTML(value='\\n

                                                                                      Subscription already purchased

                                                                                      \\n The dataset carto-do.ags.demographic…" + " data_range lower_data_range range_label \\\n", + "0 500 0 8 min. \n", + "1 1000 500 17 min. \n", + "2 1500 1000 25 min. \n", + "3 500 0 8 min. \n", + "4 1000 500 17 min. \n", + "\n", + " geometry POPCY \n", + "0 MULTIPOLYGON (((-73.95959 40.67571, -73.95971 ... 21893.521552 \n", + "1 POLYGON ((-73.95988 40.68110, -73.95863 40.681... 60463.830128 \n", + "2 POLYGON ((-73.95986 40.68815, -73.95711 40.688... 111036.739845 \n", + "3 MULTIPOLYGON (((-73.96185 40.58321, -73.96231 ... 23118.113571 \n", + "4 MULTIPOLYGON (((-73.96684 40.57483, -73.96830 ... 29212.999892 " ] }, + "execution_count": 31, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ - "dataset.subscribe()" + "from cartoframes.data.observatory import Enrichment\n", + "\n", + "enriched_aoi_gdf = Enrichment().enrich_polygons(aoi_gdf, [variable])\n", + "enriched_aoi_gdf.head()" ] }, { - "cell_type": "code", - "execution_count": 29, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "24b77d25b541441b8b32d370ce9992d8", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HTML(value='\\n

                                                                                      Subscription already purchased

                                                                                      \\n The geography carto-do.ags.geography…" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], "source": [ - "geography.subscribe()" + "We now have a new column in our areas of influence DataFrame, `SUM_POPCY`, which represents the `SUM` of the total population in the Census block groups that instersect with each polygon in our DataFrame." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "**Licenses to data in the Data Observatory grant you the right to use the data subscribed for the period of one year. Every dataset or geography you want to use to enrich your own data, as long as they are not public data, require a valid license.**\n", - "\n", - "You can check the actual status of your subscriptions directly from the catalog." + "#### How enrichment works" ] }, { - "cell_type": "code", - "execution_count": 30, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Datasets: [, , , , ]\n", - "Geographies: [, ]" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "Catalog().subscriptions()" + "Let's take a deeper look into what happens under the hood when you execute a polygon enrichment.\n", + "\n", + "Imagine we have polygons representing municipalities, in blue, each of which have a population attribute, and we want to find out the population inside the green circle.\n", + "\n", + "\"Enrichment" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Conclusion\n", - "\n", - "In this guide you've seen how to explore the Data Observatory catalog to identify variables of datasets that you can use to enrich your own data.\n", + "We don’t know how the population is distributed inside these municipalities. They are probably concentrated in cities somewhere, but, since we don’t know where they are, our best guess is to assume that the population is evenly distributed in the municipality (i.e. every point inside the municipality has the same population density).\n", "\n", - "You've learned how to:\n", + "Population is an extensive property (it grows with area), so we can subset it (a region inside the municipality will always have a smaller population than the whole municipality), and also aggregate it by summing.\n", "\n", - "- Explore the catalog using nested hierarchical filters.\n", - "- Describe the three main entities in the catalog: `Geography`, `Dataset` and their `Variables`.\n", - "- Taken a look at the data and stats taken from the actual repository, to make a more informed decision on which variables to choose.\n", - "- How to subscribe to the chosen dataset to get a license that grants the right to enrich your own data.\n", - "\n", - "We also recommend checking out the resources below to learn more about the Data Observatory catalog:\n", + "In this case, we’d calculate the population inside each part of the circle that intersects with a municipality." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Default aggregation methods**\n", "\n", - "- The CARTOframes [enrichment guide](/developers/cartoframes/guides/Data-enrichment/)\n", - "- [Our public website](https://carto.com/platform/location-data-streams/)\n", - "- Your user dashboard: Under the data section\n", - "- The CARTOframes catalog [API reference](/developers/cartoframes/reference/#heading-Data-Observatory)\n" + "In the Data Observatory, we suggest a default aggregation method for certain fields. However, some fields don’t have a clear best method, and some just can’t be aggregated. In these cases, we leave the `agg_method` field blank and let the user choose the method that best fits their needs." ] } ], @@ -4375,6 +3726,102 @@ "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.7" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": { + "2bbf01a7a8cc4f4fb67f5a46318443a7": { + "model_module": "@jupyter-widgets/base", + "model_module_version": "1.2.0", + "model_name": "LayoutModel", + "state": { + "_model_module": "@jupyter-widgets/base", + "_model_module_version": "1.2.0", + "_model_name": "LayoutModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "LayoutView", + "align_content": null, + "align_items": null, + "align_self": null, + "border": null, + "bottom": null, + "display": null, + "flex": null, + "flex_flow": null, + "grid_area": null, + "grid_auto_columns": null, + "grid_auto_flow": null, + "grid_auto_rows": null, + "grid_column": null, + "grid_gap": null, + "grid_row": null, + "grid_template_areas": null, + "grid_template_columns": null, + "grid_template_rows": null, + "height": null, + "justify_content": null, + "justify_items": null, + "left": null, + "margin": null, + "max_height": null, + "max_width": null, + "min_height": null, + "min_width": null, + "object_fit": null, + "object_position": null, + "order": null, + "overflow": null, + "overflow_x": null, + "overflow_y": null, + "padding": null, + "right": null, + "top": null, + "visibility": null, + "width": null + } + }, + "9445287e884c4af0a7ee2f3fcf43851f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "DescriptionStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "DescriptionStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "1.2.0", + "_view_name": "StyleView", + "description_width": "" + } + }, + "de036e4308ec4cdba6a093b2236bd42f": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "1.5.0", + "model_name": "HTMLModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "1.5.0", + "_model_name": "HTMLModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "1.5.0", + "_view_name": "HTMLView", + "description": "", + "description_tooltip": null, + "layout": "IPY_MODEL_2bbf01a7a8cc4f4fb67f5a46318443a7", + "placeholder": "​", + "style": "IPY_MODEL_9445287e884c4af0a7ee2f3fcf43851f", + "value": "\n

                                                                                      Subscription already purchased

                                                                                      \n The dataset carto-do.ags.demographics_sociodemographics_usa_blockgroup_2015_yearly_2020 has already been purchased.\n " + } + } + }, + "version_major": 2, + "version_minor": 0 + } } }, "nbformat": 4, diff --git a/guides/creds.sample.json b/docs/guides/creds.sample.json similarity index 100% rename from guides/creds.sample.json rename to docs/guides/creds.sample.json diff --git a/docs/guides/guides.json b/docs/guides/guides.json new file mode 100644 index 000000000..8d3d406ff --- /dev/null +++ b/docs/guides/guides.json @@ -0,0 +1,55 @@ +{ + "main": { + "title": "Introduction", + "file": "introduction.md" + }, + "categories": [ + { + "title": "Guides", + "samples": [ + { + "title": "Installation", + "desc": "Install the library and set up your environment", + "file": "installation", + "path": "" + }, + { + "title": "Authentication", + "desc": "Login into CARTO to unlock the power of spatial analysis", + "file": "authentication", + "path": "" + }, + { + "title": "Quickstart", + "desc": "Complete a real project that walks through the library step by step", + "file": "quickstart", + "path": "" + }, + { + "title": "Data Management", + "desc": "Work with data both locally and with a CARTO account", + "file": "data_management", + "path": "" + }, + { + "title": "Data Visualization", + "desc": "Explore and visualize your spatial data with interactive maps", + "file": "data_visualization", + "path": "" + }, + { + "title": "Data Services", + "desc": "Geocode and discover areas of influence with Isolines", + "file": "data_services", + "path": "" + }, + { + "title": "Data Observatory", + "desc": "Discover and enrich your data with the Data Observatory", + "file": "data_observatory", + "path": "" + } + ] + } + ] +} diff --git a/docs/developer-center/img/guides/credentials/api-keys.png b/docs/guides/img/credentials/api-keys.png similarity index 100% rename from docs/developer-center/img/guides/credentials/api-keys.png rename to docs/guides/img/credentials/api-keys.png diff --git a/docs/developer-center/img/guides/credentials/dashboard.png b/docs/guides/img/credentials/dashboard.png similarity index 100% rename from docs/developer-center/img/guides/credentials/dashboard.png rename to docs/guides/img/credentials/dashboard.png diff --git a/docs/developer-center/img/guides/enrichment/enrichment_01.png b/docs/guides/img/enrichment/enrichment_01.png similarity index 100% rename from docs/developer-center/img/guides/enrichment/enrichment_01.png rename to docs/guides/img/enrichment/enrichment_01.png diff --git a/docs/developer-center/img/guides/explore_data_observatory_catalog_files/sub_dat.png b/docs/guides/img/subscriptions/sub_dat.png similarity index 100% rename from docs/developer-center/img/guides/explore_data_observatory_catalog_files/sub_dat.png rename to docs/guides/img/subscriptions/sub_dat.png diff --git a/docs/developer-center/img/guides/explore_data_observatory_catalog_files/sub_geo.png b/docs/guides/img/subscriptions/sub_geo.png similarity index 100% rename from docs/developer-center/img/guides/explore_data_observatory_catalog_files/sub_geo.png rename to docs/guides/img/subscriptions/sub_geo.png diff --git a/docs/includes/auth.rst b/docs/reference/auth.rst similarity index 90% rename from docs/includes/auth.rst rename to docs/reference/auth.rst index 7e1af9e4d..32cae03a1 100644 --- a/docs/includes/auth.rst +++ b/docs/reference/auth.rst @@ -2,6 +2,7 @@ Auth ---- .. automodule:: cartoframes.auth + :noindex: :members: :member-order: bysource :no-undoc-members: diff --git a/docs/includes/data_clients.rst b/docs/reference/data_clients.rst similarity index 91% rename from docs/includes/data_clients.rst rename to docs/reference/data_clients.rst index e60a25dd5..007890a8c 100644 --- a/docs/includes/data_clients.rst +++ b/docs/reference/data_clients.rst @@ -2,6 +2,7 @@ Data Clients ------------ .. automodule:: cartoframes.data.clients + :noindex: :members: :member-order: bysource :undoc-members: diff --git a/docs/includes/data_observatory.rst b/docs/reference/data_observatory.rst similarity index 97% rename from docs/includes/data_observatory.rst rename to docs/reference/data_observatory.rst index 0cfbeb111..18d48e845 100644 --- a/docs/includes/data_observatory.rst +++ b/docs/reference/data_observatory.rst @@ -9,6 +9,7 @@ users in a private beta. We're still open to more beta testers, so if you're int `please get in touch. `__ .. automodule:: cartoframes.data.observatory + :noindex: :members: :member-order: bysource :exclude-members: get_datasets_spatial_filtered diff --git a/docs/includes/data_services.rst b/docs/reference/data_services.rst similarity index 91% rename from docs/includes/data_services.rst rename to docs/reference/data_services.rst index 52937e1a6..0499d5a75 100644 --- a/docs/includes/data_services.rst +++ b/docs/reference/data_services.rst @@ -2,6 +2,7 @@ Data Services ------------- .. automodule:: cartoframes.data.services + :noindex: :members: :member-order: bysource :undoc-members: diff --git a/docs/includes/exceptions.rst b/docs/reference/exceptions.rst similarity index 91% rename from docs/includes/exceptions.rst rename to docs/reference/exceptions.rst index 5ca709498..c77124dcc 100644 --- a/docs/includes/exceptions.rst +++ b/docs/reference/exceptions.rst @@ -2,6 +2,7 @@ Exceptions ---------- .. automodule:: cartoframes.exceptions + :noindex: :members: :member-order: bysource :undoc-members: diff --git a/docs/includes/introduction.rst b/docs/reference/introduction.rst similarity index 100% rename from docs/includes/introduction.rst rename to docs/reference/introduction.rst diff --git a/docs/includes/io_functions.rst b/docs/reference/io_functions.rst similarity index 90% rename from docs/includes/io_functions.rst rename to docs/reference/io_functions.rst index c2113feb3..a195bd790 100644 --- a/docs/includes/io_functions.rst +++ b/docs/reference/io_functions.rst @@ -2,6 +2,7 @@ I/O functions ------------- .. automodule:: cartoframes + :noindex: :members: :member-order: bysource :undoc-members: diff --git a/docs/includes/utils.rst b/docs/reference/utils.rst similarity index 90% rename from docs/includes/utils.rst rename to docs/reference/utils.rst index c007c9bd1..483e1fe36 100644 --- a/docs/includes/utils.rst +++ b/docs/reference/utils.rst @@ -2,6 +2,7 @@ Utils ----- .. automodule:: cartoframes.utils + :noindex: :members: :member-order: bysource :undoc-members: diff --git a/docs/includes/viz.rst b/docs/reference/viz.rst similarity index 89% rename from docs/includes/viz.rst rename to docs/reference/viz.rst index 55e650f6e..a6fd04bc9 100644 --- a/docs/includes/viz.rst +++ b/docs/reference/viz.rst @@ -7,6 +7,7 @@ Map ^^^ .. autoclass:: cartoframes.viz.Map + :noindex: :members: :member-order: bysource :show-inheritance: @@ -15,6 +16,7 @@ Layer ^^^^^ .. autoclass:: cartoframes.viz.Layer + :noindex: :members: :member-order: bysource :show-inheritance: @@ -23,6 +25,7 @@ Source ^^^^^^ .. autoclass:: cartoframes.viz.Source + :noindex: :members: :member-order: bysource :show-inheritance: @@ -31,6 +34,7 @@ Layout ^^^^^^ .. autoclass:: cartoframes.viz.Layout + :noindex: :members: :member-order: bysource :show-inheritance: @@ -85,3 +89,11 @@ Popups :noindex: :members: popup_element, default_popup_element + +Publications +^^^^^^^^^^^^ + +.. automodule:: cartoframes.viz + :noindex: + :members: all_publications, + delete_publication \ No newline at end of file diff --git a/docs/developer-center/support/01-support-options.md b/docs/support/01-Support-options.md similarity index 100% rename from docs/developer-center/support/01-support-options.md rename to docs/support/01-Support-options.md diff --git a/docs/developer-center/support/02-contribute.md b/docs/support/02-Contribute.md similarity index 100% rename from docs/developer-center/support/02-contribute.md rename to docs/support/02-Contribute.md diff --git a/examples/_debug/.gitkeep b/examples/_debug/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/examples/_debug/enrichment_big_polygons.ipynb b/examples/_debug/enrichment_big_polygons.ipynb deleted file mode 100644 index 1ee13ac3d..000000000 --- a/examples/_debug/enrichment_big_polygons.ipynb +++ /dev/null @@ -1,154 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.utils import set_log_level\n", - "set_log_level('debug')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import geopandas as gpd\n", - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas\n", - "\n", - "df = pandas.read_csv('../files/ags.geography_usa_blockgroup_2015.csv')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df.head(3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df = df[['geoid','geom']]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "df.head(3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.data.observatory import Dataset, Variable\n", - "\n", - "dataset = Dataset.get('carto-do-public-data.usa_acs.demographics_sociodemographics_usa_blockgroup_2015_5yrs_20132017')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "dvs = dataset.variables" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for variable in dvs:\n", - " print(variable.agg_method, variable.db_type, variable.slug)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "variables = []\n", - "for i in range(10):\n", - " variables.append(dvs[i])\n", - " \n", - "variables" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.data.observatory import Enrichment\n", - "\n", - "enrichment = Enrichment()\n", - "\n", - "enriched_dataset_cdf = enrichment.enrich_polygons(\n", - " df,\n", - " geom_col='geom',\n", - " variables=variables\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "enriched_dataset_cdf.head(10)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.5" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/_debug/testing_polygons_features.ipynb b/examples/_debug/testing_polygons_features.ipynb deleted file mode 100644 index 12ad562a8..000000000 --- a/examples/_debug/testing_polygons_features.ipynb +++ /dev/null @@ -1,1865 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Enrich Polygons from a Dataset\n", - "\n", - "This example illustrates how to enrich polygons that are in a dataset with variables from CARTO's Data Observatory.\n", - "\n", - "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.utils import set_log_level\n", - "set_log_level('debug')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                      OBJECTIDFULLTRACTIDTRACTIDgeometry
                                                                                      0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...
                                                                                      1251013103000103000POLYGON ((-77.08558 38.82992, -77.08625 38.828...
                                                                                      2351013102902102902POLYGON ((-77.09520 38.84499, -77.09442 38.844...
                                                                                      \n", - "
                                                                                      " - ], - "text/plain": [ - " OBJECTID FULLTRACTID TRACTID \\\n", - "0 1 51013102901 102901 \n", - "1 2 51013103000 103000 \n", - "2 3 51013102902 102902 \n", - "\n", - " geometry \n", - "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... \n", - "1 POLYGON ((-77.08558 38.82992, -77.08625 38.828... \n", - "2 POLYGON ((-77.09520 38.84499, -77.09442 38.844... " - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from geopandas import read_file\n", - "\n", - "census_track = 'http://libs.cartocdn.com/cartoframes/files/census_track.geojson'\n", - "census_track_gdf = read_file(census_track)\n", - "census_track_gdf.head(3)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "census_track_gdf = census_track_gdf.head(1)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.data.observatory import Catalog\n", - "\n", - "Catalog().country('usa').category('demographics').geographies" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                      idslugnamedescriptioncountry_idgeography_idgeography_namegeography_descriptioncategory_idcategory_nameprovider_idprovider_namedata_source_idlangtemporal_aggregationtime_coverageupdate_frequencyversionis_public_data
                                                                                      0carto-do-public-data.usa_acs.demographics_soci...acs_sociodemogr_d4b2cf035-yr ACS data at Census Tracts level (2006 - 2...The American Community Survey (ACS) is an ongo...usacarto-do-public-data.usa_carto.geography_usa_c...NoneNonedemographicsNoneNoneNoneNoneeng5yrs[2006-01-01, 2011-01-01)None20062010True
                                                                                      1carto-do-public-data.usa_acs.demographics_soci...acs_sociodemogr_9ed5d6255-yr ACS data at Census Tracts level (2007 - 2...The American Community Survey (ACS) is an ongo...usacarto-do-public-data.usa_carto.geography_usa_c...NoneNonedemographicsNoneNoneNoneNoneeng5yrs[2007-01-01, 2012-01-01)None20072011True
                                                                                      2carto-do-public-data.usa_acs.demographics_soci...acs_sociodemogr_858c104e5-yr ACS data at Census Tracts level (2008 - 2...The American Community Survey (ACS) is an ongo...usacarto-do-public-data.usa_carto.geography_usa_c...NoneNonedemographicsNoneNoneNoneNoneeng5yrs[2008-01-01, 2013-01-01)None20082012True
                                                                                      3carto-do-public-data.usa_acs.demographics_soci...acs_sociodemogr_cfeb09685-yr ACS data at Census Tracts level (2009 - 2...The American Community Survey (ACS) is an ongo...usacarto-do-public-data.usa_carto.geography_usa_c...NoneNonedemographicsNoneNoneNoneNoneeng5yrs[2009-01-01, 2014-01-01)None20092013True
                                                                                      4carto-do-public-data.usa_acs.demographics_soci...acs_sociodemogr_97c32d1f5-yr ACS data at Census Tracts level (2010 - 2...The American Community Survey (ACS) is an ongo...usacarto-do-public-data.usa_carto.geography_usa_c...NoneNonedemographicsNoneNoneNoneNoneeng5yrs[2010-01-01, 2015-01-01)None20102014True
                                                                                      5carto-do-public-data.usa_acs.demographics_soci...acs_sociodemogr_dda434395-yr ACS data at Census Tracts level (2011 - 2...The American Community Survey (ACS) is an ongo...usacarto-do-public-data.usa_carto.geography_usa_c...NoneNonedemographicsNoneNoneNoneNoneeng5yrs[2011-01-01, 2016-01-01)None20112015True
                                                                                      6carto-do-public-data.usa_acs.demographics_soci...acs_sociodemogr_30d1f535-yr ACS data at Census Tracts level (2012 - 2...The American Community Survey (ACS) is an ongo...usacarto-do-public-data.usa_carto.geography_usa_c...NoneNonedemographicsNoneNoneNoneNoneeng5yrs[2012-01-01, 2017-01-01)None20122016True
                                                                                      7carto-do-public-data.usa_acs.demographics_soci...acs_sociodemogr_496a06755-yr ACS data at Census Tracts level (2013 - 2...The American Community Survey (ACS) is an ongo...usacarto-do-public-data.usa_carto.geography_usa_c...NoneNonedemographicsNoneNoneNoneNoneeng5yrs[2013-01-01, 2018-01-01)None20132017True
                                                                                      \n", - "
                                                                                      " - ], - "text/plain": [ - " id \\\n", - "0 carto-do-public-data.usa_acs.demographics_soci... \n", - "1 carto-do-public-data.usa_acs.demographics_soci... \n", - "2 carto-do-public-data.usa_acs.demographics_soci... \n", - "3 carto-do-public-data.usa_acs.demographics_soci... \n", - "4 carto-do-public-data.usa_acs.demographics_soci... \n", - "5 carto-do-public-data.usa_acs.demographics_soci... \n", - "6 carto-do-public-data.usa_acs.demographics_soci... \n", - "7 carto-do-public-data.usa_acs.demographics_soci... \n", - "\n", - " slug \\\n", - "0 acs_sociodemogr_d4b2cf03 \n", - "1 acs_sociodemogr_9ed5d625 \n", - "2 acs_sociodemogr_858c104e \n", - "3 acs_sociodemogr_cfeb0968 \n", - "4 acs_sociodemogr_97c32d1f \n", - "5 acs_sociodemogr_dda43439 \n", - "6 acs_sociodemogr_30d1f53 \n", - "7 acs_sociodemogr_496a0675 \n", - "\n", - " name \\\n", - "0 5-yr ACS data at Census Tracts level (2006 - 2... \n", - "1 5-yr ACS data at Census Tracts level (2007 - 2... \n", - "2 5-yr ACS data at Census Tracts level (2008 - 2... \n", - "3 5-yr ACS data at Census Tracts level (2009 - 2... \n", - "4 5-yr ACS data at Census Tracts level (2010 - 2... \n", - "5 5-yr ACS data at Census Tracts level (2011 - 2... \n", - "6 5-yr ACS data at Census Tracts level (2012 - 2... \n", - "7 5-yr ACS data at Census Tracts level (2013 - 2... \n", - "\n", - " description country_id \\\n", - "0 The American Community Survey (ACS) is an ongo... usa \n", - "1 The American Community Survey (ACS) is an ongo... usa \n", - "2 The American Community Survey (ACS) is an ongo... usa \n", - "3 The American Community Survey (ACS) is an ongo... usa \n", - "4 The American Community Survey (ACS) is an ongo... usa \n", - "5 The American Community Survey (ACS) is an ongo... usa \n", - "6 The American Community Survey (ACS) is an ongo... usa \n", - "7 The American Community Survey (ACS) is an ongo... usa \n", - "\n", - " geography_id geography_name \\\n", - "0 carto-do-public-data.usa_carto.geography_usa_c... None \n", - "1 carto-do-public-data.usa_carto.geography_usa_c... None \n", - "2 carto-do-public-data.usa_carto.geography_usa_c... None \n", - "3 carto-do-public-data.usa_carto.geography_usa_c... None \n", - "4 carto-do-public-data.usa_carto.geography_usa_c... None \n", - "5 carto-do-public-data.usa_carto.geography_usa_c... None \n", - "6 carto-do-public-data.usa_carto.geography_usa_c... None \n", - "7 carto-do-public-data.usa_carto.geography_usa_c... None \n", - "\n", - " geography_description category_id category_name provider_id provider_name \\\n", - "0 None demographics None None None \n", - "1 None demographics None None None \n", - "2 None demographics None None None \n", - "3 None demographics None None None \n", - "4 None demographics None None None \n", - "5 None demographics None None None \n", - "6 None demographics None None None \n", - "7 None demographics None None None \n", - "\n", - " data_source_id lang temporal_aggregation time_coverage \\\n", - "0 None eng 5yrs [2006-01-01, 2011-01-01) \n", - "1 None eng 5yrs [2007-01-01, 2012-01-01) \n", - "2 None eng 5yrs [2008-01-01, 2013-01-01) \n", - "3 None eng 5yrs [2009-01-01, 2014-01-01) \n", - "4 None eng 5yrs [2010-01-01, 2015-01-01) \n", - "5 None eng 5yrs [2011-01-01, 2016-01-01) \n", - "6 None eng 5yrs [2012-01-01, 2017-01-01) \n", - "7 None eng 5yrs [2013-01-01, 2018-01-01) \n", - "\n", - " update_frequency version is_public_data \n", - "0 None 20062010 True \n", - "1 None 20072011 True \n", - "2 None 20082012 True \n", - "3 None 20092013 True \n", - "4 None 20102014 True \n", - "5 None 20112015 True \n", - "6 None 20122016 True \n", - "7 None 20132017 True " - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "datasets = Catalog().country('usa').category('demographics').geography('usct_censustract_bc698c5a').datasets\n", - "datasets.to_dataframe()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.data.observatory import Dataset\n", - "\n", - "dataset = Dataset.get('acs_sociodemogr_d4b2cf03')\n", - "variables_df = dataset.variables" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "AVG FLOAT median_age_1b299936\n", - "None STRING geoidsl_52dffc46\n", - "None STRING geoidsc_c260e1d7\n", - "SUM FLOAT owner_occupied__a242d69b\n", - "SUM FLOAT bachelors_degre_c97d7ec4\n", - "SUM FLOAT bachelors_degre_619dbbbf\n", - "SUM FLOAT children_ccc14aa2\n", - "SUM FLOAT children_in_sin_96bc4ba1\n", - "SUM FLOAT employed_inform_cc19ebad\n", - "SUM FLOAT employed_manufa_4e5264bc\n", - "SUM FLOAT employed_other__a5acf594\n", - "SUM FLOAT employed_public_80ba451f\n", - "SUM FLOAT employed_retail_3cfcad1f\n", - "SUM FLOAT employed_scienc_10f6c661\n", - "SUM FLOAT employed_transp_66aedbfd\n", - "SUM FLOAT employed_wholes_dfec4891\n", - "SUM FLOAT female_female_h_d11712ea\n", - "SUM FLOAT four_more_cars_297e8a8a\n", - "AVG FLOAT gini_index_e8c30f9a\n", - "SUM FLOAT graduate_profes_ce2840a8\n", - "SUM FLOAT three_cars_32e541e7\n", - "SUM FLOAT pop_25_64_ce8c2ef0\n", - "SUM FLOAT pop_determined__486c4212\n", - "SUM FLOAT population_1_ye_dcac6ed6\n", - "SUM FLOAT population_3_ye_ca9ce3ea\n", - "AVG FLOAT poverty_4c2c9ac5\n", - "SUM FLOAT sales_office_em_abb972b6\n", - "SUM FLOAT some_college_an_23a0fb89\n", - "SUM FLOAT pop_15_and_over_1b25d822\n", - "SUM FLOAT nonfamily_house_2c17f15c\n", - "SUM FLOAT family_househol_f2823597\n", - "AVG FLOAT median_year_str_b19af9b2\n", - "SUM FLOAT rent_under_10_p_211ac215\n", - "SUM FLOAT total_pop_a33e39b6\n", - "SUM FLOAT two_or_more_rac_1ffad07d\n", - "SUM FLOAT not_hispanic_po_e7e18ed1\n", - "SUM FLOAT commuters_by_pu_424732d2\n", - "SUM FLOAT households_284a100f\n", - "AVG FLOAT median_income_57be5af4\n", - "AVG FLOAT income_per_capi_b4d33d67\n", - "SUM FLOAT housing_units_8326b884\n", - "SUM FLOAT vacant_housing__693f6a2e\n", - "SUM FLOAT one_parent_fami_1dd05196\n", - "SUM FLOAT father_one_pare_25ca6df1\n", - "SUM FLOAT aggregate_trave_17822663\n", - "SUM FLOAT income_less_100_765da10b\n", - "SUM FLOAT income_10000_14_95a8a848\n", - "SUM FLOAT income_15000_19_81ebbbd1\n", - "SUM FLOAT income_20000_24_4beab499\n", - "SUM FLOAT income_150000_1_ead90f3e\n", - "SUM FLOAT income_200000_o_70cb9ea7\n", - "SUM FLOAT renter_occupied_c1345262\n", - "AVG FLOAT owner_occupied__a9e65f75\n", - "AVG FLOAT owner_occupied__1cd53499\n", - "AVG FLOAT owner_occupied__6fbe04\n", - "SUM FLOAT married_househo_ba272390\n", - "SUM FLOAT occupied_housin_1c3f3f66\n", - "SUM FLOAT housing_units_r_3ee939f2\n", - "SUM FLOAT dwellings_1_uni_58e5d43\n", - "SUM FLOAT dwellings_1_uni_8cc7c45d\n", - "SUM FLOAT dwellings_2_uni_c5cf037c\n", - "SUM FLOAT dwellings_3_to__ff82fdc3\n", - "SUM FLOAT dwellings_5_to__716839e3\n", - "SUM FLOAT housing_built_1_7de983ff\n", - "SUM FLOAT rent_burden_not_da5f7289\n", - "SUM FLOAT rent_over_50_pe_ad21c098\n", - "SUM FLOAT rent_40_to_50_p_d4c51557\n", - "SUM FLOAT rent_35_to_40_p_f5793897\n", - "SUM FLOAT rent_30_to_35_p_6eb5d82a\n", - "SUM FLOAT rent_25_to_30_p_b9cdb27f\n", - "SUM FLOAT rent_20_to_25_p_2f1f2285\n", - "SUM FLOAT rent_15_to_20_p_7fc76db3\n", - "SUM FLOAT rent_10_to_15_p_ede02d74\n", - "SUM FLOAT male_pop_354090a6\n", - "SUM FLOAT female_pop_bcc7b2e6\n", - "SUM FLOAT white_pop_c874003d\n", - "SUM FLOAT black_pop_3865cbdc\n", - "SUM FLOAT asian_pop_12b4b482\n", - "SUM FLOAT hispanic_pop_234f387e\n", - "SUM FLOAT amerindian_pop_828802fd\n", - "SUM FLOAT other_race_pop_36c463b6\n", - "SUM FLOAT vacant_housing__85c50752\n", - "SUM FLOAT vacant_housing__62f68a9b\n", - "AVG FLOAT median_rent_e817137c\n", - "AVG FLOAT percent_income__d1ee2cb7\n", - "SUM FLOAT million_dollar__ece23260\n", - "SUM FLOAT mortgaged_housi_3a77552a\n", - "SUM FLOAT families_with_y_1e479228\n", - "SUM FLOAT two_parent_fami_6d4ac4e8\n", - "SUM FLOAT two_parents_in__bb6a383b\n", - "SUM FLOAT two_parents_fat_ead57f01\n", - "SUM FLOAT two_parents_mot_738c0aab\n", - "SUM FLOAT two_parents_not_792221c\n", - "SUM FLOAT father_in_labor_196dbc7c\n", - "SUM FLOAT commute_10_14_m_f54c364d\n", - "SUM FLOAT commute_15_19_m_34560dc\n", - "SUM FLOAT commute_20_24_m_2f9397d3\n", - "SUM FLOAT commute_25_29_m_d99ac142\n", - "SUM FLOAT commute_30_34_m_6626f759\n", - "SUM FLOAT commute_45_59_m_11238f8b\n", - "SUM FLOAT income_25000_29_5fa9a700\n", - "SUM FLOAT income_30000_34_b70442e9\n", - "SUM FLOAT income_35000_39_a3475170\n", - "SUM FLOAT income_40000_44_2c1f8b7a\n", - "SUM FLOAT income_45000_49_385c98e3\n", - "SUM FLOAT income_50000_59_229ba5d7\n", - "SUM FLOAT income_60000_74_33d3486b\n", - "SUM FLOAT income_75000_99_592e3a53\n", - "SUM FLOAT income_100000_1_f7c091e2\n", - "SUM FLOAT income_125000_1_17868e42\n", - "SUM FLOAT dwellings_10_to_78e88389\n", - "SUM FLOAT dwellings_20_to_4c69a836\n", - "SUM FLOAT dwellings_50_or_abd034b2\n", - "SUM FLOAT mobile_homes_20947ee9\n", - "SUM FLOAT housing_built_2_874b0fbe\n", - "SUM FLOAT housing_built_2_1215578e\n", - "SUM FLOAT male_under_5_2e8459e4\n", - "SUM FLOAT male_5_to_9_7552c2ff\n", - "SUM FLOAT male_10_to_14_7fe0e4e7\n", - "SUM FLOAT male_15_to_17_b4d19afa\n", - "SUM FLOAT male_18_to_19_32bed63d\n", - "SUM FLOAT male_20_c3c94d9c\n", - "SUM FLOAT male_21_b4ce7d0a\n", - "SUM FLOAT male_22_to_24_4ddda1ee\n", - "SUM FLOAT male_25_to_29_f6cbe3dd\n", - "SUM FLOAT male_30_to_34_ff38118\n", - "SUM FLOAT male_35_to_39_237ad202\n", - "SUM FLOAT male_40_to_44_4a771ec6\n", - "SUM FLOAT male_45_to_49_66fe4ddc\n", - "SUM FLOAT male_50_to_54_9fc62f19\n", - "SUM FLOAT male_55_to_59_b34f7c03\n", - "SUM FLOAT male_60_61_e6858d1b\n", - "SUM FLOAT male_62_64_3ce6b11f\n", - "SUM FLOAT male_65_to_66_865235b2\n", - "SUM FLOAT male_67_to_69_8172390a\n", - "SUM FLOAT male_70_to_74_efd54ae6\n", - "SUM FLOAT male_75_to_79_c35c19fc\n", - "SUM FLOAT male_80_to_84_b16d4485\n", - "SUM FLOAT male_85_and_ove_64f22713\n", - "SUM FLOAT female_under_5_6effa65f\n", - "SUM FLOAT female_5_to_9_d1a61f15\n", - "SUM FLOAT female_10_to_14_2313f51c\n", - "SUM FLOAT female_15_to_17_e8228b01\n", - "SUM FLOAT female_18_to_19_6e4dc7c6\n", - "SUM FLOAT female_20_97c0ed05\n", - "SUM FLOAT female_21_e0c7dd93\n", - "SUM FLOAT female_22_to_24_112eb015\n", - "SUM FLOAT female_25_to_29_aa38f226\n", - "SUM FLOAT female_30_to_34_530090e3\n", - "SUM FLOAT female_35_to_39_7f89c3f9\n", - "SUM FLOAT female_40_to_44_16840f3d\n", - "SUM FLOAT female_45_to_49_3a0d5c27\n", - "SUM FLOAT female_50_to_54_c3353ee2\n", - "SUM FLOAT female_55_to_59_efbc6df8\n", - "SUM FLOAT female_60_to_61_16fd9e4d\n", - "SUM FLOAT female_62_to_64_f1087beb\n", - "SUM FLOAT female_65_to_66_daa12449\n", - "SUM FLOAT female_67_to_69_dd8128f1\n", - "SUM FLOAT female_70_to_74_b3265b1d\n", - "SUM FLOAT female_75_to_79_9faf0807\n", - "SUM FLOAT female_80_to_84_ed9e557e\n", - "SUM FLOAT female_85_and_o_aa0e3bc8\n", - "SUM FLOAT white_including_13a12d2a\n", - "SUM FLOAT black_including_60df12f\n", - "SUM FLOAT amerindian_incl_2cc3ddb8\n", - "SUM FLOAT households_reti_5455ca9\n", - "SUM FLOAT asian_including_5f6cf2a1\n", - "SUM FLOAT commute_5_9_min_bfa74847\n", - "SUM FLOAT commute_35_39_m_902fa1c8\n", - "SUM FLOAT commute_40_44_m_415dd2ae\n", - "SUM FLOAT commute_60_89_m_3e967b39\n", - "SUM FLOAT commute_90_more_cbc109e\n", - "SUM FLOAT asian_male_45_5_7e082193\n", - "SUM FLOAT asian_male_55_6_68455be0\n", - "SUM FLOAT black_male_45_5_8c8c15de\n", - "SUM FLOAT black_male_55_6_9ac16fad\n", - "SUM FLOAT hispanic_male_4_c3d75b15\n", - "SUM FLOAT hispanic_male_5_d59a2166\n", - "SUM FLOAT white_male_45_5_8992fe9f\n", - "SUM FLOAT white_male_55_6_9fdf84ec\n", - "SUM FLOAT commuters_by_bu_f462d018\n", - "SUM FLOAT commuters_by_ca_120481e3\n", - "SUM FLOAT commuters_by_ca_59febe6f\n", - "SUM FLOAT commuters_by_su_4321535d\n", - "SUM FLOAT commuters_drove_acf77a1\n", - "SUM FLOAT different_house_168a8dda\n", - "SUM FLOAT different_house_307db01c\n", - "SUM FLOAT employed_agricu_f4fac119\n", - "SUM FLOAT employed_arts_e_7f42bf01\n", - "SUM FLOAT employed_constr_a28f52\n", - "SUM FLOAT employed_educat_958fdcfe\n", - "SUM FLOAT employed_financ_832aff0\n", - "SUM FLOAT group_quarters_f24e7e81\n", - "SUM FLOAT high_school_inc_801ba545\n", - "SUM FLOAT households_publ_d903e7c5\n", - "SUM FLOAT in_grades_1_to__793491e9\n", - "SUM FLOAT in_grades_5_to__eb139fd4\n", - "SUM FLOAT in_grades_9_to__8de26a62\n", - "SUM FLOAT in_school_5d68bd33\n", - "SUM FLOAT in_undergrad_co_11ce5095\n", - "SUM FLOAT less_than_high__18fc6722\n", - "SUM FLOAT male_45_64_asso_be1663b3\n", - "SUM FLOAT male_45_64_bach_6b3eabae\n", - "SUM FLOAT male_45_64_grad_fbd67eb0\n", - "SUM FLOAT male_45_64_less_50cc49a5\n", - "SUM FLOAT male_45_64_grad_d3f1aec0\n", - "SUM FLOAT male_45_64_high_6fa71b7c\n", - "SUM FLOAT male_45_64_some_dc1e1dff\n", - "SUM FLOAT male_45_to_64_2a7953e3\n", - "SUM FLOAT male_male_house_aa5c9704\n", - "SUM FLOAT management_busi_6f59f766\n", - "SUM FLOAT no_car_2207f034\n", - "SUM FLOAT no_cars_3a983c4e\n", - "SUM FLOAT not_us_citizen__46c0b5c4\n", - "SUM FLOAT occupation_mana_4f052cbd\n", - "SUM FLOAT occupation_natu_35dc85be\n", - "SUM FLOAT occupation_prod_4c913f7f\n", - "SUM FLOAT occupation_sale_e7afd291\n", - "SUM FLOAT occupation_serv_a3e87fbe\n", - "SUM FLOAT one_car_13b3a60b\n", - "SUM FLOAT two_cars_fec37223\n", - "SUM FLOAT walked_to_work_3e52e21c\n", - "SUM FLOAT worked_at_home_5ff2f52f\n", - "SUM FLOAT workers_16_and__f5bce7ef\n", - "SUM FLOAT hispanic_any_ra_319301\n", - "SUM FLOAT pop_5_years_ove_2d330bc0\n", - "SUM FLOAT speak_only_engl_73f2e1ff\n", - "SUM FLOAT speak_spanish_a_8aee2c1f\n", - "SUM FLOAT speak_spanish_a_ce691296\n", - "SUM FLOAT pop_never_marri_651528ed\n", - "SUM FLOAT pop_now_married_ee923870\n", - "SUM FLOAT pop_separated_9f2ec8b9\n", - "SUM FLOAT pop_widowed_a4b162d6\n", - "SUM FLOAT pop_divorced_61aba4d6\n", - "None STRING geoid_c6cf8662\n", - "None STRING do_date_a1b1496e\n" - ] - } - ], - "source": [ - "for variable in variables_df:\n", - " print(variable.agg_method, variable.db_type, variable.slug)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.data.observatory import Variable\n", - "\n", - "v1 = Variable.get('no_car_2207f034') # SUM, FLOAT\n", - "v2 = Variable.get('poverty_4c2c9ac5') # AVG, FLOAT\n", - "v3 = Variable.get('geoidsl_52dffc46') # None, STRING\n", - "\n", - "variables = [v1, v2, v3]" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2020-03-13 13:18:04,568 - DEBUG - _prepare_data in 0.01 s\n", - "2020-03-13 13:18:09,230 - DEBUG - _upload_data in 4.66 s\n", - "2020-03-13 13:18:17,120 - DEBUG - _execute_enrichment in 7.89 s\n", - "2020-03-13 13:18:17,126 - DEBUG - _enrich in 12.57 s\n" - ] - } - ], - "source": [ - "from cartoframes.data.observatory import Enrichment\n", - "\n", - "enrichment = Enrichment()\n", - "\n", - "enriched_dataset_gdf = enrichment.enrich_polygons(\n", - " census_track_gdf,\n", - " variables=variables,\n", - " aggregation=None\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                      OBJECTIDFULLTRACTIDTRACTIDgeometrygeoidslpovertyno_carintersected_areado_areauser_areado_geoid
                                                                                      0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...5101310280255.00.035.0337377.313817e+05681621.69313851013102802
                                                                                      1151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...5101310290168.00.0677561.5387026.961294e+05681621.69313851013102901
                                                                                      2151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...51510201000100.014.023.7712277.811361e+05681621.69313851510201000
                                                                                      3151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...51013102902256.0124.03571.7536937.531163e+05681621.69313851013102902
                                                                                      4151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...51510200107341.0217.0161.3818236.377265e+05681621.69313851510200107
                                                                                      5151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...51013102702247.061.00.3900702.834087e+05681621.69313851013102702
                                                                                      6151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...51013103100489.0102.0267.8238041.908856e+06681621.69313851013103100
                                                                                      \n", - "
                                                                                      " - ], - "text/plain": [ - " OBJECTID FULLTRACTID TRACTID \\\n", - "0 1 51013102901 102901 \n", - "1 1 51013102901 102901 \n", - "2 1 51013102901 102901 \n", - "3 1 51013102901 102901 \n", - "4 1 51013102901 102901 \n", - "5 1 51013102901 102901 \n", - "6 1 51013102901 102901 \n", - "\n", - " geometry geoidsl poverty \\\n", - "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51013102802 55.0 \n", - "1 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51013102901 68.0 \n", - "2 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51510201000 100.0 \n", - "3 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51013102902 256.0 \n", - "4 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51510200107 341.0 \n", - "5 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51013102702 247.0 \n", - "6 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51013103100 489.0 \n", - "\n", - " no_car intersected_area do_area user_area do_geoid \n", - "0 0.0 35.033737 7.313817e+05 681621.693138 51013102802 \n", - "1 0.0 677561.538702 6.961294e+05 681621.693138 51013102901 \n", - "2 14.0 23.771227 7.811361e+05 681621.693138 51510201000 \n", - "3 124.0 3571.753693 7.531163e+05 681621.693138 51013102902 \n", - "4 217.0 161.381823 6.377265e+05 681621.693138 51510200107 \n", - "5 61.0 0.390070 2.834087e+05 681621.693138 51013102702 \n", - "6 102.0 267.823804 1.908856e+06 681621.693138 51013103100 " - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "enriched_dataset_gdf.head(20)" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2020-03-13 13:23:45,199 - DEBUG - _prepare_data in 0.01 s\n", - "2020-03-13 13:23:48,893 - DEBUG - _upload_data in 3.69 s\n", - "2020-03-13 13:23:55,352 - DEBUG - _execute_enrichment in 6.46 s\n", - "2020-03-13 13:23:55,360 - DEBUG - _enrich in 10.17 s\n" - ] - }, - { - "data": { - "text/html": [ - "
                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                      OBJECTIDFULLTRACTIDTRACTIDgeometrygeoidslpovertyno_carintersected_areado_areauser_areado_geoid
                                                                                      0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...51013102902256.0124.03571.753693753116.255091681621.69313851013102902
                                                                                      \n", - "
                                                                                      " - ], - "text/plain": [ - " OBJECTID FULLTRACTID TRACTID \\\n", - "0 1 51013102901 102901 \n", - "\n", - " geometry geoidsl poverty \\\n", - "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51013102902 256.0 \n", - "\n", - " no_car intersected_area do_area user_area do_geoid \n", - "0 124.0 3571.753693 753116.255091 681621.693138 51013102902 " - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.data.observatory import Enrichment\n", - "\n", - "enrichment = Enrichment()\n", - "\n", - "enriched_dataset_gdf = enrichment.enrich_polygons(\n", - " census_track_gdf,\n", - " variables=variables,\n", - " aggregation=None,\n", - " filters={v1.id: \"> 100\", v2.id: \"< 300\"}\n", - ")\n", - "\n", - "enriched_dataset_gdf.head(20)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2020-03-13 13:18:17,187 - DEBUG - _prepare_data in 0.0 s\n", - "2020-03-13 13:18:22,133 - DEBUG - _upload_data in 4.94 s\n", - "2020-03-13 13:18:29,719 - DEBUG - _execute_enrichment in 7.59 s\n", - "2020-03-13 13:18:29,769 - DEBUG - _enrich in 12.58 s\n" - ] - } - ], - "source": [ - "from cartoframes.data.observatory import Enrichment\n", - "\n", - "enrichment = Enrichment()\n", - "\n", - "enriched_dataset_gdf = enrichment.enrich_polygons(\n", - " census_track_gdf,\n", - " variables=variables\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                      OBJECTIDFULLTRACTIDTRACTIDgeometrypovertyno_car
                                                                                      0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...222.2857140.657821
                                                                                      \n", - "
                                                                                      " - ], - "text/plain": [ - " OBJECTID FULLTRACTID TRACTID \\\n", - "0 1 51013102901 102901 \n", - "\n", - " geometry poverty no_car \n", - "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 222.285714 0.657821 " - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "enriched_dataset_gdf.head(20)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2020-03-13 13:18:29,843 - DEBUG - _prepare_data in 0.01 s\n", - "2020-03-13 13:18:33,361 - DEBUG - _upload_data in 3.52 s\n", - "2020-03-13 13:18:41,083 - DEBUG - _execute_enrichment in 7.72 s\n", - "2020-03-13 13:18:41,109 - DEBUG - _enrich in 11.28 s\n" - ] - } - ], - "source": [ - "from cartoframes.data.observatory import Enrichment\n", - "\n", - "enrichment = Enrichment()\n", - "\n", - "enriched_dataset_gdf = enrichment.enrich_polygons(\n", - " census_track_gdf,\n", - " variables=variables,\n", - " aggregation='ARRAY_AGG'\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                      OBJECTIDFULLTRACTIDTRACTIDgeometrygeoidslpovertyno_car
                                                                                      0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...['51013102902', '51013103100', '51510200107', ...[256.0, 489.0, 341.0, 247.0, 55.0, 68.0, 100.0][124.0, 102.0, 217.0, 61.0, 0.0, 0.0, 14.0]
                                                                                      \n", - "
                                                                                      " - ], - "text/plain": [ - " OBJECTID FULLTRACTID TRACTID \\\n", - "0 1 51013102901 102901 \n", - "\n", - " geometry \\\n", - "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... \n", - "\n", - " geoidsl \\\n", - "0 ['51013102902', '51013103100', '51510200107', ... \n", - "\n", - " poverty \\\n", - "0 [256.0, 489.0, 341.0, 247.0, 55.0, 68.0, 100.0] \n", - "\n", - " no_car \n", - "0 [124.0, 102.0, 217.0, 61.0, 0.0, 0.0, 14.0] " - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "enriched_dataset_gdf.head(20)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2020-03-13 13:18:41,154 - DEBUG - _prepare_data in 0.0 s\n", - "2020-03-13 13:18:44,561 - DEBUG - _upload_data in 3.41 s\n", - "2020-03-13 13:18:50,709 - DEBUG - _execute_enrichment in 6.15 s\n", - "2020-03-13 13:18:50,739 - DEBUG - _enrich in 9.59 s\n" - ] - }, - { - "data": { - "text/html": [ - "
                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                      OBJECTIDFULLTRACTIDTRACTIDgeometrypovertysum_no_caravg_no_car
                                                                                      0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...222.2857140.65782174.0
                                                                                      \n", - "
                                                                                      " - ], - "text/plain": [ - " OBJECTID FULLTRACTID TRACTID \\\n", - "0 1 51013102901 102901 \n", - "\n", - " geometry poverty sum_no_car \\\n", - "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 222.285714 0.657821 \n", - "\n", - " avg_no_car \n", - "0 74.0 " - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "enrichment = Enrichment()\n", - "\n", - "enriched_dataset_gdf = enrichment.enrich_polygons(\n", - " census_track_gdf,\n", - " variables=variables,\n", - " aggregation={v1.id: ['SUM', 'AVG'], v2.id:'AVG'}\n", - ")\n", - "\n", - "enriched_dataset_gdf.head(20)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2020-03-13 13:18:50,770 - DEBUG - _prepare_data in 0.0 s\n", - "2020-03-13 13:18:54,184 - DEBUG - _upload_data in 3.41 s\n", - "2020-03-13 13:19:00,228 - DEBUG - _execute_enrichment in 6.04 s\n", - "2020-03-13 13:19:00,237 - DEBUG - _enrich in 9.47 s\n" - ] - }, - { - "data": { - "text/html": [ - "
                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                      OBJECTIDFULLTRACTIDTRACTIDgeometrygeoidslpovertyno_carintersected_areado_areauser_areado_geoid
                                                                                      0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...51013102902256.0124.03571.7536937.531163e+05681621.69313851013102902
                                                                                      1151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...51013102702247.061.00.3900702.834087e+05681621.69313851013102702
                                                                                      2151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...51510201000100.014.023.7712277.811361e+05681621.69313851510201000
                                                                                      3151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...51013103100489.0102.0267.8238041.908856e+06681621.69313851013103100
                                                                                      4151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...51510200107341.0217.0161.3818236.377265e+05681621.69313851510200107
                                                                                      \n", - "
                                                                                      " - ], - "text/plain": [ - " OBJECTID FULLTRACTID TRACTID \\\n", - "0 1 51013102901 102901 \n", - "1 1 51013102901 102901 \n", - "2 1 51013102901 102901 \n", - "3 1 51013102901 102901 \n", - "4 1 51013102901 102901 \n", - "\n", - " geometry geoidsl poverty \\\n", - "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51013102902 256.0 \n", - "1 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51013102702 247.0 \n", - "2 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51510201000 100.0 \n", - "3 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51013103100 489.0 \n", - "4 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51510200107 341.0 \n", - "\n", - " no_car intersected_area do_area user_area do_geoid \n", - "0 124.0 3571.753693 7.531163e+05 681621.693138 51013102902 \n", - "1 61.0 0.390070 2.834087e+05 681621.693138 51013102702 \n", - "2 14.0 23.771227 7.811361e+05 681621.693138 51510201000 \n", - "3 102.0 267.823804 1.908856e+06 681621.693138 51013103100 \n", - "4 217.0 161.381823 6.377265e+05 681621.693138 51510200107 " - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "enrichment = Enrichment()\n", - "\n", - "enriched_dataset_gdf = enrichment.enrich_polygons(\n", - " census_track_gdf,\n", - " variables=variables,\n", - " aggregation=None,\n", - " filters={v1.id: \"> 0\"}\n", - ")\n", - "\n", - "enriched_dataset_gdf.head(20)" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2020-03-13 13:19:00,296 - DEBUG - _prepare_data in 0.0 s\n", - "2020-03-13 13:19:05,040 - DEBUG - _upload_data in 4.74 s\n", - "2020-03-13 13:19:12,828 - DEBUG - _execute_enrichment in 7.79 s\n", - "2020-03-13 13:19:12,852 - DEBUG - _enrich in 12.56 s\n" - ] - }, - { - "data": { - "text/html": [ - "
                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                      OBJECTIDFULLTRACTIDTRACTIDgeometrygeoidslpovertyno_carintersected_areado_areauser_areado_geoid
                                                                                      0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...51013103100489.0102.0267.8238041.908856e+06681621.69313851013103100
                                                                                      1151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...51013102702247.061.00.3900702.834087e+05681621.69313851013102702
                                                                                      2151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...51510201000100.014.023.7712277.811361e+05681621.69313851510201000
                                                                                      3151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...51013102902256.0124.03571.7536937.531163e+05681621.69313851013102902
                                                                                      \n", - "
                                                                                      " - ], - "text/plain": [ - " OBJECTID FULLTRACTID TRACTID \\\n", - "0 1 51013102901 102901 \n", - "1 1 51013102901 102901 \n", - "2 1 51013102901 102901 \n", - "3 1 51013102901 102901 \n", - "\n", - " geometry geoidsl poverty \\\n", - "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51013103100 489.0 \n", - "1 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51013102702 247.0 \n", - "2 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51510201000 100.0 \n", - "3 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 51013102902 256.0 \n", - "\n", - " no_car intersected_area do_area user_area do_geoid \n", - "0 102.0 267.823804 1.908856e+06 681621.693138 51013103100 \n", - "1 61.0 0.390070 2.834087e+05 681621.693138 51013102702 \n", - "2 14.0 23.771227 7.811361e+05 681621.693138 51510201000 \n", - "3 124.0 3571.753693 7.531163e+05 681621.693138 51013102902 " - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "enrichment = Enrichment()\n", - "\n", - "enriched_dataset_gdf = enrichment.enrich_polygons(\n", - " census_track_gdf,\n", - " variables=variables,\n", - " aggregation=None,\n", - " filters={v1.id: [\"> 0\", \"< 200\"]}\n", - ")\n", - "\n", - "enriched_dataset_gdf.head(20)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2020-03-13 13:19:12,898 - DEBUG - _prepare_data in 0.0 s\n", - "2020-03-13 13:19:17,869 - DEBUG - _upload_data in 4.97 s\n", - "2020-03-13 13:19:25,423 - DEBUG - _execute_enrichment in 7.55 s\n", - "2020-03-13 13:19:25,452 - DEBUG - _enrich in 12.56 s\n" - ] - }, - { - "data": { - "text/html": [ - "
                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                      OBJECTIDFULLTRACTIDTRACTIDgeometrypovertyno_car
                                                                                      0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...273.00.602908
                                                                                      \n", - "
                                                                                      " - ], - "text/plain": [ - " OBJECTID FULLTRACTID TRACTID \\\n", - "0 1 51013102901 102901 \n", - "\n", - " geometry poverty no_car \n", - "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 273.0 0.602908 " - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "enrichment = Enrichment()\n", - "\n", - "enriched_dataset_gdf = enrichment.enrich_polygons(\n", - " census_track_gdf,\n", - " variables=variables,\n", - " filters={v1.id: [\"> 0\", \"< 200\"]}\n", - ")\n", - "\n", - "enriched_dataset_gdf.head(20)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2020-03-13 13:19:25,480 - DEBUG - _prepare_data in 0.0 s\n", - "2020-03-13 13:19:28,968 - DEBUG - _upload_data in 3.49 s\n", - "2020-03-13 13:19:36,482 - DEBUG - _execute_enrichment in 7.51 s\n", - "2020-03-13 13:19:36,507 - DEBUG - _enrich in 11.03 s\n" - ] - }, - { - "data": { - "text/html": [ - "
                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                      OBJECTIDFULLTRACTIDTRACTIDgeometrypovertysum_no_caravg_no_car
                                                                                      0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...273.00.60290875.25
                                                                                      \n", - "
                                                                                      " - ], - "text/plain": [ - " OBJECTID FULLTRACTID TRACTID \\\n", - "0 1 51013102901 102901 \n", - "\n", - " geometry poverty sum_no_car \\\n", - "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 273.0 0.602908 \n", - "\n", - " avg_no_car \n", - "0 75.25 " - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "enrichment = Enrichment()\n", - "\n", - "enriched_dataset_gdf = enrichment.enrich_polygons(\n", - " census_track_gdf,\n", - " variables=variables,\n", - " aggregation={v1.id: ['SUM', 'AVG'], v2.id:'AVG'},\n", - " filters={v1.id: [\"> 0\", \"< 200\"]}\n", - ")\n", - "\n", - "enriched_dataset_gdf.head(20)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.5" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/data_management/load_data_different_crs.ipynb b/examples/data_management/load_data_different_crs.ipynb deleted file mode 100644 index 6380a4fef..000000000 --- a/examples/data_management/load_data_different_crs.ipynb +++ /dev/null @@ -1,1337 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Load data with a different CRS\n", - "\n", - "This example illustrates how to load data from a GeoPandas dataset with a CRS different than `EPSG:4326`, the one that CARTOframes needs to visualize layers, and the one CARTO needs to upload data." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.viz import Layer\n", - "from geopandas import datasets, read_file" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "gdf = read_file(datasets.get_path('nybb'))" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'epsg:2263'" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "str(gdf.crs)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "gdf.to_crs(epsg=4326, inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                      \n", - "
                                                                                      \n", - "
                                                                                      \n", - " \n", - " \n", - "
                                                                                      \n", - "
                                                                                      \n", - "
                                                                                      \n", - "\n", - " \n", - "\n", - "
                                                                                      \n", - "
                                                                                      \n", - " :\n", - "
                                                                                      \n", - " \n", - " \n", - "
                                                                                      \n", - "
                                                                                      \n", - "\n", - "
                                                                                      \n", - " StackTrace\n", - "
                                                                                        \n", - "
                                                                                        \n", - "
                                                                                        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Layer(gdf)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.7" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/examples/data_management/load_data_from_carto_query.ipynb b/examples/data_management/load_data_from_carto_query.ipynb deleted file mode 100644 index 85e32a272..000000000 --- a/examples/data_management/load_data_from_carto_query.ipynb +++ /dev/null @@ -1,1545 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Load data from a CARTO SQL Query\n", - "\n", - "This example illustrates how to load data from a CARTO table using a SQL Query.\n", - "\n", - "> Use this when you need to see or modify the data locally. If you only need to visualize the data, just use the query directly in the Layer: `Layer('SELECT * FROM dataset_name')`\n", - "\n", - "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('cartoframes')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                        \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                        cartodb_idthe_geomfuel4country_abbrevcountrynamegppd_idnrcapacity_mwlatitudelongitude...ownersourceurlgeolocation_sourceyear_of_capacity_datageneration_gwh_2013generation_gwh_2014generation_gwh_2015generation_gwh_2016estimated_generation_gwh
                                                                                        02161POINT (-40.57080 -20.39530)BRABrazilJucuBRA00012724.840-20.3953-40.5708...Agência Nacional de Energia Elétrica (Brazil)http://www2.aneel.gov.br/aplicacoes/capacidade...Agência Nacional de Energia Elétrica (Brazil)2017NoneNoneNone18.435905
                                                                                        12502POINT (-53.00000 -19.00000)BRABrazilParaíso IBRA002758721.600-19.0000-53.0000...Agência Nacional de Energia Elétrica (Brazil)http://www2.aneel.gov.br/aplicacoes/capacidade...Agência Nacional de Energia Elétrica (Brazil)2017NoneNoneNone82.275939
                                                                                        22989POINT (-46.50000 -22.60000)BRABrazilSocorroBRA00027621.000-22.6000-46.5000...Agência Nacional de Energia Elétrica (Brazil)http://www2.aneel.gov.br/aplicacoes/capacidade...Agência Nacional de Energia Elétrica (Brazil)2017NoneNoneNone3.809071
                                                                                        31116POINT (-48.72300 -1.53740)BRABrazilAlunorteBRA0028916103.854-1.5374-48.7230...Agência Nacional de Energia Elétrica (Brazil)http://www2.aneel.gov.br/aplicacoes/capacidade...Agência Nacional de Energia Elétrica (Brazil)2017NoneNoneNone994.854387
                                                                                        41386POINT (-44.06640 -19.54880)BRABrazilCOSIMATBRA00329592.000-19.5488-44.0664...Agência Nacional de Energia Elétrica (Brazil)http://www2.aneel.gov.br/aplicacoes/capacidade...Agência Nacional de Energia Elétrica (Brazil)2017NoneNoneNone8.554761
                                                                                        \n", - "

                                                                                        5 rows × 24 columns

                                                                                        \n", - "
                                                                                        " - ], - "text/plain": [ - " cartodb_id the_geom fuel4 country_abbrev country \\\n", - "0 2161 POINT (-40.57080 -20.39530) BRA Brazil \n", - "1 2502 POINT (-53.00000 -19.00000) BRA Brazil \n", - "2 2989 POINT (-46.50000 -22.60000) BRA Brazil \n", - "3 1116 POINT (-48.72300 -1.53740) BRA Brazil \n", - "4 1386 POINT (-44.06640 -19.54880) BRA Brazil \n", - "\n", - " name gppd_idnr capacity_mw latitude longitude ... owner \\\n", - "0 Jucu BRA0001272 4.840 -20.3953 -40.5708 ... \n", - "1 Paraíso I BRA0027587 21.600 -19.0000 -53.0000 ... \n", - "2 Socorro BRA0002762 1.000 -22.6000 -46.5000 ... \n", - "3 Alunorte BRA0028916 103.854 -1.5374 -48.7230 ... \n", - "4 COSIMAT BRA0032959 2.000 -19.5488 -44.0664 ... \n", - "\n", - " source \\\n", - "0 Agência Nacional de Energia Elétrica (Brazil) \n", - "1 Agência Nacional de Energia Elétrica (Brazil) \n", - "2 Agência Nacional de Energia Elétrica (Brazil) \n", - "3 Agência Nacional de Energia Elétrica (Brazil) \n", - "4 Agência Nacional de Energia Elétrica (Brazil) \n", - "\n", - " url \\\n", - "0 http://www2.aneel.gov.br/aplicacoes/capacidade... \n", - "1 http://www2.aneel.gov.br/aplicacoes/capacidade... \n", - "2 http://www2.aneel.gov.br/aplicacoes/capacidade... \n", - "3 http://www2.aneel.gov.br/aplicacoes/capacidade... \n", - "4 http://www2.aneel.gov.br/aplicacoes/capacidade... \n", - "\n", - " geolocation_source year_of_capacity_data \\\n", - "0 Agência Nacional de Energia Elétrica (Brazil) 2017 \n", - "1 Agência Nacional de Energia Elétrica (Brazil) 2017 \n", - "2 Agência Nacional de Energia Elétrica (Brazil) 2017 \n", - "3 Agência Nacional de Energia Elétrica (Brazil) 2017 \n", - "4 Agência Nacional de Energia Elétrica (Brazil) 2017 \n", - "\n", - " generation_gwh_2013 generation_gwh_2014 generation_gwh_2015 \\\n", - "0 None None \n", - "1 None None \n", - "2 None None \n", - "3 None None \n", - "4 None None \n", - "\n", - " generation_gwh_2016 estimated_generation_gwh \n", - "0 None 18.435905 \n", - "1 None 82.275939 \n", - "2 None 3.809071 \n", - "3 None 994.854387 \n", - "4 None 8.554761 \n", - "\n", - "[5 rows x 24 columns]" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes import read_carto\n", - "\n", - "gdf = read_carto(\"SELECT * FROM global_power_plants WHERE country IN ('Brazil')\")\n", - "gdf.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                        \n", - "
                                                                                        \n", - "
                                                                                        \n", - " \n", - " \n", - "
                                                                                        \n", - "
                                                                                        \n", - "
                                                                                        \n", - "\n", - " \n", - "\n", - "
                                                                                        \n", - "
                                                                                        \n", - " :\n", - "
                                                                                        \n", - " \n", - " \n", - "
                                                                                        \n", - "
                                                                                        \n", - "\n", - "
                                                                                        \n", - " StackTrace\n", - "
                                                                                          \n", - "
                                                                                          \n", - "
                                                                                          \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer\n", - "\n", - "Layer(gdf)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.7" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/data_management/upload_data_to_carto.ipynb b/examples/data_management/upload_data_to_carto.ipynb deleted file mode 100644 index 0c934d753..000000000 --- a/examples/data_management/upload_data_to_carto.ipynb +++ /dev/null @@ -1,292 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Upload data to CARTO\n", - "\n", - "This example illustrates how to upload local data to a CARTO account.\n", - "\n", - "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('creds.json')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                          \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                          objectidcartodb_identity_idlatitudelongitudeaudit_statlegal_radiillegal_raradius_umdradius_for...carbon_r_3peat_for_2peat_for_3primary_10primary_11mill_nameparent_comrspo_certidate_updatgeometry
                                                                                          0159ID1822-1.585833103.205556ASA 100.3217640.2257591099...12240290.0045080.135391Muara Bulian MillPT Inti Indosawit Suburyes14-AugPOINT (103.20556 -1.58583)
                                                                                          12153ID18470.077043102.030838Renewal Certification00.4459600.2588551979...203875230.0173040.321418Pabrik Kelapa Sawit Batang Kulim POMPT Musim Masyes14-AugPOINT (102.03084 0.07704)
                                                                                          23103ID17201.660222100.590611Initial Certification00.4985310.2485201432...151804760.0008110.193365Kayangan and Kencana POMPT Salim Ivomas Pratama Tbkyes14-AugPOINT (100.59061 1.66022)
                                                                                          34216ID1945-2.894444112.543611ASA 100.6628630.186332226...26959660.1248820.189169PT Sarana Titian Permata POMWilmar International Ltdyes14-AugPOINT (112.54361 -2.89444)
                                                                                          45156ID15533.59333398.947222Initial Certification00.5336680.028972382...412000.0002160.009296Adolina POMPT Perkebunan Nusantara IV (PERSERO)yes14-AugPOINT (98.94722 3.59333)
                                                                                          \n", - "

                                                                                          5 rows × 73 columns

                                                                                          \n", - "
                                                                                          " - ], - "text/plain": [ - " objectid cartodb_id entity_id latitude longitude \\\n", - "0 1 59 ID1822 -1.585833 103.205556 \n", - "1 2 153 ID1847 0.077043 102.030838 \n", - "2 3 103 ID1720 1.660222 100.590611 \n", - "3 4 216 ID1945 -2.894444 112.543611 \n", - "4 5 156 ID1553 3.593333 98.947222 \n", - "\n", - " audit_stat legal_radi illegal_ra radius_umd radius_for ... \\\n", - "0 ASA 1 0 0.321764 0.225759 1099 ... \n", - "1 Renewal Certification 0 0.445960 0.258855 1979 ... \n", - "2 Initial Certification 0 0.498531 0.248520 1432 ... \n", - "3 ASA 1 0 0.662863 0.186332 226 ... \n", - "4 Initial Certification 0 0.533668 0.028972 382 ... \n", - "\n", - " carbon_r_3 peat_for_2 peat_for_3 primary_10 primary_11 \\\n", - "0 1224 0 29 0.004508 0.135391 \n", - "1 2038 7 523 0.017304 0.321418 \n", - "2 1518 0 476 0.000811 0.193365 \n", - "3 269 59 66 0.124882 0.189169 \n", - "4 412 0 0 0.000216 0.009296 \n", - "\n", - " mill_name parent_com \\\n", - "0 Muara Bulian Mill PT Inti Indosawit Subur \n", - "1 Pabrik Kelapa Sawit Batang Kulim POM PT Musim Mas \n", - "2 Kayangan and Kencana POM PT Salim Ivomas Pratama Tbk \n", - "3 PT Sarana Titian Permata POM Wilmar International Ltd \n", - "4 Adolina POM PT Perkebunan Nusantara IV (PERSERO) \n", - "\n", - " rspo_certi date_updat geometry \n", - "0 yes 14-Aug POINT (103.20556 -1.58583) \n", - "1 yes 14-Aug POINT (102.03084 0.07704) \n", - "2 yes 14-Aug POINT (100.59061 1.66022) \n", - "3 yes 14-Aug POINT (112.54361 -2.89444) \n", - "4 yes 14-Aug POINT (98.94722 3.59333) \n", - "\n", - "[5 rows x 73 columns]" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from geopandas import read_file\n", - "\n", - "gdf = read_file('http://libs.cartocdn.com/cartoframes/files/sustainable_palm_oil_production_mills.geojson')\n", - "gdf.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Success! Data uploaded to table \"sustainable_palm_oil_production_mills\" correctly\n" - ] - } - ], - "source": [ - "from cartoframes import to_carto\n", - "\n", - "to_carto(gdf, 'sustainable_palm_oil_production_mills', if_exists='replace')" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.7" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/data_observatory/download_dataset.ipynb b/examples/data_observatory/download_dataset.ipynb deleted file mode 100644 index 27621376c..000000000 --- a/examples/data_observatory/download_dataset.ipynb +++ /dev/null @@ -1,8255 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Download a Dataset\n", - "\n", - "This example illustrates how to download a dataset from CARTO's Data Observatory. As datasets can be really big, we will show you how to apply [standard SQL filters](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax) and [spatial SQL filters](https://cloud.google.com/bigquery/docs/reference/standard-sql/geography_functions) to download them. \n", - "\n", - "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('creds.json')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As datasets may have a lot of columns, let's force pandas to display all the columns" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas\n", - "\n", - "pandas.set_option('display.max_columns', None)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Choose a dataset\n", - "Learn how to discover a dataset through the catalog by checking the [`discovery example`](/developers/cartoframes/examples/#example-discover-a-dataset).\n", - "\n", - "You can also choose a dataset from your subscriptions. Call `Catalog().subscriptions()` to list your active subscriptions." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'slug': 'acs_sociodemogr_8c2655e0',\n", - " 'name': 'Sociodemographics - United States of America (County, 2017, 5yrs)',\n", - " 'description': 'The American Community Survey (ACS) is an ongoing survey that provides vital information on a yearly basis about the USA and its people. This dataset contains only a subset of the variables that have been deemed most relevant. More info: https://www.census.gov/programs-surveys/acs/about.html',\n", - " 'category_id': 'demographics',\n", - " 'country_id': 'usa',\n", - " 'data_source_id': 'sociodemographics',\n", - " 'provider_id': 'usa_acs',\n", - " 'geography_name': 'County - United States of America',\n", - " 'geography_description': 'Shoreline clipped TIGER/Line boundaries. More info: https://carto.com/blog/tiger-shoreline-clip/',\n", - " 'temporal_aggregation': '5yrs',\n", - " 'time_coverage': '[2013-01-01, 2018-01-01)',\n", - " 'update_frequency': 'yearly',\n", - " 'is_public_data': True,\n", - " 'lang': 'eng',\n", - " 'version': '20132017',\n", - " 'category_name': 'Demographics',\n", - " 'provider_name': 'American Community Survey',\n", - " 'geography_id': 'carto-do-public-data.carto.geography_usa_county_2015',\n", - " 'id': 'carto-do-public-data.usa_acs.demographics_sociodemographics_usa_county_2015_5yrs_20132017'}" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.data.observatory import Dataset\n", - "\n", - "dataset = Dataset.get('acs_sociodemogr_8c2655e0')\n", - "dataset.to_dict()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Call `head()` to check a sample of the dataset and see the available columns." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                          \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                          geoidno_cardo_datemale_20male_21no_carsone_carpovertychildrenmale_poptwo_carsasian_popblack_popfemale_20female_21in_schoolpop_25_64total_popwhite_popfemale_popgini_indexhouseholdsmale_60_61male_62_64median_agethree_carsmale_5_to_9median_rentpop_16_overpop_widowedarmed_forcesemployed_pophispanic_popmale_under_5mobile_homespop_divorcedfemale_5_to_9housing_unitsmale_10_to_14male_15_to_17male_18_to_19male_22_to_24male_25_to_29male_30_to_34male_35_to_39male_40_to_44male_45_to_49male_45_to_64male_50_to_54male_55_to_59male_65_to_66male_67_to_69male_70_to_74male_75_to_79male_80_to_84median_incomepop_separatedamerindian_popfemale_under_5four_more_carsgroup_quartersmasters_degreeother_race_popunemployed_popwalked_to_workworked_at_homefemale_10_to_14female_15_to_17female_18_to_19female_22_to_24female_25_to_29female_30_to_34female_35_to_39female_40_to_44female_45_to_49female_50_to_54female_55_to_59female_60_to_61female_62_to_64female_65_to_66female_67_to_69female_70_to_74female_75_to_79female_80_to_84pop_15_and_overpop_now_marriedasian_male_45_54asian_male_55_64bachelors_degreeblack_male_45_54black_male_55_64commute_5_9_minscommuters_by_busin_grades_1_to_4in_grades_5_to_8male_85_and_overnot_hispanic_poppop_5_years_overwhite_male_45_54white_male_55_64associates_degreecommuters_16_overdwellings_2_unitsfamily_householdshispanic_any_racein_grades_9_to_12income_less_10000income_per_capitapop_25_years_overpop_never_marriedbachelors_degree_2commute_10_14_minscommute_15_19_minscommute_20_24_minscommute_25_29_minscommute_30_34_minscommute_35_39_minscommute_35_44_minscommute_40_44_minscommute_45_59_minscommute_60_89_minsfemale_85_and_overincome_10000_14999income_15000_19999income_20000_24999income_25000_29999income_30000_34999income_35000_39999income_40000_44999income_45000_49999income_50000_59999income_60000_74999income_75000_99999married_householdsnot_in_labor_forcenot_us_citizen_poppop_in_labor_forcehigh_school_diplomahispanic_male_45_54hispanic_male_55_64occupation_servicesworkers_16_and_overcivilian_labor_forcecommute_60_more_minscommute_90_more_minscommute_less_10_minscommuters_by_carpoolemployed_informationin_undergrad_collegeincome_100000_124999income_125000_149999income_150000_199999male_male_householdsnonfamily_householdsrent_over_50_percentvacant_housing_unitscommuters_drove_aloneemployed_constructionemployed_retail_tradeincome_200000_or_moreless_one_year_collegemale_45_64_grade_9_12one_year_more_collegerent_10_to_15_percentrent_15_to_20_percentrent_20_to_25_percentrent_25_to_30_percentrent_30_to_35_percentrent_35_to_40_percentrent_40_to_50_percentrent_under_10_percentsales_office_employedspeak_spanish_at_hometwo_or_more_races_popdwellings_3_to_4_unitsdwellings_5_to_9_unitsemployed_manufacturingmale_45_64_high_schooloccupied_housing_unitsmale_45_64_some_collegemortgaged_housing_unitsoccupation_sales_officepopulation_3_years_overasian_including_hispanicblack_including_hispanicdwellings_10_to_19_unitsdwellings_20_to_49_unitsemployed_wholesale_tradefemale_female_householdsrent_burden_not_computedwhite_including_hispanichigh_school_including_gedcommuters_by_car_truck_vandwellings_1_units_attacheddwellings_1_units_detacheddwellings_50_or_more_unitshousing_built_2000_to_2004male_45_64_graduate_degreeoccupation_management_artspopulation_1_year_and_overspeak_only_english_at_homehousing_built_2005_or_latermale_45_64_bachelors_degreemedian_year_structure_builtchildren_in_single_female_hhfamilies_with_young_childrengraduate_professional_degreehouseholds_retirement_incomemale_45_64_associates_degreemale_45_64_less_than_9_grademillion_dollar_housing_unitsowner_occupied_housing_unitspercent_income_spent_on_rentaggregate_travel_time_to_workamerindian_including_hispanichousing_built_1939_or_earlierhousing_units_renter_occupiedpop_determined_poverty_statusvacant_housing_units_for_rentvacant_housing_units_for_saleemployed_public_administrationless_than_high_school_graduatecommuters_by_subway_or_elevatedbachelors_degree_or_higher_25_64employed_education_health_socialspeak_spanish_at_home_low_englishcommuters_by_public_transportationdifferent_house_year_ago_same_citysome_college_and_associates_degreehouseholds_public_asst_or_food_stampsmanagement_business_sci_arts_employedemployed_finance_insurance_real_estatedifferent_house_year_ago_different_cityemployed_science_management_admin_wasteone_parent_families_with_young_childrentwo_parent_families_with_young_childrenemployed_other_services_not_public_adminowner_occupied_housing_units_median_valueemployed_transportation_warehousing_utilitiesoccupation_production_transportation_materialfather_one_parent_families_with_young_childrenowner_occupied_housing_units_lower_value_quartileowner_occupied_housing_units_upper_value_quartileemployed_agriculture_forestry_fishing_hunting_miningoccupation_natural_resources_construction_maintenancetwo_parents_in_labor_force_families_with_young_childrenemployed_arts_entertainment_recreation_accommodation_foodrenter_occupied_housing_units_paying_cash_median_gross_renttwo_parents_not_in_labor_force_families_with_young_childrenfather_in_labor_force_one_parent_families_with_young_childrentwo_parents_father_in_labor_force_families_with_young_childrentwo_parents_mother_in_labor_force_families_with_young_children
                                                                                          03000743.02013201732.020.065.0463.0448.01151.02896.0887.00.04.00.00.01017.02936.05755.05432.02859.00.44522405.0105.0196.046.3622.0132.0550.04762.0None0.02621.0152.0112.0377.0None207.02743.0196.0117.075.054.0135.0131.0160.0163.0184.0908.0210.0213.063.0171.0191.0129.066.055295.0None84.0146.0368.044.0293.00.0112.0135.0205.0124.0117.0123.090.091.0113.0165.0153.0218.0250.0196.0116.0137.074.0114.0173.0158.052.0NoneNone0.00.0866.00.00.0359.00.0253.0252.041.05603.0None369.0463.0268.02287.015.01552.0152.0336.096.032268.04210.0None866.0337.0132.0225.0159.0162.0214.0247.033.0271.0150.042.0135.096.0101.088.084.0210.0166.076.0305.0241.0267.01348.02029.020.02733.01366.00.05.0461.02492.02733.0203.053.0551.0267.031.079.0170.082.0186.00.0853.047.0338.01852.0370.0180.0102.0261.024.0683.094.022.052.015.045.05.032.06.0404.0None83.041.049.0215.0287.02405.0247.01122.0404.05553.00.04.041.00.042.00.067.05533.01564.02119.00.02208.00.061.087.0955.05634.0None16.0158.01987.0147.0335.0337.0625.092.013.026.02020.023.660655.084.097.0385.05711.011.034.0291.0231.00.0873.0380.0None0.032.01212.0179.0955.0141.0471.0141.064.0271.094.0195000.090.0310.00.0119800.0301300.0460.0491.090.0186.0640.018.00.0163.00.0
                                                                                          119137106.02013201717.042.0291.01298.01653.02349.04931.01826.00.00.042.0103.02094.05037.010239.09640.05308.00.42704614.0149.0256.044.5774.0385.0482.08243.0None11.04838.0371.0259.0178.0None310.05231.0313.0238.0115.0182.0217.0239.0252.0323.0301.01449.0366.0377.0148.0162.0193.0146.0137.043674.0None40.0335.0425.0210.0227.00.0349.0194.0233.0302.0207.0127.0119.0220.0233.0262.0345.0320.0373.0452.0152.0200.0126.0168.0273.0233.0177.0NoneNone0.00.0867.00.00.01023.021.0569.0512.0114.09868.0None628.0782.0926.04560.0177.03080.0371.0530.0282.025005.07143.0None867.0568.0487.0485.0205.0236.039.082.043.0292.0205.0229.0419.0298.0345.0218.0343.0211.0226.0222.0433.0515.0485.02221.03045.0136.05198.02447.039.00.0824.04793.05187.0319.0114.01886.0453.0153.0176.0317.0121.093.00.01534.0246.0617.03813.0309.0641.086.0716.0111.0935.0180.0193.0164.0144.051.077.0168.075.01081.0None188.0291.0101.0870.0680.04614.0264.01552.01081.09869.00.00.049.040.0120.03.0185.09756.02785.04266.077.04318.00.027.032.01470.010138.0None5.0178.01952.0756.0662.0281.0807.0151.033.00.03131.026.386680.064.0181.01483.010014.0142.067.0122.0633.00.0856.01172.0None21.0550.02577.0831.01470.0170.0839.0173.0327.0335.0301.081800.0245.0949.029.049500.0126300.0349.0514.0248.0213.0664.012.025.064.011.0
                                                                                          22010110.0201320178.00.036.0181.0181.0407.0864.0350.00.01.01.08.0332.0822.01702.01539.0838.00.4473828.010.027.041.5133.026.0345.01379.0None0.0885.0113.074.046.0None74.0991.046.054.022.045.059.026.076.049.056.0226.072.061.019.022.025.040.039.051765.0None39.048.0128.08.069.00.032.032.027.047.038.035.013.040.029.048.053.044.045.063.019.045.022.014.040.042.038.0NoneNone0.00.0206.00.00.0178.00.064.079.08.01589.0None121.096.0135.0817.00.0484.0113.067.062.029768.01163.0None206.098.093.064.038.047.015.015.00.09.035.032.042.050.067.067.035.032.035.012.079.0109.0139.0401.0462.012.0917.0302.06.02.0165.0844.0917.043.08.0410.042.010.048.045.011.018.00.0344.016.0163.0732.0112.073.025.0106.07.0207.027.016.018.013.019.08.00.010.0185.0None3.033.00.06.082.0828.061.0306.0185.01623.00.01.00.00.013.00.052.01649.0361.0774.022.0890.00.015.03.0264.01659.0None0.048.01957.043.0137.072.0107.022.03.00.0649.022.9NaN39.095.0179.01690.028.00.028.076.00.0211.0196.0None0.061.0448.061.0264.030.084.034.020.0117.051.076400.055.073.013.044300.0124400.0253.0198.065.024.0551.00.013.048.04.0
                                                                                          348307133.0201320171.093.0220.0883.01296.01935.04171.01232.00.0161.039.014.01623.04096.08145.05067.03974.00.44953143.0240.0134.043.5510.0370.0471.06496.0None0.03658.02571.0327.0393.0None263.04302.0212.0220.033.0111.0284.0236.0272.0152.0206.01054.0310.0164.0106.0111.0296.094.0139.042367.0None1.0154.0298.0154.0213.0202.0122.0104.061.0258.0131.066.021.0340.082.0271.0321.0285.0188.0273.0121.0217.0147.0117.0228.0156.0134.0NoneNone0.00.0671.018.00.0867.02.0483.0334.060.05574.0None327.0391.0217.03389.0229.02164.02571.0453.0228.023398.05832.0None671.0535.0412.0410.023.0202.071.0117.046.075.052.0148.0265.0288.0127.0156.0203.0207.0137.0124.0259.0329.0385.01592.02716.0207.03780.01597.0164.0147.0770.03450.03780.0133.081.01482.0424.017.070.0176.0114.069.00.0979.0227.01159.02857.0171.0383.076.0500.0201.01092.064.0100.059.044.046.025.024.019.0809.0None143.0110.016.0214.0458.03143.0203.0889.0809.07863.00.0161.06.018.039.00.0137.06969.01862.03281.023.03498.00.078.017.0850.08140.0None39.093.01969.0396.0589.0261.0679.07.075.035.02398.032.053750.01.0551.0745.07955.031.057.0192.01229.00.0556.0647.0None2.0634.01809.0600.0850.0133.0829.0231.0206.0383.0363.082000.0401.0510.0165.041600.0165300.0602.0719.0214.0265.0721.00.0165.0169.00.0
                                                                                          44612366.0201320178.021.0118.0544.01045.01237.02781.0649.00.00.09.059.01121.02688.05480.04500.02699.00.46332424.0133.0141.046.5639.0135.0341.04362.0None0.02859.018.0140.0496.0None125.03085.0222.0141.050.0127.0129.0143.0155.0116.0164.0881.0238.0205.034.0116.0112.0143.042.048409.0None729.0172.0474.0159.0112.00.052.0132.0223.0203.099.046.065.0122.0123.0133.097.0173.0242.0190.0108.076.087.084.0114.0174.055.0NoneNone0.00.0643.00.00.0878.037.0272.0269.066.05462.0None310.0392.0319.02592.024.01473.018.0273.0239.027613.03858.0None643.0347.0158.0167.0120.092.017.056.039.055.0143.0143.0174.0110.0132.0111.0119.0168.091.0124.0227.0270.0279.01217.01451.027.02911.01367.00.00.0393.02815.02911.0175.032.01422.0247.030.0102.0226.037.032.00.0951.0128.0661.02163.0271.0363.085.0196.031.0571.087.063.058.079.02.037.0104.064.0484.0None233.0108.070.041.0387.02424.0140.0663.0484.05334.00.00.038.052.075.00.0125.04500.01511.02410.016.02281.00.043.032.01217.05425.0None19.0152.01966.0220.0338.0210.0261.083.056.016.01677.027.540040.0747.0255.0747.05294.095.039.0118.0408.00.0580.0674.0None37.0182.01086.0340.01217.0184.0444.092.085.0253.0139.085800.052.0306.026.051600.0156600.0706.0459.0215.0114.0562.00.014.032.06.0
                                                                                          529155308.02013201785.0189.0934.02639.04859.04597.08210.02043.00.04639.0197.0153.04301.08474.017344.011948.09134.00.48626875.0225.0238.037.7871.0566.0344.013251.0None0.06326.0421.0614.0742.0None496.08178.0747.0421.0226.0282.0479.0431.0449.0422.0526.02156.0567.0600.0227.0234.0239.0164.0153.032468.0None18.0671.0388.0202.0483.00.0756.0153.0109.0689.0393.0194.0209.0573.0521.0629.0452.0564.0593.0715.0199.0291.0159.0271.0397.0291.0254.0NoneNone0.00.0815.0239.0230.01273.023.0877.01260.0126.016923.0None824.0828.0660.06067.0517.04342.0421.01082.0956.018883.011212.0None815.0792.0998.0913.0366.0587.078.0167.089.0181.087.0223.0689.0583.0512.0504.0377.0385.0382.0336.0544.0392.0555.02758.06169.097.07082.03602.019.019.01441.06176.07082.0159.072.01904.0594.026.0492.0347.096.0143.06.02533.0641.01303.05259.0194.0741.074.0705.0408.01354.0263.0285.0371.0367.0188.0167.0267.0155.01164.0None316.0513.049.01328.0866.06875.0337.01652.01164.016514.00.04717.090.016.0110.05.0540.012113.04279.05853.054.06098.091.0206.025.01560.017033.0None20.0211.01968.02120.01330.0532.01138.058.0251.00.03631.028.8105750.018.0853.03244.017042.0313.089.0313.02867.00.01066.01780.0None23.01577.02719.02237.01560.0282.01594.0164.0813.0517.0304.073300.0299.01565.089.037000.0120900.0405.0596.0216.0380.0568.02.069.0299.00.0
                                                                                          62115928.02013201769.089.0286.01464.03190.02498.06744.01695.00.0575.083.064.02290.06830.012175.011250.05431.00.44224316.0213.0261.039.0645.0326.0307.09909.0None0.03032.0226.0323.01911.0None342.05240.0432.0217.0125.0481.0485.0720.0476.0592.0430.01631.0433.0294.0123.0142.0247.0166.061.029239.0None9.0295.0226.01441.0225.00.0552.034.08.0334.0229.0101.0118.0303.0308.0384.0316.0401.0419.0466.074.0255.0158.0176.0203.0158.0150.0NoneNone0.00.0373.0159.017.0195.00.0554.0575.039.011949.0None657.0726.0728.02791.036.02940.0226.0481.0782.014914.08547.0None373.0117.0575.0297.0111.0235.0220.0384.0164.0358.0325.094.0288.0476.0430.0203.0138.0224.0365.0182.0271.0373.0356.02311.06325.034.03584.02353.033.017.0428.02799.03584.0447.0122.0267.0460.030.0292.0120.050.058.00.01376.0267.0924.02292.0197.0520.00.0360.0347.01107.0109.022.083.098.0107.049.035.071.0894.0None107.053.0105.045.0736.04316.0218.0958.0894.011860.00.0606.028.018.088.00.0361.011397.03313.02752.037.02976.054.0143.041.0875.012072.0None55.019.01985.0473.0787.0327.0987.0117.0153.00.03114.031.898955.09.0141.01202.010690.063.038.0164.02339.00.0553.0775.0None0.074.02195.01218.0875.0162.01449.085.0184.0603.0183.065500.0165.0319.024.030000.0117600.0392.0516.0275.0226.0483.078.024.0211.039.0
                                                                                          7310050.0201320170.08.00.035.046.0132.0204.046.00.00.01.01.0149.0172.0421.0411.0217.00.4498177.09.03.043.354.027.0388.0298.0None0.0177.00.03.022.0None21.0261.020.04.02.013.08.01.06.018.017.050.08.013.02.05.08.010.017.041250.0None0.08.042.00.015.01.01.013.023.035.014.00.00.06.07.05.013.014.011.025.03.05.09.03.010.015.010.0NoneNone0.00.060.00.00.016.00.032.048.02.0421.0None24.025.033.0146.00.096.00.018.06.021799.0264.0None60.09.03.016.04.012.03.017.014.015.03.01.021.025.013.04.09.08.012.010.014.022.020.087.0120.02.0178.073.00.00.017.0169.0178.06.03.064.024.01.017.07.01.02.00.081.08.084.0109.015.013.03.026.00.034.013.03.01.03.02.05.00.00.020.0None9.00.00.013.021.0177.07.025.020.0415.00.00.00.00.03.00.030.0411.079.0133.010.0229.00.03.01.083.0421.0None0.06.01959.03.027.019.023.015.00.00.0112.025.83040.00.031.065.0421.02.00.03.013.00.059.037.0None0.01.093.06.083.01.054.03.02.025.06.0101500.09.021.02.057000.0162500.067.036.013.06.0658.00.02.012.00.0
                                                                                          801067205.020132017124.074.0427.01953.02310.03581.08208.02346.00.04762.033.0120.03517.08535.017110.011757.08902.00.45296727.0176.0317.043.51373.0459.0398.013972.0None10.06949.0435.0468.02311.0None438.09055.0594.0307.0171.0396.0369.0350.0658.0418.0528.02232.0536.0675.0252.0324.0452.0293.0121.045569.0None5.0452.0628.0289.0835.00.0496.048.0176.0511.0352.0162.0326.0415.0465.0527.0598.0547.0617.0586.0222.0531.0166.0404.0567.0353.0222.0NoneNone0.00.01087.0291.0314.0605.00.0750.0892.0146.016675.0None757.0839.0925.06689.0291.04545.0435.0844.0552.023983.012123.0None1087.0694.0858.01025.0749.01067.0154.0395.0241.0445.0301.0288.0504.0566.0332.0278.0457.0308.0323.0412.0616.0694.0614.03625.06517.0169.07455.03398.013.00.01319.06865.07445.0431.0130.01025.0513.074.0595.0379.0287.0257.010.02182.0185.02328.05900.0386.0769.0148.0828.0237.01843.0149.096.0162.091.035.0109.075.051.01347.0None151.0163.00.0787.0918.06727.0540.02932.01347.016615.00.04762.052.012.0221.00.0243.012144.04105.06413.041.06183.02.0218.0113.02279.016964.0None102.0153.01983.0761.01033.0987.01480.0175.096.00.05531.026.0171195.05.0343.01196.016806.0222.0164.0196.02348.00.01485.01673.0None0.0378.03596.01129.02279.0279.0983.0495.0394.0639.0231.0112600.0788.01238.089.062700.0189100.0353.0766.0386.0697.0603.08.080.0245.00.0
                                                                                          9410214.02013201719.016.025.0176.0188.0426.0962.0330.00.00.00.014.0396.0893.01910.01643.0948.00.4153805.028.061.047.0191.079.0537.01529.0None0.0751.0154.051.0146.0None51.01070.051.044.022.013.018.049.041.032.051.0283.086.057.047.029.077.048.029.039831.0None99.054.083.015.064.00.061.064.055.064.032.01.026.044.058.049.049.069.031.065.061.044.022.032.062.044.022.0NoneNone0.00.0200.00.00.0191.00.0102.0101.014.01756.0None114.0130.077.0684.015.0512.0154.096.052.024178.01373.0None200.0101.081.024.018.034.00.020.020.041.05.054.050.020.073.056.077.077.020.052.050.077.090.0420.0717.030.0812.0426.011.00.0113.0739.0812.024.019.0341.037.014.026.080.020.02.00.0293.026.0265.0575.074.057.09.090.014.0297.032.046.08.034.026.015.013.022.0156.0None0.06.06.022.0111.0805.085.0257.0156.01870.00.00.00.021.020.00.068.01783.0493.0612.07.0863.06.012.015.0233.01903.0None15.040.01957.0109.0128.064.0169.05.013.00.0515.025.411965.099.073.0290.01906.022.038.062.0152.00.0194.0121.0None0.0108.0464.099.0233.011.0114.089.049.079.017.0110900.096.0126.021.083300.0162900.096.0123.010.072.0814.00.021.067.02.0
                                                                                          \n", - "
                                                                                          " - ], - "text/plain": [ - " geoid no_car do_date male_20 male_21 no_cars one_car poverty \\\n", - "0 30007 43.0 20132017 32.0 20.0 65.0 463.0 448.0 \n", - "1 19137 106.0 20132017 17.0 42.0 291.0 1298.0 1653.0 \n", - "2 20101 10.0 20132017 8.0 0.0 36.0 181.0 181.0 \n", - "3 48307 133.0 20132017 1.0 93.0 220.0 883.0 1296.0 \n", - "4 46123 66.0 20132017 8.0 21.0 118.0 544.0 1045.0 \n", - "5 29155 308.0 20132017 85.0 189.0 934.0 2639.0 4859.0 \n", - "6 21159 28.0 20132017 69.0 89.0 286.0 1464.0 3190.0 \n", - "7 31005 0.0 20132017 0.0 8.0 0.0 35.0 46.0 \n", - "8 01067 205.0 20132017 124.0 74.0 427.0 1953.0 2310.0 \n", - "9 41021 4.0 20132017 19.0 16.0 25.0 176.0 188.0 \n", - "\n", - " children male_pop two_cars asian_pop black_pop female_20 female_21 \\\n", - "0 1151.0 2896.0 887.0 0.0 4.0 0.0 0.0 \n", - "1 2349.0 4931.0 1826.0 0.0 0.0 42.0 103.0 \n", - "2 407.0 864.0 350.0 0.0 1.0 1.0 8.0 \n", - "3 1935.0 4171.0 1232.0 0.0 161.0 39.0 14.0 \n", - "4 1237.0 2781.0 649.0 0.0 0.0 9.0 59.0 \n", - "5 4597.0 8210.0 2043.0 0.0 4639.0 197.0 153.0 \n", - "6 2498.0 6744.0 1695.0 0.0 575.0 83.0 64.0 \n", - "7 132.0 204.0 46.0 0.0 0.0 1.0 1.0 \n", - "8 3581.0 8208.0 2346.0 0.0 4762.0 33.0 120.0 \n", - "9 426.0 962.0 330.0 0.0 0.0 0.0 14.0 \n", - "\n", - " in_school pop_25_64 total_pop white_pop female_pop gini_index \\\n", - "0 1017.0 2936.0 5755.0 5432.0 2859.0 0.4452 \n", - "1 2094.0 5037.0 10239.0 9640.0 5308.0 0.4270 \n", - "2 332.0 822.0 1702.0 1539.0 838.0 0.4473 \n", - "3 1623.0 4096.0 8145.0 5067.0 3974.0 0.4495 \n", - "4 1121.0 2688.0 5480.0 4500.0 2699.0 0.4633 \n", - "5 4301.0 8474.0 17344.0 11948.0 9134.0 0.4862 \n", - "6 2290.0 6830.0 12175.0 11250.0 5431.0 0.4422 \n", - "7 149.0 172.0 421.0 411.0 217.0 0.4498 \n", - "8 3517.0 8535.0 17110.0 11757.0 8902.0 0.4529 \n", - "9 396.0 893.0 1910.0 1643.0 948.0 0.4153 \n", - "\n", - " households male_60_61 male_62_64 median_age three_cars male_5_to_9 \\\n", - "0 2405.0 105.0 196.0 46.3 622.0 132.0 \n", - "1 4614.0 149.0 256.0 44.5 774.0 385.0 \n", - "2 828.0 10.0 27.0 41.5 133.0 26.0 \n", - "3 3143.0 240.0 134.0 43.5 510.0 370.0 \n", - "4 2424.0 133.0 141.0 46.5 639.0 135.0 \n", - "5 6875.0 225.0 238.0 37.7 871.0 566.0 \n", - "6 4316.0 213.0 261.0 39.0 645.0 326.0 \n", - "7 177.0 9.0 3.0 43.3 54.0 27.0 \n", - "8 6727.0 176.0 317.0 43.5 1373.0 459.0 \n", - "9 805.0 28.0 61.0 47.0 191.0 79.0 \n", - "\n", - " median_rent pop_16_over pop_widowed armed_forces employed_pop \\\n", - "0 550.0 4762.0 None 0.0 2621.0 \n", - "1 482.0 8243.0 None 11.0 4838.0 \n", - "2 345.0 1379.0 None 0.0 885.0 \n", - "3 471.0 6496.0 None 0.0 3658.0 \n", - "4 341.0 4362.0 None 0.0 2859.0 \n", - "5 344.0 13251.0 None 0.0 6326.0 \n", - "6 307.0 9909.0 None 0.0 3032.0 \n", - "7 388.0 298.0 None 0.0 177.0 \n", - "8 398.0 13972.0 None 10.0 6949.0 \n", - "9 537.0 1529.0 None 0.0 751.0 \n", - "\n", - " hispanic_pop male_under_5 mobile_homes pop_divorced female_5_to_9 \\\n", - "0 152.0 112.0 377.0 None 207.0 \n", - "1 371.0 259.0 178.0 None 310.0 \n", - "2 113.0 74.0 46.0 None 74.0 \n", - "3 2571.0 327.0 393.0 None 263.0 \n", - "4 18.0 140.0 496.0 None 125.0 \n", - "5 421.0 614.0 742.0 None 496.0 \n", - "6 226.0 323.0 1911.0 None 342.0 \n", - "7 0.0 3.0 22.0 None 21.0 \n", - "8 435.0 468.0 2311.0 None 438.0 \n", - "9 154.0 51.0 146.0 None 51.0 \n", - "\n", - " housing_units male_10_to_14 male_15_to_17 male_18_to_19 male_22_to_24 \\\n", - "0 2743.0 196.0 117.0 75.0 54.0 \n", - "1 5231.0 313.0 238.0 115.0 182.0 \n", - "2 991.0 46.0 54.0 22.0 45.0 \n", - "3 4302.0 212.0 220.0 33.0 111.0 \n", - "4 3085.0 222.0 141.0 50.0 127.0 \n", - "5 8178.0 747.0 421.0 226.0 282.0 \n", - "6 5240.0 432.0 217.0 125.0 481.0 \n", - "7 261.0 20.0 4.0 2.0 13.0 \n", - "8 9055.0 594.0 307.0 171.0 396.0 \n", - "9 1070.0 51.0 44.0 22.0 13.0 \n", - "\n", - " male_25_to_29 male_30_to_34 male_35_to_39 male_40_to_44 male_45_to_49 \\\n", - "0 135.0 131.0 160.0 163.0 184.0 \n", - "1 217.0 239.0 252.0 323.0 301.0 \n", - "2 59.0 26.0 76.0 49.0 56.0 \n", - "3 284.0 236.0 272.0 152.0 206.0 \n", - "4 129.0 143.0 155.0 116.0 164.0 \n", - "5 479.0 431.0 449.0 422.0 526.0 \n", - "6 485.0 720.0 476.0 592.0 430.0 \n", - "7 8.0 1.0 6.0 18.0 17.0 \n", - "8 369.0 350.0 658.0 418.0 528.0 \n", - "9 18.0 49.0 41.0 32.0 51.0 \n", - "\n", - " male_45_to_64 male_50_to_54 male_55_to_59 male_65_to_66 male_67_to_69 \\\n", - "0 908.0 210.0 213.0 63.0 171.0 \n", - "1 1449.0 366.0 377.0 148.0 162.0 \n", - "2 226.0 72.0 61.0 19.0 22.0 \n", - "3 1054.0 310.0 164.0 106.0 111.0 \n", - "4 881.0 238.0 205.0 34.0 116.0 \n", - "5 2156.0 567.0 600.0 227.0 234.0 \n", - "6 1631.0 433.0 294.0 123.0 142.0 \n", - "7 50.0 8.0 13.0 2.0 5.0 \n", - "8 2232.0 536.0 675.0 252.0 324.0 \n", - "9 283.0 86.0 57.0 47.0 29.0 \n", - "\n", - " male_70_to_74 male_75_to_79 male_80_to_84 median_income pop_separated \\\n", - "0 191.0 129.0 66.0 55295.0 None \n", - "1 193.0 146.0 137.0 43674.0 None \n", - "2 25.0 40.0 39.0 51765.0 None \n", - "3 296.0 94.0 139.0 42367.0 None \n", - "4 112.0 143.0 42.0 48409.0 None \n", - "5 239.0 164.0 153.0 32468.0 None \n", - "6 247.0 166.0 61.0 29239.0 None \n", - "7 8.0 10.0 17.0 41250.0 None \n", - "8 452.0 293.0 121.0 45569.0 None \n", - "9 77.0 48.0 29.0 39831.0 None \n", - "\n", - " amerindian_pop female_under_5 four_more_cars group_quarters \\\n", - "0 84.0 146.0 368.0 44.0 \n", - "1 40.0 335.0 425.0 210.0 \n", - "2 39.0 48.0 128.0 8.0 \n", - "3 1.0 154.0 298.0 154.0 \n", - "4 729.0 172.0 474.0 159.0 \n", - "5 18.0 671.0 388.0 202.0 \n", - "6 9.0 295.0 226.0 1441.0 \n", - "7 0.0 8.0 42.0 0.0 \n", - "8 5.0 452.0 628.0 289.0 \n", - "9 99.0 54.0 83.0 15.0 \n", - "\n", - " masters_degree other_race_pop unemployed_pop walked_to_work \\\n", - "0 293.0 0.0 112.0 135.0 \n", - "1 227.0 0.0 349.0 194.0 \n", - "2 69.0 0.0 32.0 32.0 \n", - "3 213.0 202.0 122.0 104.0 \n", - "4 112.0 0.0 52.0 132.0 \n", - "5 483.0 0.0 756.0 153.0 \n", - "6 225.0 0.0 552.0 34.0 \n", - "7 15.0 1.0 1.0 13.0 \n", - "8 835.0 0.0 496.0 48.0 \n", - "9 64.0 0.0 61.0 64.0 \n", - "\n", - " worked_at_home female_10_to_14 female_15_to_17 female_18_to_19 \\\n", - "0 205.0 124.0 117.0 123.0 \n", - "1 233.0 302.0 207.0 127.0 \n", - "2 27.0 47.0 38.0 35.0 \n", - "3 61.0 258.0 131.0 66.0 \n", - "4 223.0 203.0 99.0 46.0 \n", - "5 109.0 689.0 393.0 194.0 \n", - "6 8.0 334.0 229.0 101.0 \n", - "7 23.0 35.0 14.0 0.0 \n", - "8 176.0 511.0 352.0 162.0 \n", - "9 55.0 64.0 32.0 1.0 \n", - "\n", - " female_22_to_24 female_25_to_29 female_30_to_34 female_35_to_39 \\\n", - "0 90.0 91.0 113.0 165.0 \n", - "1 119.0 220.0 233.0 262.0 \n", - "2 13.0 40.0 29.0 48.0 \n", - "3 21.0 340.0 82.0 271.0 \n", - "4 65.0 122.0 123.0 133.0 \n", - "5 209.0 573.0 521.0 629.0 \n", - "6 118.0 303.0 308.0 384.0 \n", - "7 0.0 6.0 7.0 5.0 \n", - "8 326.0 415.0 465.0 527.0 \n", - "9 26.0 44.0 58.0 49.0 \n", - "\n", - " female_40_to_44 female_45_to_49 female_50_to_54 female_55_to_59 \\\n", - "0 153.0 218.0 250.0 196.0 \n", - "1 345.0 320.0 373.0 452.0 \n", - "2 53.0 44.0 45.0 63.0 \n", - "3 321.0 285.0 188.0 273.0 \n", - "4 97.0 173.0 242.0 190.0 \n", - "5 452.0 564.0 593.0 715.0 \n", - "6 316.0 401.0 419.0 466.0 \n", - "7 13.0 14.0 11.0 25.0 \n", - "8 598.0 547.0 617.0 586.0 \n", - "9 49.0 69.0 31.0 65.0 \n", - "\n", - " female_60_to_61 female_62_to_64 female_65_to_66 female_67_to_69 \\\n", - "0 116.0 137.0 74.0 114.0 \n", - "1 152.0 200.0 126.0 168.0 \n", - "2 19.0 45.0 22.0 14.0 \n", - "3 121.0 217.0 147.0 117.0 \n", - "4 108.0 76.0 87.0 84.0 \n", - "5 199.0 291.0 159.0 271.0 \n", - "6 74.0 255.0 158.0 176.0 \n", - "7 3.0 5.0 9.0 3.0 \n", - "8 222.0 531.0 166.0 404.0 \n", - "9 61.0 44.0 22.0 32.0 \n", - "\n", - " female_70_to_74 female_75_to_79 female_80_to_84 pop_15_and_over \\\n", - "0 173.0 158.0 52.0 None \n", - "1 273.0 233.0 177.0 None \n", - "2 40.0 42.0 38.0 None \n", - "3 228.0 156.0 134.0 None \n", - "4 114.0 174.0 55.0 None \n", - "5 397.0 291.0 254.0 None \n", - "6 203.0 158.0 150.0 None \n", - "7 10.0 15.0 10.0 None \n", - "8 567.0 353.0 222.0 None \n", - "9 62.0 44.0 22.0 None \n", - "\n", - " pop_now_married asian_male_45_54 asian_male_55_64 bachelors_degree \\\n", - "0 None 0.0 0.0 866.0 \n", - "1 None 0.0 0.0 867.0 \n", - "2 None 0.0 0.0 206.0 \n", - "3 None 0.0 0.0 671.0 \n", - "4 None 0.0 0.0 643.0 \n", - "5 None 0.0 0.0 815.0 \n", - "6 None 0.0 0.0 373.0 \n", - "7 None 0.0 0.0 60.0 \n", - "8 None 0.0 0.0 1087.0 \n", - "9 None 0.0 0.0 200.0 \n", - "\n", - " black_male_45_54 black_male_55_64 commute_5_9_mins commuters_by_bus \\\n", - "0 0.0 0.0 359.0 0.0 \n", - "1 0.0 0.0 1023.0 21.0 \n", - "2 0.0 0.0 178.0 0.0 \n", - "3 18.0 0.0 867.0 2.0 \n", - "4 0.0 0.0 878.0 37.0 \n", - "5 239.0 230.0 1273.0 23.0 \n", - "6 159.0 17.0 195.0 0.0 \n", - "7 0.0 0.0 16.0 0.0 \n", - "8 291.0 314.0 605.0 0.0 \n", - "9 0.0 0.0 191.0 0.0 \n", - "\n", - " in_grades_1_to_4 in_grades_5_to_8 male_85_and_over not_hispanic_pop \\\n", - "0 253.0 252.0 41.0 5603.0 \n", - "1 569.0 512.0 114.0 9868.0 \n", - "2 64.0 79.0 8.0 1589.0 \n", - "3 483.0 334.0 60.0 5574.0 \n", - "4 272.0 269.0 66.0 5462.0 \n", - "5 877.0 1260.0 126.0 16923.0 \n", - "6 554.0 575.0 39.0 11949.0 \n", - "7 32.0 48.0 2.0 421.0 \n", - "8 750.0 892.0 146.0 16675.0 \n", - "9 102.0 101.0 14.0 1756.0 \n", - "\n", - " pop_5_years_over white_male_45_54 white_male_55_64 associates_degree \\\n", - "0 None 369.0 463.0 268.0 \n", - "1 None 628.0 782.0 926.0 \n", - "2 None 121.0 96.0 135.0 \n", - "3 None 327.0 391.0 217.0 \n", - "4 None 310.0 392.0 319.0 \n", - "5 None 824.0 828.0 660.0 \n", - "6 None 657.0 726.0 728.0 \n", - "7 None 24.0 25.0 33.0 \n", - "8 None 757.0 839.0 925.0 \n", - "9 None 114.0 130.0 77.0 \n", - "\n", - " commuters_16_over dwellings_2_units family_households hispanic_any_race \\\n", - "0 2287.0 15.0 1552.0 152.0 \n", - "1 4560.0 177.0 3080.0 371.0 \n", - "2 817.0 0.0 484.0 113.0 \n", - "3 3389.0 229.0 2164.0 2571.0 \n", - "4 2592.0 24.0 1473.0 18.0 \n", - "5 6067.0 517.0 4342.0 421.0 \n", - "6 2791.0 36.0 2940.0 226.0 \n", - "7 146.0 0.0 96.0 0.0 \n", - "8 6689.0 291.0 4545.0 435.0 \n", - "9 684.0 15.0 512.0 154.0 \n", - "\n", - " in_grades_9_to_12 income_less_10000 income_per_capita pop_25_years_over \\\n", - "0 336.0 96.0 32268.0 4210.0 \n", - "1 530.0 282.0 25005.0 7143.0 \n", - "2 67.0 62.0 29768.0 1163.0 \n", - "3 453.0 228.0 23398.0 5832.0 \n", - "4 273.0 239.0 27613.0 3858.0 \n", - "5 1082.0 956.0 18883.0 11212.0 \n", - "6 481.0 782.0 14914.0 8547.0 \n", - "7 18.0 6.0 21799.0 264.0 \n", - "8 844.0 552.0 23983.0 12123.0 \n", - "9 96.0 52.0 24178.0 1373.0 \n", - "\n", - " pop_never_married bachelors_degree_2 commute_10_14_mins \\\n", - "0 None 866.0 337.0 \n", - "1 None 867.0 568.0 \n", - "2 None 206.0 98.0 \n", - "3 None 671.0 535.0 \n", - "4 None 643.0 347.0 \n", - "5 None 815.0 792.0 \n", - "6 None 373.0 117.0 \n", - "7 None 60.0 9.0 \n", - "8 None 1087.0 694.0 \n", - "9 None 200.0 101.0 \n", - "\n", - " commute_15_19_mins commute_20_24_mins commute_25_29_mins \\\n", - "0 132.0 225.0 159.0 \n", - "1 487.0 485.0 205.0 \n", - "2 93.0 64.0 38.0 \n", - "3 412.0 410.0 23.0 \n", - "4 158.0 167.0 120.0 \n", - "5 998.0 913.0 366.0 \n", - "6 575.0 297.0 111.0 \n", - "7 3.0 16.0 4.0 \n", - "8 858.0 1025.0 749.0 \n", - "9 81.0 24.0 18.0 \n", - "\n", - " commute_30_34_mins commute_35_39_mins commute_35_44_mins \\\n", - "0 162.0 214.0 247.0 \n", - "1 236.0 39.0 82.0 \n", - "2 47.0 15.0 15.0 \n", - "3 202.0 71.0 117.0 \n", - "4 92.0 17.0 56.0 \n", - "5 587.0 78.0 167.0 \n", - "6 235.0 220.0 384.0 \n", - "7 12.0 3.0 17.0 \n", - "8 1067.0 154.0 395.0 \n", - "9 34.0 0.0 20.0 \n", - "\n", - " commute_40_44_mins commute_45_59_mins commute_60_89_mins \\\n", - "0 33.0 271.0 150.0 \n", - "1 43.0 292.0 205.0 \n", - "2 0.0 9.0 35.0 \n", - "3 46.0 75.0 52.0 \n", - "4 39.0 55.0 143.0 \n", - "5 89.0 181.0 87.0 \n", - "6 164.0 358.0 325.0 \n", - "7 14.0 15.0 3.0 \n", - "8 241.0 445.0 301.0 \n", - "9 20.0 41.0 5.0 \n", - "\n", - " female_85_and_over income_10000_14999 income_15000_19999 \\\n", - "0 42.0 135.0 96.0 \n", - "1 229.0 419.0 298.0 \n", - "2 32.0 42.0 50.0 \n", - "3 148.0 265.0 288.0 \n", - "4 143.0 174.0 110.0 \n", - "5 223.0 689.0 583.0 \n", - "6 94.0 288.0 476.0 \n", - "7 1.0 21.0 25.0 \n", - "8 288.0 504.0 566.0 \n", - "9 54.0 50.0 20.0 \n", - "\n", - " income_20000_24999 income_25000_29999 income_30000_34999 \\\n", - "0 101.0 88.0 84.0 \n", - "1 345.0 218.0 343.0 \n", - "2 67.0 67.0 35.0 \n", - "3 127.0 156.0 203.0 \n", - "4 132.0 111.0 119.0 \n", - "5 512.0 504.0 377.0 \n", - "6 430.0 203.0 138.0 \n", - "7 13.0 4.0 9.0 \n", - "8 332.0 278.0 457.0 \n", - "9 73.0 56.0 77.0 \n", - "\n", - " income_35000_39999 income_40000_44999 income_45000_49999 \\\n", - "0 210.0 166.0 76.0 \n", - "1 211.0 226.0 222.0 \n", - "2 32.0 35.0 12.0 \n", - "3 207.0 137.0 124.0 \n", - "4 168.0 91.0 124.0 \n", - "5 385.0 382.0 336.0 \n", - "6 224.0 365.0 182.0 \n", - "7 8.0 12.0 10.0 \n", - "8 308.0 323.0 412.0 \n", - "9 77.0 20.0 52.0 \n", - "\n", - " income_50000_59999 income_60000_74999 income_75000_99999 \\\n", - "0 305.0 241.0 267.0 \n", - "1 433.0 515.0 485.0 \n", - "2 79.0 109.0 139.0 \n", - "3 259.0 329.0 385.0 \n", - "4 227.0 270.0 279.0 \n", - "5 544.0 392.0 555.0 \n", - "6 271.0 373.0 356.0 \n", - "7 14.0 22.0 20.0 \n", - "8 616.0 694.0 614.0 \n", - "9 50.0 77.0 90.0 \n", - "\n", - " married_households not_in_labor_force not_us_citizen_pop \\\n", - "0 1348.0 2029.0 20.0 \n", - "1 2221.0 3045.0 136.0 \n", - "2 401.0 462.0 12.0 \n", - "3 1592.0 2716.0 207.0 \n", - "4 1217.0 1451.0 27.0 \n", - "5 2758.0 6169.0 97.0 \n", - "6 2311.0 6325.0 34.0 \n", - "7 87.0 120.0 2.0 \n", - "8 3625.0 6517.0 169.0 \n", - "9 420.0 717.0 30.0 \n", - "\n", - " pop_in_labor_force high_school_diploma hispanic_male_45_54 \\\n", - "0 2733.0 1366.0 0.0 \n", - "1 5198.0 2447.0 39.0 \n", - "2 917.0 302.0 6.0 \n", - "3 3780.0 1597.0 164.0 \n", - "4 2911.0 1367.0 0.0 \n", - "5 7082.0 3602.0 19.0 \n", - "6 3584.0 2353.0 33.0 \n", - "7 178.0 73.0 0.0 \n", - "8 7455.0 3398.0 13.0 \n", - "9 812.0 426.0 11.0 \n", - "\n", - " hispanic_male_55_64 occupation_services workers_16_and_over \\\n", - "0 5.0 461.0 2492.0 \n", - "1 0.0 824.0 4793.0 \n", - "2 2.0 165.0 844.0 \n", - "3 147.0 770.0 3450.0 \n", - "4 0.0 393.0 2815.0 \n", - "5 19.0 1441.0 6176.0 \n", - "6 17.0 428.0 2799.0 \n", - "7 0.0 17.0 169.0 \n", - "8 0.0 1319.0 6865.0 \n", - "9 0.0 113.0 739.0 \n", - "\n", - " civilian_labor_force commute_60_more_mins commute_90_more_mins \\\n", - "0 2733.0 203.0 53.0 \n", - "1 5187.0 319.0 114.0 \n", - "2 917.0 43.0 8.0 \n", - "3 3780.0 133.0 81.0 \n", - "4 2911.0 175.0 32.0 \n", - "5 7082.0 159.0 72.0 \n", - "6 3584.0 447.0 122.0 \n", - "7 178.0 6.0 3.0 \n", - "8 7445.0 431.0 130.0 \n", - "9 812.0 24.0 19.0 \n", - "\n", - " commute_less_10_mins commuters_by_carpool employed_information \\\n", - "0 551.0 267.0 31.0 \n", - "1 1886.0 453.0 153.0 \n", - "2 410.0 42.0 10.0 \n", - "3 1482.0 424.0 17.0 \n", - "4 1422.0 247.0 30.0 \n", - "5 1904.0 594.0 26.0 \n", - "6 267.0 460.0 30.0 \n", - "7 64.0 24.0 1.0 \n", - "8 1025.0 513.0 74.0 \n", - "9 341.0 37.0 14.0 \n", - "\n", - " in_undergrad_college income_100000_124999 income_125000_149999 \\\n", - "0 79.0 170.0 82.0 \n", - "1 176.0 317.0 121.0 \n", - "2 48.0 45.0 11.0 \n", - "3 70.0 176.0 114.0 \n", - "4 102.0 226.0 37.0 \n", - "5 492.0 347.0 96.0 \n", - "6 292.0 120.0 50.0 \n", - "7 17.0 7.0 1.0 \n", - "8 595.0 379.0 287.0 \n", - "9 26.0 80.0 20.0 \n", - "\n", - " income_150000_199999 male_male_households nonfamily_households \\\n", - "0 186.0 0.0 853.0 \n", - "1 93.0 0.0 1534.0 \n", - "2 18.0 0.0 344.0 \n", - "3 69.0 0.0 979.0 \n", - "4 32.0 0.0 951.0 \n", - "5 143.0 6.0 2533.0 \n", - "6 58.0 0.0 1376.0 \n", - "7 2.0 0.0 81.0 \n", - "8 257.0 10.0 2182.0 \n", - "9 2.0 0.0 293.0 \n", - "\n", - " rent_over_50_percent vacant_housing_units commuters_drove_alone \\\n", - "0 47.0 338.0 1852.0 \n", - "1 246.0 617.0 3813.0 \n", - "2 16.0 163.0 732.0 \n", - "3 227.0 1159.0 2857.0 \n", - "4 128.0 661.0 2163.0 \n", - "5 641.0 1303.0 5259.0 \n", - "6 267.0 924.0 2292.0 \n", - "7 8.0 84.0 109.0 \n", - "8 185.0 2328.0 5900.0 \n", - "9 26.0 265.0 575.0 \n", - "\n", - " employed_construction employed_retail_trade income_200000_or_more \\\n", - "0 370.0 180.0 102.0 \n", - "1 309.0 641.0 86.0 \n", - "2 112.0 73.0 25.0 \n", - "3 171.0 383.0 76.0 \n", - "4 271.0 363.0 85.0 \n", - "5 194.0 741.0 74.0 \n", - "6 197.0 520.0 0.0 \n", - "7 15.0 13.0 3.0 \n", - "8 386.0 769.0 148.0 \n", - "9 74.0 57.0 9.0 \n", - "\n", - " less_one_year_college male_45_64_grade_9_12 one_year_more_college \\\n", - "0 261.0 24.0 683.0 \n", - "1 716.0 111.0 935.0 \n", - "2 106.0 7.0 207.0 \n", - "3 500.0 201.0 1092.0 \n", - "4 196.0 31.0 571.0 \n", - "5 705.0 408.0 1354.0 \n", - "6 360.0 347.0 1107.0 \n", - "7 26.0 0.0 34.0 \n", - "8 828.0 237.0 1843.0 \n", - "9 90.0 14.0 297.0 \n", - "\n", - " rent_10_to_15_percent rent_15_to_20_percent rent_20_to_25_percent \\\n", - "0 94.0 22.0 52.0 \n", - "1 180.0 193.0 164.0 \n", - "2 27.0 16.0 18.0 \n", - "3 64.0 100.0 59.0 \n", - "4 87.0 63.0 58.0 \n", - "5 263.0 285.0 371.0 \n", - "6 109.0 22.0 83.0 \n", - "7 13.0 3.0 1.0 \n", - "8 149.0 96.0 162.0 \n", - "9 32.0 46.0 8.0 \n", - "\n", - " rent_25_to_30_percent rent_30_to_35_percent rent_35_to_40_percent \\\n", - "0 15.0 45.0 5.0 \n", - "1 144.0 51.0 77.0 \n", - "2 13.0 19.0 8.0 \n", - "3 44.0 46.0 25.0 \n", - "4 79.0 2.0 37.0 \n", - "5 367.0 188.0 167.0 \n", - "6 98.0 107.0 49.0 \n", - "7 3.0 2.0 5.0 \n", - "8 91.0 35.0 109.0 \n", - "9 34.0 26.0 15.0 \n", - "\n", - " rent_40_to_50_percent rent_under_10_percent sales_office_employed \\\n", - "0 32.0 6.0 404.0 \n", - "1 168.0 75.0 1081.0 \n", - "2 0.0 10.0 185.0 \n", - "3 24.0 19.0 809.0 \n", - "4 104.0 64.0 484.0 \n", - "5 267.0 155.0 1164.0 \n", - "6 35.0 71.0 894.0 \n", - "7 0.0 0.0 20.0 \n", - "8 75.0 51.0 1347.0 \n", - "9 13.0 22.0 156.0 \n", - "\n", - " speak_spanish_at_home two_or_more_races_pop dwellings_3_to_4_units \\\n", - "0 None 83.0 41.0 \n", - "1 None 188.0 291.0 \n", - "2 None 3.0 33.0 \n", - "3 None 143.0 110.0 \n", - "4 None 233.0 108.0 \n", - "5 None 316.0 513.0 \n", - "6 None 107.0 53.0 \n", - "7 None 9.0 0.0 \n", - "8 None 151.0 163.0 \n", - "9 None 0.0 6.0 \n", - "\n", - " dwellings_5_to_9_units employed_manufacturing male_45_64_high_school \\\n", - "0 49.0 215.0 287.0 \n", - "1 101.0 870.0 680.0 \n", - "2 0.0 6.0 82.0 \n", - "3 16.0 214.0 458.0 \n", - "4 70.0 41.0 387.0 \n", - "5 49.0 1328.0 866.0 \n", - "6 105.0 45.0 736.0 \n", - "7 0.0 13.0 21.0 \n", - "8 0.0 787.0 918.0 \n", - "9 6.0 22.0 111.0 \n", - "\n", - " occupied_housing_units male_45_64_some_college mortgaged_housing_units \\\n", - "0 2405.0 247.0 1122.0 \n", - "1 4614.0 264.0 1552.0 \n", - "2 828.0 61.0 306.0 \n", - "3 3143.0 203.0 889.0 \n", - "4 2424.0 140.0 663.0 \n", - "5 6875.0 337.0 1652.0 \n", - "6 4316.0 218.0 958.0 \n", - "7 177.0 7.0 25.0 \n", - "8 6727.0 540.0 2932.0 \n", - "9 805.0 85.0 257.0 \n", - "\n", - " occupation_sales_office population_3_years_over asian_including_hispanic \\\n", - "0 404.0 5553.0 0.0 \n", - "1 1081.0 9869.0 0.0 \n", - "2 185.0 1623.0 0.0 \n", - "3 809.0 7863.0 0.0 \n", - "4 484.0 5334.0 0.0 \n", - "5 1164.0 16514.0 0.0 \n", - "6 894.0 11860.0 0.0 \n", - "7 20.0 415.0 0.0 \n", - "8 1347.0 16615.0 0.0 \n", - "9 156.0 1870.0 0.0 \n", - "\n", - " black_including_hispanic dwellings_10_to_19_units \\\n", - "0 4.0 41.0 \n", - "1 0.0 49.0 \n", - "2 1.0 0.0 \n", - "3 161.0 6.0 \n", - "4 0.0 38.0 \n", - "5 4717.0 90.0 \n", - "6 606.0 28.0 \n", - "7 0.0 0.0 \n", - "8 4762.0 52.0 \n", - "9 0.0 0.0 \n", - "\n", - " dwellings_20_to_49_units employed_wholesale_trade \\\n", - "0 0.0 42.0 \n", - "1 40.0 120.0 \n", - "2 0.0 13.0 \n", - "3 18.0 39.0 \n", - "4 52.0 75.0 \n", - "5 16.0 110.0 \n", - "6 18.0 88.0 \n", - "7 0.0 3.0 \n", - "8 12.0 221.0 \n", - "9 21.0 20.0 \n", - "\n", - " female_female_households rent_burden_not_computed \\\n", - "0 0.0 67.0 \n", - "1 3.0 185.0 \n", - "2 0.0 52.0 \n", - "3 0.0 137.0 \n", - "4 0.0 125.0 \n", - "5 5.0 540.0 \n", - "6 0.0 361.0 \n", - "7 0.0 30.0 \n", - "8 0.0 243.0 \n", - "9 0.0 68.0 \n", - "\n", - " white_including_hispanic high_school_including_ged \\\n", - "0 5533.0 1564.0 \n", - "1 9756.0 2785.0 \n", - "2 1649.0 361.0 \n", - "3 6969.0 1862.0 \n", - "4 4500.0 1511.0 \n", - "5 12113.0 4279.0 \n", - "6 11397.0 3313.0 \n", - "7 411.0 79.0 \n", - "8 12144.0 4105.0 \n", - "9 1783.0 493.0 \n", - "\n", - " commuters_by_car_truck_van dwellings_1_units_attached \\\n", - "0 2119.0 0.0 \n", - "1 4266.0 77.0 \n", - "2 774.0 22.0 \n", - "3 3281.0 23.0 \n", - "4 2410.0 16.0 \n", - "5 5853.0 54.0 \n", - "6 2752.0 37.0 \n", - "7 133.0 10.0 \n", - "8 6413.0 41.0 \n", - "9 612.0 7.0 \n", - "\n", - " dwellings_1_units_detached dwellings_50_or_more_units \\\n", - "0 2208.0 0.0 \n", - "1 4318.0 0.0 \n", - "2 890.0 0.0 \n", - "3 3498.0 0.0 \n", - "4 2281.0 0.0 \n", - "5 6098.0 91.0 \n", - "6 2976.0 54.0 \n", - "7 229.0 0.0 \n", - "8 6183.0 2.0 \n", - "9 863.0 6.0 \n", - "\n", - " housing_built_2000_to_2004 male_45_64_graduate_degree \\\n", - "0 61.0 87.0 \n", - "1 27.0 32.0 \n", - "2 15.0 3.0 \n", - "3 78.0 17.0 \n", - "4 43.0 32.0 \n", - "5 206.0 25.0 \n", - "6 143.0 41.0 \n", - "7 3.0 1.0 \n", - "8 218.0 113.0 \n", - "9 12.0 15.0 \n", - "\n", - " occupation_management_arts population_1_year_and_over \\\n", - "0 955.0 5634.0 \n", - "1 1470.0 10138.0 \n", - "2 264.0 1659.0 \n", - "3 850.0 8140.0 \n", - "4 1217.0 5425.0 \n", - "5 1560.0 17033.0 \n", - "6 875.0 12072.0 \n", - "7 83.0 421.0 \n", - "8 2279.0 16964.0 \n", - "9 233.0 1903.0 \n", - "\n", - " speak_only_english_at_home housing_built_2005_or_later \\\n", - "0 None 16.0 \n", - "1 None 5.0 \n", - "2 None 0.0 \n", - "3 None 39.0 \n", - "4 None 19.0 \n", - "5 None 20.0 \n", - "6 None 55.0 \n", - "7 None 0.0 \n", - "8 None 102.0 \n", - "9 None 15.0 \n", - "\n", - " male_45_64_bachelors_degree median_year_structure_built \\\n", - "0 158.0 1987.0 \n", - "1 178.0 1952.0 \n", - "2 48.0 1957.0 \n", - "3 93.0 1969.0 \n", - "4 152.0 1966.0 \n", - "5 211.0 1968.0 \n", - "6 19.0 1985.0 \n", - "7 6.0 1959.0 \n", - "8 153.0 1983.0 \n", - "9 40.0 1957.0 \n", - "\n", - " children_in_single_female_hh families_with_young_children \\\n", - "0 147.0 335.0 \n", - "1 756.0 662.0 \n", - "2 43.0 137.0 \n", - "3 396.0 589.0 \n", - "4 220.0 338.0 \n", - "5 2120.0 1330.0 \n", - "6 473.0 787.0 \n", - "7 3.0 27.0 \n", - "8 761.0 1033.0 \n", - "9 109.0 128.0 \n", - "\n", - " graduate_professional_degree households_retirement_income \\\n", - "0 337.0 625.0 \n", - "1 281.0 807.0 \n", - "2 72.0 107.0 \n", - "3 261.0 679.0 \n", - "4 210.0 261.0 \n", - "5 532.0 1138.0 \n", - "6 327.0 987.0 \n", - "7 19.0 23.0 \n", - "8 987.0 1480.0 \n", - "9 64.0 169.0 \n", - "\n", - " male_45_64_associates_degree male_45_64_less_than_9_grade \\\n", - "0 92.0 13.0 \n", - "1 151.0 33.0 \n", - "2 22.0 3.0 \n", - "3 7.0 75.0 \n", - "4 83.0 56.0 \n", - "5 58.0 251.0 \n", - "6 117.0 153.0 \n", - "7 15.0 0.0 \n", - "8 175.0 96.0 \n", - "9 5.0 13.0 \n", - "\n", - " million_dollar_housing_units owner_occupied_housing_units \\\n", - "0 26.0 2020.0 \n", - "1 0.0 3131.0 \n", - "2 0.0 649.0 \n", - "3 35.0 2398.0 \n", - "4 16.0 1677.0 \n", - "5 0.0 3631.0 \n", - "6 0.0 3114.0 \n", - "7 0.0 112.0 \n", - "8 0.0 5531.0 \n", - "9 0.0 515.0 \n", - "\n", - " percent_income_spent_on_rent aggregate_travel_time_to_work \\\n", - "0 23.6 60655.0 \n", - "1 26.3 86680.0 \n", - "2 22.9 NaN \n", - "3 32.0 53750.0 \n", - "4 27.5 40040.0 \n", - "5 28.8 105750.0 \n", - "6 31.8 98955.0 \n", - "7 25.8 3040.0 \n", - "8 26.0 171195.0 \n", - "9 25.4 11965.0 \n", - "\n", - " amerindian_including_hispanic housing_built_1939_or_earlier \\\n", - "0 84.0 97.0 \n", - "1 64.0 181.0 \n", - "2 39.0 95.0 \n", - "3 1.0 551.0 \n", - "4 747.0 255.0 \n", - "5 18.0 853.0 \n", - "6 9.0 141.0 \n", - "7 0.0 31.0 \n", - "8 5.0 343.0 \n", - "9 99.0 73.0 \n", - "\n", - " housing_units_renter_occupied pop_determined_poverty_status \\\n", - "0 385.0 5711.0 \n", - "1 1483.0 10014.0 \n", - "2 179.0 1690.0 \n", - "3 745.0 7955.0 \n", - "4 747.0 5294.0 \n", - "5 3244.0 17042.0 \n", - "6 1202.0 10690.0 \n", - "7 65.0 421.0 \n", - "8 1196.0 16806.0 \n", - "9 290.0 1906.0 \n", - "\n", - " vacant_housing_units_for_rent vacant_housing_units_for_sale \\\n", - "0 11.0 34.0 \n", - "1 142.0 67.0 \n", - "2 28.0 0.0 \n", - "3 31.0 57.0 \n", - "4 95.0 39.0 \n", - "5 313.0 89.0 \n", - "6 63.0 38.0 \n", - "7 2.0 0.0 \n", - "8 222.0 164.0 \n", - "9 22.0 38.0 \n", - "\n", - " employed_public_administration less_than_high_school_graduate \\\n", - "0 291.0 231.0 \n", - "1 122.0 633.0 \n", - "2 28.0 76.0 \n", - "3 192.0 1229.0 \n", - "4 118.0 408.0 \n", - "5 313.0 2867.0 \n", - "6 164.0 2339.0 \n", - "7 3.0 13.0 \n", - "8 196.0 2348.0 \n", - "9 62.0 152.0 \n", - "\n", - " commuters_by_subway_or_elevated bachelors_degree_or_higher_25_64 \\\n", - "0 0.0 873.0 \n", - "1 0.0 856.0 \n", - "2 0.0 211.0 \n", - "3 0.0 556.0 \n", - "4 0.0 580.0 \n", - "5 0.0 1066.0 \n", - "6 0.0 553.0 \n", - "7 0.0 59.0 \n", - "8 0.0 1485.0 \n", - "9 0.0 194.0 \n", - "\n", - " employed_education_health_social speak_spanish_at_home_low_english \\\n", - "0 380.0 None \n", - "1 1172.0 None \n", - "2 196.0 None \n", - "3 647.0 None \n", - "4 674.0 None \n", - "5 1780.0 None \n", - "6 775.0 None \n", - "7 37.0 None \n", - "8 1673.0 None \n", - "9 121.0 None \n", - "\n", - " commuters_by_public_transportation different_house_year_ago_same_city \\\n", - "0 0.0 32.0 \n", - "1 21.0 550.0 \n", - "2 0.0 61.0 \n", - "3 2.0 634.0 \n", - "4 37.0 182.0 \n", - "5 23.0 1577.0 \n", - "6 0.0 74.0 \n", - "7 0.0 1.0 \n", - "8 0.0 378.0 \n", - "9 0.0 108.0 \n", - "\n", - " some_college_and_associates_degree households_public_asst_or_food_stamps \\\n", - "0 1212.0 179.0 \n", - "1 2577.0 831.0 \n", - "2 448.0 61.0 \n", - "3 1809.0 600.0 \n", - "4 1086.0 340.0 \n", - "5 2719.0 2237.0 \n", - "6 2195.0 1218.0 \n", - "7 93.0 6.0 \n", - "8 3596.0 1129.0 \n", - "9 464.0 99.0 \n", - "\n", - " management_business_sci_arts_employed \\\n", - "0 955.0 \n", - "1 1470.0 \n", - "2 264.0 \n", - "3 850.0 \n", - "4 1217.0 \n", - "5 1560.0 \n", - "6 875.0 \n", - "7 83.0 \n", - "8 2279.0 \n", - "9 233.0 \n", - "\n", - " employed_finance_insurance_real_estate \\\n", - "0 141.0 \n", - "1 170.0 \n", - "2 30.0 \n", - "3 133.0 \n", - "4 184.0 \n", - "5 282.0 \n", - "6 162.0 \n", - "7 1.0 \n", - "8 279.0 \n", - "9 11.0 \n", - "\n", - " different_house_year_ago_different_city \\\n", - "0 471.0 \n", - "1 839.0 \n", - "2 84.0 \n", - "3 829.0 \n", - "4 444.0 \n", - "5 1594.0 \n", - "6 1449.0 \n", - "7 54.0 \n", - "8 983.0 \n", - "9 114.0 \n", - "\n", - " employed_science_management_admin_waste \\\n", - "0 141.0 \n", - "1 173.0 \n", - "2 34.0 \n", - "3 231.0 \n", - "4 92.0 \n", - "5 164.0 \n", - "6 85.0 \n", - "7 3.0 \n", - "8 495.0 \n", - "9 89.0 \n", - "\n", - " one_parent_families_with_young_children \\\n", - "0 64.0 \n", - "1 327.0 \n", - "2 20.0 \n", - "3 206.0 \n", - "4 85.0 \n", - "5 813.0 \n", - "6 184.0 \n", - "7 2.0 \n", - "8 394.0 \n", - "9 49.0 \n", - "\n", - " two_parent_families_with_young_children \\\n", - "0 271.0 \n", - "1 335.0 \n", - "2 117.0 \n", - "3 383.0 \n", - "4 253.0 \n", - "5 517.0 \n", - "6 603.0 \n", - "7 25.0 \n", - "8 639.0 \n", - "9 79.0 \n", - "\n", - " employed_other_services_not_public_admin \\\n", - "0 94.0 \n", - "1 301.0 \n", - "2 51.0 \n", - "3 363.0 \n", - "4 139.0 \n", - "5 304.0 \n", - "6 183.0 \n", - "7 6.0 \n", - "8 231.0 \n", - "9 17.0 \n", - "\n", - " owner_occupied_housing_units_median_value \\\n", - "0 195000.0 \n", - "1 81800.0 \n", - "2 76400.0 \n", - "3 82000.0 \n", - "4 85800.0 \n", - "5 73300.0 \n", - "6 65500.0 \n", - "7 101500.0 \n", - "8 112600.0 \n", - "9 110900.0 \n", - "\n", - " employed_transportation_warehousing_utilities \\\n", - "0 90.0 \n", - "1 245.0 \n", - "2 55.0 \n", - "3 401.0 \n", - "4 52.0 \n", - "5 299.0 \n", - "6 165.0 \n", - "7 9.0 \n", - "8 788.0 \n", - "9 96.0 \n", - "\n", - " occupation_production_transportation_material \\\n", - "0 310.0 \n", - "1 949.0 \n", - "2 73.0 \n", - "3 510.0 \n", - "4 306.0 \n", - "5 1565.0 \n", - "6 319.0 \n", - "7 21.0 \n", - "8 1238.0 \n", - "9 126.0 \n", - "\n", - " father_one_parent_families_with_young_children \\\n", - "0 0.0 \n", - "1 29.0 \n", - "2 13.0 \n", - "3 165.0 \n", - "4 26.0 \n", - "5 89.0 \n", - "6 24.0 \n", - "7 2.0 \n", - "8 89.0 \n", - "9 21.0 \n", - "\n", - " owner_occupied_housing_units_lower_value_quartile \\\n", - "0 119800.0 \n", - "1 49500.0 \n", - "2 44300.0 \n", - "3 41600.0 \n", - "4 51600.0 \n", - "5 37000.0 \n", - "6 30000.0 \n", - "7 57000.0 \n", - "8 62700.0 \n", - "9 83300.0 \n", - "\n", - " owner_occupied_housing_units_upper_value_quartile \\\n", - "0 301300.0 \n", - "1 126300.0 \n", - "2 124400.0 \n", - "3 165300.0 \n", - "4 156600.0 \n", - "5 120900.0 \n", - "6 117600.0 \n", - "7 162500.0 \n", - "8 189100.0 \n", - "9 162900.0 \n", - "\n", - " employed_agriculture_forestry_fishing_hunting_mining \\\n", - "0 460.0 \n", - "1 349.0 \n", - "2 253.0 \n", - "3 602.0 \n", - "4 706.0 \n", - "5 405.0 \n", - "6 392.0 \n", - "7 67.0 \n", - "8 353.0 \n", - "9 96.0 \n", - "\n", - " occupation_natural_resources_construction_maintenance \\\n", - "0 491.0 \n", - "1 514.0 \n", - "2 198.0 \n", - "3 719.0 \n", - "4 459.0 \n", - "5 596.0 \n", - "6 516.0 \n", - "7 36.0 \n", - "8 766.0 \n", - "9 123.0 \n", - "\n", - " two_parents_in_labor_force_families_with_young_children \\\n", - "0 90.0 \n", - "1 248.0 \n", - "2 65.0 \n", - "3 214.0 \n", - "4 215.0 \n", - "5 216.0 \n", - "6 275.0 \n", - "7 13.0 \n", - "8 386.0 \n", - "9 10.0 \n", - "\n", - " employed_arts_entertainment_recreation_accommodation_food \\\n", - "0 186.0 \n", - "1 213.0 \n", - "2 24.0 \n", - "3 265.0 \n", - "4 114.0 \n", - "5 380.0 \n", - "6 226.0 \n", - "7 6.0 \n", - "8 697.0 \n", - "9 72.0 \n", - "\n", - " renter_occupied_housing_units_paying_cash_median_gross_rent \\\n", - "0 640.0 \n", - "1 664.0 \n", - "2 551.0 \n", - "3 721.0 \n", - "4 562.0 \n", - "5 568.0 \n", - "6 483.0 \n", - "7 658.0 \n", - "8 603.0 \n", - "9 814.0 \n", - "\n", - " two_parents_not_in_labor_force_families_with_young_children \\\n", - "0 18.0 \n", - "1 12.0 \n", - "2 0.0 \n", - "3 0.0 \n", - "4 0.0 \n", - "5 2.0 \n", - "6 78.0 \n", - "7 0.0 \n", - "8 8.0 \n", - "9 0.0 \n", - "\n", - " father_in_labor_force_one_parent_families_with_young_children \\\n", - "0 0.0 \n", - "1 25.0 \n", - "2 13.0 \n", - "3 165.0 \n", - "4 14.0 \n", - "5 69.0 \n", - "6 24.0 \n", - "7 2.0 \n", - "8 80.0 \n", - "9 21.0 \n", - "\n", - " two_parents_father_in_labor_force_families_with_young_children \\\n", - "0 163.0 \n", - "1 64.0 \n", - "2 48.0 \n", - "3 169.0 \n", - "4 32.0 \n", - "5 299.0 \n", - "6 211.0 \n", - "7 12.0 \n", - "8 245.0 \n", - "9 67.0 \n", - "\n", - " two_parents_mother_in_labor_force_families_with_young_children \n", - "0 0.0 \n", - "1 11.0 \n", - "2 4.0 \n", - "3 0.0 \n", - "4 6.0 \n", - "5 0.0 \n", - "6 39.0 \n", - "7 0.0 \n", - "8 0.0 \n", - "9 2.0 " - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dataset.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Apply a standard filter when downloading the dataset" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's say we are interested in the `children` variable to know the number of children per county, we can download just that variable and the geometry and visualise the result in a map." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "dataset_df = dataset.to_dataframe(sql_query=\"select children, geom from $dataset$\")" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                          \n", - "
                                                                                          \n", - "
                                                                                          \n", - " \n", - "
                                                                                          \n", - " \n", - " \n", - "
                                                                                          \n", - "
                                                                                          \n", - " \n", - "\n", - "
                                                                                          \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                          \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                          \n", - " \n", - " \n", - "
                                                                                          \n", - "
                                                                                          \n", - "
                                                                                          \n", - "
                                                                                          \n", - " \n", - "
                                                                                          \n", - "
                                                                                          \n", - "
                                                                                          \n", - "\n", - " \n", - "\n", - "
                                                                                          \n", - "
                                                                                          \n", - " :\n", - "
                                                                                          \n", - " \n", - " \n", - "
                                                                                          \n", - "
                                                                                          \n", - "\n", - "
                                                                                          \n", - " StackTrace\n", - "
                                                                                            \n", - "
                                                                                            \n", - "
                                                                                            \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Map, Layer, color_bins_style\n", - "\n", - "Map(\n", - " Layer(dataset_df, color_bins_style('children'), geom_col='geom'),\n", - " show_info=True,\n", - " viewport={'zoom': 3.17, 'lat': 38.170209, 'lng': -102.736148}\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Apply a spatial filter when downloading the dataset" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, instead of downloading just one field, let's download all of them but for a smaller region using a spatial filter. We will use a bounding box for this and you can calculate yours from here: http://bboxfinder.com." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                            \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                            geoiddo_datetotal_pophouseholdsmale_popfemale_popmedian_agemale_under_5male_5_to_9male_10_to_14male_15_to_17male_18_to_19male_20male_21male_22_to_24male_25_to_29male_30_to_34male_35_to_39male_40_to_44male_45_to_49male_50_to_54male_55_to_59male_60_to_61male_62_to_64male_65_to_66male_67_to_69male_70_to_74male_75_to_79male_80_to_84male_85_and_overfemale_under_5female_5_to_9female_10_to_14female_15_to_17female_18_to_19female_20female_21female_22_to_24female_25_to_29female_30_to_34female_35_to_39female_40_to_44female_45_to_49female_50_to_54female_55_to_59female_60_to_61female_62_to_64female_65_to_66female_67_to_69female_70_to_74female_75_to_79female_80_to_84female_85_and_overwhite_poppopulation_1_year_and_overpopulation_3_years_overpop_5_years_overpop_15_and_overpop_16_overpop_25_years_overpop_25_64pop_never_marriedpop_now_marriedpop_separatedpop_widowedpop_divorcednot_us_citizen_popblack_popasian_pophispanic_popamerindian_popother_race_poptwo_or_more_races_popwhite_including_hispanicblack_including_hispanicasian_including_hispanicamerindian_including_hispanichispanic_any_racenot_hispanic_popasian_male_45_54asian_male_55_64black_male_45_54black_male_55_64hispanic_male_45_54hispanic_male_55_64white_male_45_54white_male_55_64median_incomeincome_per_capitaincome_less_10000income_10000_14999income_15000_19999income_20000_24999income_25000_29999income_30000_34999income_35000_39999income_40000_44999income_45000_49999income_50000_59999income_60000_74999income_75000_99999income_100000_124999income_125000_149999income_150000_199999income_200000_or_morehouseholds_retirement_incomepop_determined_poverty_statuspovertygini_indexhousing_unitsrenter_occupied_housing_units_paying_cash_median_gross_rentowner_occupied_housing_units_lower_value_quartileowner_occupied_housing_units_median_valueowner_occupied_housing_units_upper_value_quartileoccupied_housing_unitshousing_units_renter_occupiedvacant_housing_unitsvacant_housing_units_for_rentvacant_housing_units_for_saledwellings_1_units_detacheddwellings_1_units_attacheddwellings_2_unitsdwellings_3_to_4_unitsdwellings_5_to_9_unitsdwellings_10_to_19_unitsdwellings_20_to_49_unitsdwellings_50_or_more_unitsmobile_homeshousing_built_2005_or_laterhousing_built_2000_to_2004housing_built_1939_or_earliermedian_year_structure_builtmarried_householdsnonfamily_householdsfamily_householdshouseholds_public_asst_or_food_stampsmale_male_householdsfemale_female_householdschildrenchildren_in_single_female_hhmedian_rentpercent_income_spent_on_rentrent_burden_not_computedrent_over_50_percentrent_40_to_50_percentrent_35_to_40_percentrent_30_to_35_percentrent_25_to_30_percentrent_20_to_25_percentrent_15_to_20_percentrent_10_to_15_percentrent_under_10_percentowner_occupied_housing_unitsmillion_dollar_housing_unitsmortgaged_housing_unitsdifferent_house_year_ago_different_citydifferent_house_year_ago_same_cityfamilies_with_young_childrentwo_parent_families_with_young_childrentwo_parents_in_labor_force_families_with_young_childrentwo_parents_father_in_labor_force_families_with_young_childrentwo_parents_mother_in_labor_force_families_with_young_childrentwo_parents_not_in_labor_force_families_with_young_childrenone_parent_families_with_young_childrenfather_one_parent_families_with_young_childrenfather_in_labor_force_one_parent_families_with_young_childrencommute_5_9_minscommute_less_10_minscommute_10_14_minscommute_15_19_minscommute_20_24_minscommute_25_29_minscommute_30_34_minscommute_35_39_minscommute_40_44_minscommute_35_44_minscommute_45_59_minscommute_60_more_minscommute_60_89_minscommute_90_more_minscommuters_16_overwalked_to_workworked_at_homeno_carno_carsone_cartwo_carsthree_carsfour_more_carsaggregate_travel_time_to_workcommuters_by_public_transportationcommuters_by_buscommuters_by_car_truck_vancommuters_by_carpoolcommuters_by_subway_or_elevatedcommuters_drove_alonegroup_quartersassociates_degreebachelors_degreehigh_school_diplomaless_one_year_collegemasters_degreeone_year_more_collegeless_than_high_school_graduatehigh_school_including_gedbachelors_degree_2bachelors_degree_or_higher_25_64graduate_professional_degreesome_college_and_associates_degreemale_45_64_associates_degreemale_45_64_bachelors_degreemale_45_64_graduate_degreemale_45_64_less_than_9_grademale_45_64_grade_9_12male_45_64_high_schoolmale_45_64_some_collegemale_45_to_64employed_popunemployed_poppop_in_labor_forcenot_in_labor_forceworkers_16_and_overarmed_forcescivilian_labor_forceemployed_agriculture_forestry_fishing_hunting_miningemployed_arts_entertainment_recreation_accommodation_foodemployed_constructionemployed_education_health_socialemployed_finance_insurance_real_estateemployed_informationemployed_manufacturingemployed_other_services_not_public_adminemployed_public_administrationemployed_retail_tradeemployed_science_management_admin_wasteemployed_transportation_warehousing_utilitiesemployed_wholesale_tradeoccupation_management_artsoccupation_natural_resources_construction_maintenanceoccupation_production_transportation_materialoccupation_sales_officeoccupation_servicesmanagement_business_sci_arts_employedsales_office_employedin_grades_1_to_4in_grades_5_to_8in_grades_9_to_12in_schoolin_undergrad_collegespeak_only_english_at_homespeak_spanish_at_homespeak_spanish_at_home_low_englishdo_labeldo_areado_perimeterdo_num_verticesgeom
                                                                                            0180252013-01-0110598.04007.05355.05243.043.7283.0369.0309.0235.0142.011.041.0205.0282.0301.0284.0341.0355.0417.0438.0163.0259.0243.0171.0194.0145.0100.067.0278.0353.0326.0192.094.054.042.0191.0256.0276.0307.0328.0318.0415.0462.0160.0176.0131.0192.0264.0134.0182.0112.010214.010469.010216.0NaNNaN8559.07473.05538.0NaNNaNNaNNaNNaN6.021.00.0154.063.00.0146.010309.021.014.087.0154.010444.00.07.02.00.09.07.0757.0834.040067.019424.0360.0286.0314.0362.0179.0316.0183.0189.0189.0404.0524.0395.0160.076.060.010.0819.010412.01851.00.39755543.0562.051400.086700.0146100.04007.0673.01536.067.00.04190.019.030.030.060.014.066.00.01094.02.068.0210.01985.02069.01297.02710.0625.00.02.02345.0484.0348.030.1164.0116.072.026.041.075.077.050.038.014.03334.07.01764.0704.098.0615.0492.0287.0196.00.09.0123.054.048.0309.0475.0362.0374.0401.0216.0660.0143.0140.0283.0670.0647.0530.0117.04088.044.0107.047.0179.01004.01405.0957.0462.0133665.013.013.03987.0310.00.03677.0102.0502.0486.02782.0434.0226.0861.01354.03543.0486.0532.0293.01797.0114.0102.057.0110.0241.0832.0176.01632.04241.0191.04439.04120.04195.07.04432.0127.0391.0275.0873.0139.079.01071.0116.0204.0448.0226.0264.028.0912.0493.01246.0712.0878.0912.0712.0626.0492.0617.02321.0306.0NaNNaNNaNCrawford7.998498e+08150379.20538POLYGON((-86.679511 38.263086, -86.570136 38.2...
                                                                                            110912013-01-0119743.07975.09235.010508.042.1514.0601.0660.0421.0236.0133.0117.0307.0635.0487.0529.0506.0569.0628.0728.0212.0358.0242.0234.0475.0372.0215.056.0681.0503.0755.0399.0366.0177.082.0234.0600.0561.0566.0661.0667.0717.0579.0396.0470.0266.0361.0459.0439.0347.0222.08909.019541.019169.0NaNNaN15822.013557.09869.0NaNNaNNaNNaNNaN78.010689.00.088.011.09.037.08954.010689.00.011.088.019655.00.00.0583.0650.00.00.0605.0648.032255.022996.01429.0656.0701.0580.0451.0468.0258.0335.0310.0412.0713.0663.0321.0272.0301.0105.01763.019502.05000.00.530310307.0552.040700.088100.0172700.07975.02286.02332.098.086.06806.064.0109.0183.0494.0105.043.09.02472.083.0128.0715.01979.03102.03358.04617.01971.00.01.04534.01909.0349.029.9706.0349.0195.067.0176.0189.099.0212.0133.0160.05689.05.02383.0985.0734.01398.0572.0268.0168.056.080.0826.0122.0122.01043.01643.0698.0695.0822.0397.0749.0143.0144.0287.0377.0690.0433.0257.06358.081.0184.0297.0922.03037.02720.0783.0513.0161900.00.00.06126.0371.00.05755.0233.01084.01315.04881.0800.0611.01930.02279.05375.01315.01665.0774.03814.0277.0366.0126.086.0351.0993.0296.02495.06645.0975.07620.08202.06542.00.07620.0249.0371.0266.01606.0278.0107.01144.0376.0295.0916.0340.0607.090.01970.0760.01386.01361.01168.01970.01361.0918.01229.01185.04829.0811.0NaNNaNNaNMarengo2.550527e+09252631.60668POLYGON((-87.967893 32.298249, -87.975667 32.3...
                                                                                            250032013-01-0120771.08182.010126.010645.041.8536.0865.0713.0478.0269.080.079.0577.0429.0560.0599.0513.0622.0692.0807.0306.0260.0438.0289.0350.0346.0164.0154.0578.0834.0482.0333.0209.082.051.0439.0611.0511.0767.0634.0759.0813.0755.0235.0415.0284.0303.0626.0447.0223.0254.014126.020622.020198.0NaNNaN16422.014166.010288.0NaNNaNNaNNaNNaN416.05309.00.01083.049.031.0173.014939.05309.00.049.01083.019688.00.00.0341.0352.023.028.0950.0993.036407.020703.0857.0784.0637.0498.0503.0637.0560.0369.0283.0527.0646.0872.0542.0178.0164.0125.01722.020552.04368.00.465810152.0608.038900.068200.0115200.08182.02128.01970.0376.0136.07052.056.0229.012.0190.034.082.041.02446.066.0208.0480.01976.04163.02622.05560.01651.00.00.04819.01436.0393.034.2357.0534.0216.0118.0109.0247.0169.0235.057.086.06054.06.02373.01188.0494.01186.0823.0351.0450.022.00.0363.022.022.01807.02364.01463.01102.0722.0341.0524.018.0144.0162.0400.0578.0348.0230.07656.0178.0126.0248.0542.02795.02854.01490.0501.0156480.019.019.07226.0607.00.06619.0193.0704.01333.05003.0786.0462.02485.02409.05883.01333.01483.0566.03975.0135.0219.052.077.0391.01158.0655.02687.07905.0870.08775.07647.07782.00.08775.0640.0287.0722.02045.0176.047.01407.0244.0418.0951.0329.0539.0100.02176.01086.01820.01494.01329.02176.01494.01344.01124.01022.05037.0801.0NaNNaNNaNAshley2.432888e+09212505.74837POLYGON((-91.561673 33.391561, -91.60694 33.39...
                                                                                            \n", - "
                                                                                            " - ], - "text/plain": [ - " geoid do_date total_pop households male_pop female_pop median_age \\\n", - "0 18025 2013-01-01 10598.0 4007.0 5355.0 5243.0 43.7 \n", - "1 1091 2013-01-01 19743.0 7975.0 9235.0 10508.0 42.1 \n", - "2 5003 2013-01-01 20771.0 8182.0 10126.0 10645.0 41.8 \n", - "\n", - " male_under_5 male_5_to_9 male_10_to_14 male_15_to_17 male_18_to_19 \\\n", - "0 283.0 369.0 309.0 235.0 142.0 \n", - "1 514.0 601.0 660.0 421.0 236.0 \n", - "2 536.0 865.0 713.0 478.0 269.0 \n", - "\n", - " male_20 male_21 male_22_to_24 male_25_to_29 male_30_to_34 \\\n", - "0 11.0 41.0 205.0 282.0 301.0 \n", - "1 133.0 117.0 307.0 635.0 487.0 \n", - "2 80.0 79.0 577.0 429.0 560.0 \n", - "\n", - " male_35_to_39 male_40_to_44 male_45_to_49 male_50_to_54 male_55_to_59 \\\n", - "0 284.0 341.0 355.0 417.0 438.0 \n", - "1 529.0 506.0 569.0 628.0 728.0 \n", - "2 599.0 513.0 622.0 692.0 807.0 \n", - "\n", - " male_60_to_61 male_62_to_64 male_65_to_66 male_67_to_69 male_70_to_74 \\\n", - "0 163.0 259.0 243.0 171.0 194.0 \n", - "1 212.0 358.0 242.0 234.0 475.0 \n", - "2 306.0 260.0 438.0 289.0 350.0 \n", - "\n", - " male_75_to_79 male_80_to_84 male_85_and_over female_under_5 \\\n", - "0 145.0 100.0 67.0 278.0 \n", - "1 372.0 215.0 56.0 681.0 \n", - "2 346.0 164.0 154.0 578.0 \n", - "\n", - " female_5_to_9 female_10_to_14 female_15_to_17 female_18_to_19 \\\n", - "0 353.0 326.0 192.0 94.0 \n", - "1 503.0 755.0 399.0 366.0 \n", - "2 834.0 482.0 333.0 209.0 \n", - "\n", - " female_20 female_21 female_22_to_24 female_25_to_29 female_30_to_34 \\\n", - "0 54.0 42.0 191.0 256.0 276.0 \n", - "1 177.0 82.0 234.0 600.0 561.0 \n", - "2 82.0 51.0 439.0 611.0 511.0 \n", - "\n", - " female_35_to_39 female_40_to_44 female_45_to_49 female_50_to_54 \\\n", - "0 307.0 328.0 318.0 415.0 \n", - "1 566.0 661.0 667.0 717.0 \n", - "2 767.0 634.0 759.0 813.0 \n", - "\n", - " female_55_to_59 female_60_to_61 female_62_to_64 female_65_to_66 \\\n", - "0 462.0 160.0 176.0 131.0 \n", - "1 579.0 396.0 470.0 266.0 \n", - "2 755.0 235.0 415.0 284.0 \n", - "\n", - " female_67_to_69 female_70_to_74 female_75_to_79 female_80_to_84 \\\n", - "0 192.0 264.0 134.0 182.0 \n", - "1 361.0 459.0 439.0 347.0 \n", - "2 303.0 626.0 447.0 223.0 \n", - "\n", - " female_85_and_over white_pop population_1_year_and_over \\\n", - "0 112.0 10214.0 10469.0 \n", - "1 222.0 8909.0 19541.0 \n", - "2 254.0 14126.0 20622.0 \n", - "\n", - " population_3_years_over pop_5_years_over pop_15_and_over pop_16_over \\\n", - "0 10216.0 NaN NaN 8559.0 \n", - "1 19169.0 NaN NaN 15822.0 \n", - "2 20198.0 NaN NaN 16422.0 \n", - "\n", - " pop_25_years_over pop_25_64 pop_never_married pop_now_married \\\n", - "0 7473.0 5538.0 NaN NaN \n", - "1 13557.0 9869.0 NaN NaN \n", - "2 14166.0 10288.0 NaN NaN \n", - "\n", - " pop_separated pop_widowed pop_divorced not_us_citizen_pop black_pop \\\n", - "0 NaN NaN NaN 6.0 21.0 \n", - "1 NaN NaN NaN 78.0 10689.0 \n", - "2 NaN NaN NaN 416.0 5309.0 \n", - "\n", - " asian_pop hispanic_pop amerindian_pop other_race_pop \\\n", - "0 0.0 154.0 63.0 0.0 \n", - "1 0.0 88.0 11.0 9.0 \n", - "2 0.0 1083.0 49.0 31.0 \n", - "\n", - " two_or_more_races_pop white_including_hispanic black_including_hispanic \\\n", - "0 146.0 10309.0 21.0 \n", - "1 37.0 8954.0 10689.0 \n", - "2 173.0 14939.0 5309.0 \n", - "\n", - " asian_including_hispanic amerindian_including_hispanic hispanic_any_race \\\n", - "0 14.0 87.0 154.0 \n", - "1 0.0 11.0 88.0 \n", - "2 0.0 49.0 1083.0 \n", - "\n", - " not_hispanic_pop asian_male_45_54 asian_male_55_64 black_male_45_54 \\\n", - "0 10444.0 0.0 7.0 2.0 \n", - "1 19655.0 0.0 0.0 583.0 \n", - "2 19688.0 0.0 0.0 341.0 \n", - "\n", - " black_male_55_64 hispanic_male_45_54 hispanic_male_55_64 \\\n", - "0 0.0 9.0 7.0 \n", - "1 650.0 0.0 0.0 \n", - "2 352.0 23.0 28.0 \n", - "\n", - " white_male_45_54 white_male_55_64 median_income income_per_capita \\\n", - "0 757.0 834.0 40067.0 19424.0 \n", - "1 605.0 648.0 32255.0 22996.0 \n", - "2 950.0 993.0 36407.0 20703.0 \n", - "\n", - " income_less_10000 income_10000_14999 income_15000_19999 \\\n", - "0 360.0 286.0 314.0 \n", - "1 1429.0 656.0 701.0 \n", - "2 857.0 784.0 637.0 \n", - "\n", - " income_20000_24999 income_25000_29999 income_30000_34999 \\\n", - "0 362.0 179.0 316.0 \n", - "1 580.0 451.0 468.0 \n", - "2 498.0 503.0 637.0 \n", - "\n", - " income_35000_39999 income_40000_44999 income_45000_49999 \\\n", - "0 183.0 189.0 189.0 \n", - "1 258.0 335.0 310.0 \n", - "2 560.0 369.0 283.0 \n", - "\n", - " income_50000_59999 income_60000_74999 income_75000_99999 \\\n", - "0 404.0 524.0 395.0 \n", - "1 412.0 713.0 663.0 \n", - "2 527.0 646.0 872.0 \n", - "\n", - " income_100000_124999 income_125000_149999 income_150000_199999 \\\n", - "0 160.0 76.0 60.0 \n", - "1 321.0 272.0 301.0 \n", - "2 542.0 178.0 164.0 \n", - "\n", - " income_200000_or_more households_retirement_income \\\n", - "0 10.0 819.0 \n", - "1 105.0 1763.0 \n", - "2 125.0 1722.0 \n", - "\n", - " pop_determined_poverty_status poverty gini_index housing_units \\\n", - "0 10412.0 1851.0 0.3975 5543.0 \n", - "1 19502.0 5000.0 0.5303 10307.0 \n", - "2 20552.0 4368.0 0.4658 10152.0 \n", - "\n", - " renter_occupied_housing_units_paying_cash_median_gross_rent \\\n", - "0 562.0 \n", - "1 552.0 \n", - "2 608.0 \n", - "\n", - " owner_occupied_housing_units_lower_value_quartile \\\n", - "0 51400.0 \n", - "1 40700.0 \n", - "2 38900.0 \n", - "\n", - " owner_occupied_housing_units_median_value \\\n", - "0 86700.0 \n", - "1 88100.0 \n", - "2 68200.0 \n", - "\n", - " owner_occupied_housing_units_upper_value_quartile occupied_housing_units \\\n", - "0 146100.0 4007.0 \n", - "1 172700.0 7975.0 \n", - "2 115200.0 8182.0 \n", - "\n", - " housing_units_renter_occupied vacant_housing_units \\\n", - "0 673.0 1536.0 \n", - "1 2286.0 2332.0 \n", - "2 2128.0 1970.0 \n", - "\n", - " vacant_housing_units_for_rent vacant_housing_units_for_sale \\\n", - "0 67.0 0.0 \n", - "1 98.0 86.0 \n", - "2 376.0 136.0 \n", - "\n", - " dwellings_1_units_detached dwellings_1_units_attached dwellings_2_units \\\n", - "0 4190.0 19.0 30.0 \n", - "1 6806.0 64.0 109.0 \n", - "2 7052.0 56.0 229.0 \n", - "\n", - " dwellings_3_to_4_units dwellings_5_to_9_units dwellings_10_to_19_units \\\n", - "0 30.0 60.0 14.0 \n", - "1 183.0 494.0 105.0 \n", - "2 12.0 190.0 34.0 \n", - "\n", - " dwellings_20_to_49_units dwellings_50_or_more_units mobile_homes \\\n", - "0 66.0 0.0 1094.0 \n", - "1 43.0 9.0 2472.0 \n", - "2 82.0 41.0 2446.0 \n", - "\n", - " housing_built_2005_or_later housing_built_2000_to_2004 \\\n", - "0 2.0 68.0 \n", - "1 83.0 128.0 \n", - "2 66.0 208.0 \n", - "\n", - " housing_built_1939_or_earlier median_year_structure_built \\\n", - "0 210.0 1985.0 \n", - "1 715.0 1979.0 \n", - "2 480.0 1976.0 \n", - "\n", - " married_households nonfamily_households family_households \\\n", - "0 2069.0 1297.0 2710.0 \n", - "1 3102.0 3358.0 4617.0 \n", - "2 4163.0 2622.0 5560.0 \n", - "\n", - " households_public_asst_or_food_stamps male_male_households \\\n", - "0 625.0 0.0 \n", - "1 1971.0 0.0 \n", - "2 1651.0 0.0 \n", - "\n", - " female_female_households children children_in_single_female_hh \\\n", - "0 2.0 2345.0 484.0 \n", - "1 1.0 4534.0 1909.0 \n", - "2 0.0 4819.0 1436.0 \n", - "\n", - " median_rent percent_income_spent_on_rent rent_burden_not_computed \\\n", - "0 348.0 30.1 164.0 \n", - "1 349.0 29.9 706.0 \n", - "2 393.0 34.2 357.0 \n", - "\n", - " rent_over_50_percent rent_40_to_50_percent rent_35_to_40_percent \\\n", - "0 116.0 72.0 26.0 \n", - "1 349.0 195.0 67.0 \n", - "2 534.0 216.0 118.0 \n", - "\n", - " rent_30_to_35_percent rent_25_to_30_percent rent_20_to_25_percent \\\n", - "0 41.0 75.0 77.0 \n", - "1 176.0 189.0 99.0 \n", - "2 109.0 247.0 169.0 \n", - "\n", - " rent_15_to_20_percent rent_10_to_15_percent rent_under_10_percent \\\n", - "0 50.0 38.0 14.0 \n", - "1 212.0 133.0 160.0 \n", - "2 235.0 57.0 86.0 \n", - "\n", - " owner_occupied_housing_units million_dollar_housing_units \\\n", - "0 3334.0 7.0 \n", - "1 5689.0 5.0 \n", - "2 6054.0 6.0 \n", - "\n", - " mortgaged_housing_units different_house_year_ago_different_city \\\n", - "0 1764.0 704.0 \n", - "1 2383.0 985.0 \n", - "2 2373.0 1188.0 \n", - "\n", - " different_house_year_ago_same_city families_with_young_children \\\n", - "0 98.0 615.0 \n", - "1 734.0 1398.0 \n", - "2 494.0 1186.0 \n", - "\n", - " two_parent_families_with_young_children \\\n", - "0 492.0 \n", - "1 572.0 \n", - "2 823.0 \n", - "\n", - " two_parents_in_labor_force_families_with_young_children \\\n", - "0 287.0 \n", - "1 268.0 \n", - "2 351.0 \n", - "\n", - " two_parents_father_in_labor_force_families_with_young_children \\\n", - "0 196.0 \n", - "1 168.0 \n", - "2 450.0 \n", - "\n", - " two_parents_mother_in_labor_force_families_with_young_children \\\n", - "0 0.0 \n", - "1 56.0 \n", - "2 22.0 \n", - "\n", - " two_parents_not_in_labor_force_families_with_young_children \\\n", - "0 9.0 \n", - "1 80.0 \n", - "2 0.0 \n", - "\n", - " one_parent_families_with_young_children \\\n", - "0 123.0 \n", - "1 826.0 \n", - "2 363.0 \n", - "\n", - " father_one_parent_families_with_young_children \\\n", - "0 54.0 \n", - "1 122.0 \n", - "2 22.0 \n", - "\n", - " father_in_labor_force_one_parent_families_with_young_children \\\n", - "0 48.0 \n", - "1 122.0 \n", - "2 22.0 \n", - "\n", - " commute_5_9_mins commute_less_10_mins commute_10_14_mins \\\n", - "0 309.0 475.0 362.0 \n", - "1 1043.0 1643.0 698.0 \n", - "2 1807.0 2364.0 1463.0 \n", - "\n", - " commute_15_19_mins commute_20_24_mins commute_25_29_mins \\\n", - "0 374.0 401.0 216.0 \n", - "1 695.0 822.0 397.0 \n", - "2 1102.0 722.0 341.0 \n", - "\n", - " commute_30_34_mins commute_35_39_mins commute_40_44_mins \\\n", - "0 660.0 143.0 140.0 \n", - "1 749.0 143.0 144.0 \n", - "2 524.0 18.0 144.0 \n", - "\n", - " commute_35_44_mins commute_45_59_mins commute_60_more_mins \\\n", - "0 283.0 670.0 647.0 \n", - "1 287.0 377.0 690.0 \n", - "2 162.0 400.0 578.0 \n", - "\n", - " commute_60_89_mins commute_90_more_mins commuters_16_over \\\n", - "0 530.0 117.0 4088.0 \n", - "1 433.0 257.0 6358.0 \n", - "2 348.0 230.0 7656.0 \n", - "\n", - " walked_to_work worked_at_home no_car no_cars one_car two_cars \\\n", - "0 44.0 107.0 47.0 179.0 1004.0 1405.0 \n", - "1 81.0 184.0 297.0 922.0 3037.0 2720.0 \n", - "2 178.0 126.0 248.0 542.0 2795.0 2854.0 \n", - "\n", - " three_cars four_more_cars aggregate_travel_time_to_work \\\n", - "0 957.0 462.0 133665.0 \n", - "1 783.0 513.0 161900.0 \n", - "2 1490.0 501.0 156480.0 \n", - "\n", - " commuters_by_public_transportation commuters_by_bus \\\n", - "0 13.0 13.0 \n", - "1 0.0 0.0 \n", - "2 19.0 19.0 \n", - "\n", - " commuters_by_car_truck_van commuters_by_carpool \\\n", - "0 3987.0 310.0 \n", - "1 6126.0 371.0 \n", - "2 7226.0 607.0 \n", - "\n", - " commuters_by_subway_or_elevated commuters_drove_alone group_quarters \\\n", - "0 0.0 3677.0 102.0 \n", - "1 0.0 5755.0 233.0 \n", - "2 0.0 6619.0 193.0 \n", - "\n", - " associates_degree bachelors_degree high_school_diploma \\\n", - "0 502.0 486.0 2782.0 \n", - "1 1084.0 1315.0 4881.0 \n", - "2 704.0 1333.0 5003.0 \n", - "\n", - " less_one_year_college masters_degree one_year_more_college \\\n", - "0 434.0 226.0 861.0 \n", - "1 800.0 611.0 1930.0 \n", - "2 786.0 462.0 2485.0 \n", - "\n", - " less_than_high_school_graduate high_school_including_ged \\\n", - "0 1354.0 3543.0 \n", - "1 2279.0 5375.0 \n", - "2 2409.0 5883.0 \n", - "\n", - " bachelors_degree_2 bachelors_degree_or_higher_25_64 \\\n", - "0 486.0 532.0 \n", - "1 1315.0 1665.0 \n", - "2 1333.0 1483.0 \n", - "\n", - " graduate_professional_degree some_college_and_associates_degree \\\n", - "0 293.0 1797.0 \n", - "1 774.0 3814.0 \n", - "2 566.0 3975.0 \n", - "\n", - " male_45_64_associates_degree male_45_64_bachelors_degree \\\n", - "0 114.0 102.0 \n", - "1 277.0 366.0 \n", - "2 135.0 219.0 \n", - "\n", - " male_45_64_graduate_degree male_45_64_less_than_9_grade \\\n", - "0 57.0 110.0 \n", - "1 126.0 86.0 \n", - "2 52.0 77.0 \n", - "\n", - " male_45_64_grade_9_12 male_45_64_high_school male_45_64_some_college \\\n", - "0 241.0 832.0 176.0 \n", - "1 351.0 993.0 296.0 \n", - "2 391.0 1158.0 655.0 \n", - "\n", - " male_45_to_64 employed_pop unemployed_pop pop_in_labor_force \\\n", - "0 1632.0 4241.0 191.0 4439.0 \n", - "1 2495.0 6645.0 975.0 7620.0 \n", - "2 2687.0 7905.0 870.0 8775.0 \n", - "\n", - " not_in_labor_force workers_16_and_over armed_forces \\\n", - "0 4120.0 4195.0 7.0 \n", - "1 8202.0 6542.0 0.0 \n", - "2 7647.0 7782.0 0.0 \n", - "\n", - " civilian_labor_force employed_agriculture_forestry_fishing_hunting_mining \\\n", - "0 4432.0 127.0 \n", - "1 7620.0 249.0 \n", - "2 8775.0 640.0 \n", - "\n", - " employed_arts_entertainment_recreation_accommodation_food \\\n", - "0 391.0 \n", - "1 371.0 \n", - "2 287.0 \n", - "\n", - " employed_construction employed_education_health_social \\\n", - "0 275.0 873.0 \n", - "1 266.0 1606.0 \n", - "2 722.0 2045.0 \n", - "\n", - " employed_finance_insurance_real_estate employed_information \\\n", - "0 139.0 79.0 \n", - "1 278.0 107.0 \n", - "2 176.0 47.0 \n", - "\n", - " employed_manufacturing employed_other_services_not_public_admin \\\n", - "0 1071.0 116.0 \n", - "1 1144.0 376.0 \n", - "2 1407.0 244.0 \n", - "\n", - " employed_public_administration employed_retail_trade \\\n", - "0 204.0 448.0 \n", - "1 295.0 916.0 \n", - "2 418.0 951.0 \n", - "\n", - " employed_science_management_admin_waste \\\n", - "0 226.0 \n", - "1 340.0 \n", - "2 329.0 \n", - "\n", - " employed_transportation_warehousing_utilities employed_wholesale_trade \\\n", - "0 264.0 28.0 \n", - "1 607.0 90.0 \n", - "2 539.0 100.0 \n", - "\n", - " occupation_management_arts \\\n", - "0 912.0 \n", - "1 1970.0 \n", - "2 2176.0 \n", - "\n", - " occupation_natural_resources_construction_maintenance \\\n", - "0 493.0 \n", - "1 760.0 \n", - "2 1086.0 \n", - "\n", - " occupation_production_transportation_material occupation_sales_office \\\n", - "0 1246.0 712.0 \n", - "1 1386.0 1361.0 \n", - "2 1820.0 1494.0 \n", - "\n", - " occupation_services management_business_sci_arts_employed \\\n", - "0 878.0 912.0 \n", - "1 1168.0 1970.0 \n", - "2 1329.0 2176.0 \n", - "\n", - " sales_office_employed in_grades_1_to_4 in_grades_5_to_8 \\\n", - "0 712.0 626.0 492.0 \n", - "1 1361.0 918.0 1229.0 \n", - "2 1494.0 1344.0 1124.0 \n", - "\n", - " in_grades_9_to_12 in_school in_undergrad_college \\\n", - "0 617.0 2321.0 306.0 \n", - "1 1185.0 4829.0 811.0 \n", - "2 1022.0 5037.0 801.0 \n", - "\n", - " speak_only_english_at_home speak_spanish_at_home \\\n", - "0 NaN NaN \n", - "1 NaN NaN \n", - "2 NaN NaN \n", - "\n", - " speak_spanish_at_home_low_english do_label do_area do_perimeter \\\n", - "0 NaN Crawford 7.998498e+08 150379.205 \n", - "1 NaN Marengo 2.550527e+09 252631.606 \n", - "2 NaN Ashley 2.432888e+09 212505.748 \n", - "\n", - " do_num_vertices geom \n", - "0 38 POLYGON((-86.679511 38.263086, -86.570136 38.2... \n", - "1 68 POLYGON((-87.967893 32.298249, -87.975667 32.3... \n", - "2 37 POLYGON((-91.561673 33.391561, -91.60694 33.39... " - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sql_query = \"SELECT * FROM $dataset$ WHERE ST_IntersectsBox(geom, -95.031738, 32.082575, -84.616699, 39.537940)\"\n", - "dataset_df = dataset.to_dataframe(sql_query=sql_query)\n", - "dataset_df.head(3)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                            \n", - "
                                                                                            \n", - "
                                                                                            \n", - " \n", - " \n", - "
                                                                                            \n", - "
                                                                                            \n", - " \n", - "\n", - "
                                                                                            \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                            \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                            \n", - " \n", - " \n", - "
                                                                                            \n", - "
                                                                                            \n", - "
                                                                                            \n", - "
                                                                                            \n", - " \n", - "
                                                                                            \n", - "
                                                                                            \n", - "
                                                                                            \n", - "\n", - " \n", - "\n", - "
                                                                                            \n", - "
                                                                                            \n", - " :\n", - "
                                                                                            \n", - " \n", - " \n", - "
                                                                                            \n", - "
                                                                                            \n", - "\n", - "
                                                                                            \n", - " StackTrace\n", - "
                                                                                              \n", - "
                                                                                              \n", - "
                                                                                              \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Layer(dataset_df, color_bins_style('children'), geom_col='geom')" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.7" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/examples/data_observatory/enrichment_subscription_workflow.ipynb b/examples/data_observatory/enrichment_subscription_workflow.ipynb deleted file mode 100644 index c0813bc3e..000000000 --- a/examples/data_observatory/enrichment_subscription_workflow.ipynb +++ /dev/null @@ -1,1791 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Enrichment Subscription Workflow\n", - "\n", - "This example illustrates how to subscribe and enrich with CARTO's Data Observatory.\n", - "\n", - "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('creds.json')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "dataset_name = 'carto-do.ags.demographics_retailpotential_usa_blockgroup_2015_yearly_2019'" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(,\n", - " )" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.data.observatory import Catalog, Dataset, Geography\n", - "\n", - "dataset = Dataset.get(dataset_name)\n", - "geography = Geography.get(dataset.geography)\n", - "\n", - "dataset, geography" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "b3302b3e3c5a4026a4048be90c49eef4", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HTML(value='\\n

                                                                                              Subscription already purchased

                                                                                              \\n The dataset carto-do.ags.demographic…" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "dataset.subscribe()" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "6fbfb4486cc44fd8bd706977af0be749", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "HTML(value='\\n

                                                                                              Subscription already purchased

                                                                                              \\n The geography carto-do-public-data.c…" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "geography.subscribe()" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Datasets: [, , , , ]\n", - "Geographies: [, ]" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Catalog().subscriptions()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[ #'Geographic Identifier',\n", - " #'Households (2019A)',\n", - " #'New Car Dealers (Total Exp)',\n", - " #'User Car Dealers (Total Exp)',\n", - " #'Recreational Vehicle Dealers (Total Exp)',\n", - " #'Motorcycle and Boat Dealers (Total Exp)',\n", - " #'Auto Parts and Accessories (Total Exp)',\n", - " #'Tire Dealers (Total Exp)',\n", - " #'Furniture Stores (Total Exp)',\n", - " #'Floor Covering Stores (Total Exp)',\n", - " #'Other Home Furnishing Stores (Total Exp)',\n", - " #'Appliances and Electronics Stores (Total Exp)',\n", - " #'Home Centers (Total Exp)',\n", - " #'Paint and Wallpaper Stores (Total Exp)',\n", - " #'Hardware Stores (Total Exp)',\n", - " #'Other Building Materials Stores (Total Exp)',\n", - " #'Outdoor Power Equipment Stores (Total Exp)',\n", - " #'Nursery and Garden Stores (Total Exp)',\n", - " #'Grocery Stores (Total Exp)',\n", - " #'Convenience Stores (Total Exp)',\n", - " #'Meat Markets (Total Exp)',\n", - " #'Fish and Seafood Markets (Total Exp)',\n", - " #'Fruit and Vegetable Markets (Total Exp)',\n", - " #'Other Specialty Food Markets (Total Exp)',\n", - " #'Liquor Stores (Total Exp)',\n", - " #'Pharmacy and Drug Stores (Total Exp)',\n", - " #'Costmetics and Beauty Stores (Total Exp)',\n", - " #'Optical Goods Stores (Total Exp)',\n", - " #'Other Health and Personal Care Stores (Total Exp)',\n", - " #'Gasoline Stations (Total Exp)',\n", - " #'Mens Clothing Stores (Total Exp)',\n", - " #'Womens Clothing Stores (Total Exp)',\n", - " #'Childrens and Infants Clothing Stores (Total Exp)',\n", - " #'Family Clothing Stores (Total Exp)',\n", - " #'Clothing Accessory Stores (Total Exp)',\n", - " #'Other Apparel Stores (Total Exp)',\n", - " #'Shoe Stores (Total Exp)',\n", - " #'Jewelry Stores (Total Exp)',\n", - " #'Luggage Stores (Total Exp)',\n", - " #'Sporting Goods Stores (Total Exp)',\n", - " #'Hobby, Toy, and Game Stores (Total Exp)',\n", - " #'Sewing and Needlecraft Stores (Total Exp)',\n", - " #'Musical Instrument Stores (Total Exp)',\n", - " #'Book Stores (Total Exp)',\n", - " #'Department Stores (Total Exp)',\n", - " #'Warehouse Superstores (Total Exp)',\n", - " #'Other General Merchandise Stores (Total Exp)',\n", - " #'Florists (Total Exp)',\n", - " #'Office and Stationary Stores (Total Exp)',\n", - " #'Gift and Souvenir Stores (Total Exp)',\n", - " #'Used Merchandise Stores (Total Exp)',\n", - " #'Pet and Pet Supply Stores (Total Exp)',\n", - " #'Art Dealers (Total Exp)',\n", - " #'Mobile Home Dealers (Total Exp)',\n", - " #'Other Miscellaneous Retail Stores (Total Exp)',\n", - " #'Mail Order and Catalog Stores (Total Exp)',\n", - " #'Vending Machines (Total Exp)',\n", - " #'Fuel Dealers (Total Exp)',\n", - " #'Other Direct Selling Establishments (Total Exp)',\n", - " #'Retail at Hotels and Other Travel Accomodations (T...',\n", - " #'Retail at RV Parks (Total Exp)',\n", - " #'Retail at Rooming and Boarding Houses (Total Exp)',\n", - " #'Full Service Restaurants (Total Exp)',\n", - " #'Limited Service Restaurants (Total Exp)',\n", - " #'Special Food Services and Catering (Total Exp)',\n", - " #'Drinking Places (Total Exp)',\n", - " #'Retail Gap: New Car Dealers (44111)',\n", - " #'Retail Gap: User Car Dealers (44112)',\n", - " #'Retail Gap: Recreational Vehicle Dealers (44121)',\n", - " #'Retail Gap: Motorcycle and Boat Dealers (44122)',\n", - " #'Retail Gap: Auto Parts and Accessories (44131)',\n", - " #'Retail Gap: Tire Dealers (44132)',\n", - " #'Retail Gap: Furniture Stores (44211)',\n", - " #'Retail Gap: Floor Covering Stores (44221)',\n", - " #'Retail Gap: Other Home Furnishing Stores (44229)',\n", - " #'Retail Gap: Appliances and Electronics Stores (443...',\n", - " #'Retail Gap: Home Centers (44411)',\n", - " #'Retail Gap: Paint and Wallpaper Stores (44412)',\n", - " #'Retail Gap: Hardware Stores (44413)',\n", - " #'Retail Gap: Other Building Materials Stores (44419...',\n", - " #'Retail Gap: Outdoor Power Equipment Stores (44421)',\n", - " #'Retail Gap: Nursery and Garden Stores (44422)',\n", - " #'Retail Gap: Grocery Stores (44511)',\n", - " #'Retail Gap: Convenience Stores (44512)',\n", - " #'Retail Gap: Meat Markets (44521)',\n", - " #'Retail Gap: Fish and Seafood Markets (44522)',\n", - " #'Retail Gap: Fruit and Vegetable Markets (44523)',\n", - " #'Retail Gap: Other Specialty Food Markets (44529)',\n", - " #'Retail Gap: Liquor Stores (44531)',\n", - " #'Retail Gap: Pharmacy and Drug Stores (44611)',\n", - " #'Retail Gap: Costmetics and Beauty Stores (44612)',\n", - " #'Retail Gap: Optical Goods Stores (44613)',\n", - " #'Retail Gap: Other Health and Personal Care Stores ...',\n", - " #'Retail Gap: Gasoline Stations (44719)',\n", - " #'Retail Gap: Men's Clothing Stores (44811)',\n", - " #'Retail Gap: Women's Clothing Stores (44812)',\n", - " #'Retail Gap: Childrens' and Infant's Clothing Store...',\n", - " #'Retail Gap: Family Clothing Stores (44814)',\n", - " #'Retail Gap: Clothing Accessory Stores (44815)',\n", - " #'Retail Gap: Other Apparel Stores (44819)',\n", - " #'Retail Gap: Shoe Stores (44821)',\n", - " #'Retail Gap: Jewelry Stores (44831)',\n", - " #'Retail Gap: Luggage Stores (44832)',\n", - " #'Retail Gap: Sporting Goods Stores (45111)',\n", - " #'Retail Gap: Hobby, Toy, and Game Stores (45112)',\n", - " #'Retail Gap: Sewing and Needlecraft Stores (45113)',\n", - " #'Retail Gap: Musical Instrument Stores (45114)',\n", - " #'Retail Gap: Book Stores (45121)',\n", - " #'Retail Gap: Department Stores (45211)',\n", - " #'Retail Gap: Warehouse Superstores (45291)',\n", - " #'Retail Gap: Other General Merchandise Stores (4529...',\n", - " #'Retail Gap: Florists (45311)',\n", - " #'Retail Gap: Office and Stationary Stores (45321)',\n", - " #'Retail Gap: Gift and Souvenir Stores (45322)',\n", - " #'Retail Gap: Used Merchandise Stores (45331)',\n", - " #'Retail Gap: Pet and Pet Supply Stores (45391)',\n", - " #'Retail Gap: Art Dealers (45392)',\n", - " #'Retail Gap: Mobile Home Dealers (45393)',\n", - " #'Retail Gap: Other Miscellaneous Retail Stores (453...',\n", - " #'Retail Gap: Mail Order and Catalog Stores (45411)',\n", - " #'Retail Gap: Vending Machines (45421)',\n", - " #'Retail Gap: Fuel Dealers (45431)',\n", - " #'Retail Gap: Other Direct Selling Establishments (4...',\n", - " #'Retail Gap: Retail at Hotels and Other Travel Acco...',\n", - " #'Retail Gap: Retail at RV Parks (7212)',\n", - " #'Retail Gap: Retail at Rooming and Boarding Houses ...',\n", - " #'Retail Gap: Full Service Restaurants (7221)',\n", - " #'Retail Gap: Limited Service Restaurants (7222)',\n", - " #'Retail Gap: Special Food Services and Catering (72...',\n", - " #'Retail Gap: Drinking Places (7224)']" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dataset.variables" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - " #'Home Centers (Total Exp)'" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.data.observatory import Variable\n", - "\n", - "variable = Variable.get('MLTCY44411_acc8382c')\n", - "variable" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                              \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                              OBJECTIDFULLTRACTIDTRACTIDgeometry
                                                                                              0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...
                                                                                              1251013103000103000POLYGON ((-77.08558 38.82992, -77.08625 38.828...
                                                                                              2351013102902102902POLYGON ((-77.09520 38.84499, -77.09442 38.844...
                                                                                              \n", - "
                                                                                              " - ], - "text/plain": [ - " OBJECTID FULLTRACTID TRACTID \\\n", - "0 1 51013102901 102901 \n", - "1 2 51013103000 103000 \n", - "2 3 51013102902 102902 \n", - "\n", - " geometry \n", - "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... \n", - "1 POLYGON ((-77.08558 38.82992, -77.08625 38.828... \n", - "2 POLYGON ((-77.09520 38.84499, -77.09442 38.844... " - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from geopandas import read_file\n", - "\n", - "census_track = 'http://libs.cartocdn.com/cartoframes/files/census_track.geojson'\n", - "census_track_gdf = read_file(census_track)\n", - "census_track_gdf.head(3)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.data.observatory import Enrichment\n", - "\n", - "enrichment = Enrichment()\n", - "\n", - "enriched_dataset_gdf = enrichment.enrich_polygons(\n", - " census_track_gdf,\n", - " variables=['MLTCY44411_acc8382c']\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                              \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                              OBJECTIDFULLTRACTIDTRACTIDgeometryMLTCY44411
                                                                                              0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...1.862995e+06
                                                                                              1251013103000103000POLYGON ((-77.08558 38.82992, -77.08625 38.828...2.099457e+06
                                                                                              2351013102902102902POLYGON ((-77.09520 38.84499, -77.09442 38.844...2.671894e+06
                                                                                              \n", - "
                                                                                              " - ], - "text/plain": [ - " OBJECTID FULLTRACTID TRACTID \\\n", - "0 1 51013102901 102901 \n", - "1 2 51013103000 103000 \n", - "2 3 51013102902 102902 \n", - "\n", - " geometry MLTCY44411 \n", - "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 1.862995e+06 \n", - "1 POLYGON ((-77.08558 38.82992, -77.08625 38.828... 2.099457e+06 \n", - "2 POLYGON ((-77.09520 38.84499, -77.09442 38.844... 2.671894e+06 " - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "enriched_dataset_gdf.head(3)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                              \n", - "
                                                                                              \n", - "
                                                                                              \n", - " \n", - " \n", - "
                                                                                              \n", - "
                                                                                              \n", - " \n", - "\n", - "
                                                                                              \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                              \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                              \n", - " \n", - " \n", - "
                                                                                              \n", - "
                                                                                              \n", - "
                                                                                              \n", - "
                                                                                              \n", - " \n", - "
                                                                                              \n", - "
                                                                                              \n", - "
                                                                                              \n", - "\n", - " \n", - "\n", - "
                                                                                              \n", - "
                                                                                              \n", - " :\n", - "
                                                                                              \n", - " \n", - " \n", - "
                                                                                              \n", - "
                                                                                              \n", - "\n", - "
                                                                                              \n", - " StackTrace\n", - "
                                                                                                \n", - "
                                                                                                \n", - "
                                                                                                \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer, color_continuous_style\n", - "\n", - "Layer(enriched_dataset_gdf, color_continuous_style('MLTCY44411'))" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.7" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/data_observatory/polygons_enrichment_dataset.ipynb b/examples/data_observatory/polygons_enrichment_dataset.ipynb deleted file mode 100644 index 5572ce4ea..000000000 --- a/examples/data_observatory/polygons_enrichment_dataset.ipynb +++ /dev/null @@ -1,2218 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Enrich Polygons from a Dataset\n", - "\n", - "This example illustrates how to enrich polygons that are in a dataset with variables from CARTO's Data Observatory.\n", - "\n", - "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('creds.json')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                OBJECTIDFULLTRACTIDTRACTIDgeometry
                                                                                                0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...
                                                                                                1251013103000103000POLYGON ((-77.08558 38.82992, -77.08625 38.828...
                                                                                                2351013102902102902POLYGON ((-77.09520 38.84499, -77.09442 38.844...
                                                                                                \n", - "
                                                                                                " - ], - "text/plain": [ - " OBJECTID FULLTRACTID TRACTID \\\n", - "0 1 51013102901 102901 \n", - "1 2 51013103000 103000 \n", - "2 3 51013102902 102902 \n", - "\n", - " geometry \n", - "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... \n", - "1 POLYGON ((-77.08558 38.82992, -77.08625 38.828... \n", - "2 POLYGON ((-77.09520 38.84499, -77.09442 38.844... " - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from geopandas import read_file\n", - "\n", - "census_track = 'http://libs.cartocdn.com/cartoframes/files/census_track.geojson'\n", - "census_track_gdf = read_file(census_track)\n", - "census_track_gdf.head(3)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ,\n", - " ]" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.data.observatory import Catalog\n", - "\n", - "Catalog().country('usa').category('demographics').geographies" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                slugnamedescriptioncategory_idcountry_iddata_source_idprovider_idgeography_namegeography_descriptiontemporal_aggregationtime_coverageupdate_frequencyis_public_datalangversioncategory_nameprovider_namegeography_idid
                                                                                                0acs_sociodemogr_cfeb0968Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of AmericaShoreline clipped TIGER/Line boundaries. More ...5yrs[2009-01-01, 2014-01-01)yearlyTrueeng20092013DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                1acs_sociodemogr_858c104eSociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of AmericaShoreline clipped TIGER/Line boundaries. More ...5yrs[2008-01-01, 2013-01-01)yearlyTrueeng20082012DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                2acs_sociodemogr_d4b2cf03Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of AmericaShoreline clipped TIGER/Line boundaries. More ...5yrs[2006-01-01, 2011-01-01)yearlyTrueeng20062010DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                3acs_sociodemogr_496a0675Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of AmericaShoreline clipped TIGER/Line boundaries. More ...5yrs[2013-01-01, 2018-01-01)yearlyTrueeng20132017DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                4acs_sociodemogr_30d1f53Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of AmericaShoreline clipped TIGER/Line boundaries. More ...5yrs[2012-01-01, 2017-01-01)yearlyTrueeng20122016DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                5acs_sociodemogr_dda43439Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of AmericaShoreline clipped TIGER/Line boundaries. More ...5yrs[2011-01-01, 2016-01-01)yearlyTrueeng20112015DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                6acs_sociodemogr_97c32d1fSociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of AmericaShoreline clipped TIGER/Line boundaries. More ...5yrs[2010-01-01, 2015-01-01)yearlyTrueeng20102014DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                7acs_sociodemogr_9ed5d625Sociodemographics - United States of America (...The American Community Survey (ACS) is an ongo...demographicsusasociodemographicsusa_acsCensus Tract - United States of AmericaShoreline clipped TIGER/Line boundaries. More ...5yrs[2007-01-01, 2012-01-01)yearlyTrueeng20072011DemographicsAmerican Community Surveycarto-do-public-data.carto.geography_usa_censu...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                \n", - "
                                                                                                " - ], - "text/plain": [ - " slug \\\n", - "0 acs_sociodemogr_cfeb0968 \n", - "1 acs_sociodemogr_858c104e \n", - "2 acs_sociodemogr_d4b2cf03 \n", - "3 acs_sociodemogr_496a0675 \n", - "4 acs_sociodemogr_30d1f53 \n", - "5 acs_sociodemogr_dda43439 \n", - "6 acs_sociodemogr_97c32d1f \n", - "7 acs_sociodemogr_9ed5d625 \n", - "\n", - " name \\\n", - "0 Sociodemographics - United States of America (... \n", - "1 Sociodemographics - United States of America (... \n", - "2 Sociodemographics - United States of America (... \n", - "3 Sociodemographics - United States of America (... \n", - "4 Sociodemographics - United States of America (... \n", - "5 Sociodemographics - United States of America (... \n", - "6 Sociodemographics - United States of America (... \n", - "7 Sociodemographics - United States of America (... \n", - "\n", - " description category_id country_id \\\n", - "0 The American Community Survey (ACS) is an ongo... demographics usa \n", - "1 The American Community Survey (ACS) is an ongo... demographics usa \n", - "2 The American Community Survey (ACS) is an ongo... demographics usa \n", - "3 The American Community Survey (ACS) is an ongo... demographics usa \n", - "4 The American Community Survey (ACS) is an ongo... demographics usa \n", - "5 The American Community Survey (ACS) is an ongo... demographics usa \n", - "6 The American Community Survey (ACS) is an ongo... demographics usa \n", - "7 The American Community Survey (ACS) is an ongo... demographics usa \n", - "\n", - " data_source_id provider_id geography_name \\\n", - "0 sociodemographics usa_acs Census Tract - United States of America \n", - "1 sociodemographics usa_acs Census Tract - United States of America \n", - "2 sociodemographics usa_acs Census Tract - United States of America \n", - "3 sociodemographics usa_acs Census Tract - United States of America \n", - "4 sociodemographics usa_acs Census Tract - United States of America \n", - "5 sociodemographics usa_acs Census Tract - United States of America \n", - "6 sociodemographics usa_acs Census Tract - United States of America \n", - "7 sociodemographics usa_acs Census Tract - United States of America \n", - "\n", - " geography_description temporal_aggregation \\\n", - "0 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", - "1 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", - "2 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", - "3 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", - "4 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", - "5 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", - "6 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", - "7 Shoreline clipped TIGER/Line boundaries. More ... 5yrs \n", - "\n", - " time_coverage update_frequency is_public_data lang version \\\n", - "0 [2009-01-01, 2014-01-01) yearly True eng 20092013 \n", - "1 [2008-01-01, 2013-01-01) yearly True eng 20082012 \n", - "2 [2006-01-01, 2011-01-01) yearly True eng 20062010 \n", - "3 [2013-01-01, 2018-01-01) yearly True eng 20132017 \n", - "4 [2012-01-01, 2017-01-01) yearly True eng 20122016 \n", - "5 [2011-01-01, 2016-01-01) yearly True eng 20112015 \n", - "6 [2010-01-01, 2015-01-01) yearly True eng 20102014 \n", - "7 [2007-01-01, 2012-01-01) yearly True eng 20072011 \n", - "\n", - " category_name provider_name \\\n", - "0 Demographics American Community Survey \n", - "1 Demographics American Community Survey \n", - "2 Demographics American Community Survey \n", - "3 Demographics American Community Survey \n", - "4 Demographics American Community Survey \n", - "5 Demographics American Community Survey \n", - "6 Demographics American Community Survey \n", - "7 Demographics American Community Survey \n", - "\n", - " geography_id \\\n", - "0 carto-do-public-data.carto.geography_usa_censu... \n", - "1 carto-do-public-data.carto.geography_usa_censu... \n", - "2 carto-do-public-data.carto.geography_usa_censu... \n", - "3 carto-do-public-data.carto.geography_usa_censu... \n", - "4 carto-do-public-data.carto.geography_usa_censu... \n", - "5 carto-do-public-data.carto.geography_usa_censu... \n", - "6 carto-do-public-data.carto.geography_usa_censu... \n", - "7 carto-do-public-data.carto.geography_usa_censu... \n", - "\n", - " id \n", - "0 carto-do-public-data.usa_acs.demographics_soci... \n", - "1 carto-do-public-data.usa_acs.demographics_soci... \n", - "2 carto-do-public-data.usa_acs.demographics_soci... \n", - "3 carto-do-public-data.usa_acs.demographics_soci... \n", - "4 carto-do-public-data.usa_acs.demographics_soci... \n", - "5 carto-do-public-data.usa_acs.demographics_soci... \n", - "6 carto-do-public-data.usa_acs.demographics_soci... \n", - "7 carto-do-public-data.usa_acs.demographics_soci... " - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "datasets = Catalog().country('usa').category('demographics').geography('cdb_censustract_af861cba').datasets\n", - "datasets.to_dataframe()" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                slugnamedescriptiondb_typeagg_methodcolumn_namevariable_group_iddataset_idid
                                                                                                79median_income_57be5af4Median IncomeMedian Household Income in the past 12 Months....FLOATAVGmedian_incomeNonecarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                165no_car_2207f034no_carWorkers age 16 and over with no vehicle. All p...FLOATSUMno_carcarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                166no_cars_3a983c4eno_carsCar-free households. The number of households ...FLOATSUMno_carscarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                167one_car_13b3a60bone_carOne car households. The number of households w...FLOATSUMone_carcarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                168two_cars_fec37223two_carsTwo car households. The number of households w...FLOATSUMtwo_carscarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                169three_cars_32e541e7three_carsThree car households. The number of households...FLOATSUMthree_carscarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                170four_more_cars_297e8a8afour_more_carsFour car households. The number of households ...FLOATSUMfour_more_carscarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                174commuters_by_ca_120481e3commuters_by_car_truck_vanCommuters by Car, Truck, or Van. The number of...FLOATSUMcommuters_by_car_truck_vancarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                175commuters_by_ca_59febe6fcommuters_by_carpoolCommuters by Carpool. The number of workers ag...FLOATSUMcommuters_by_carpoolcarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                177commuters_drove_acf77a1commuters_drove_aloneCommuters who drove alone. The number of worke...FLOATSUMcommuters_drove_alonecarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                197employed_educat_958fdcfeemployed_education_health_socialWorkers employed in firms in educational servi...FLOATSUMemployed_education_health_socialcarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                201employed_other__a5acf594employed_other_services_not_public_adminWorkers employed in firms in other services ex...FLOATSUMemployed_other_services_not_public_admincarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                205employed_transp_66aedbfdemployed_transportation_warehousing_utilitiesWorkers employed in firms in transportation, w...FLOATSUMemployed_transportation_warehousing_utilitiescarto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...carto-do-public-data.usa_acs.demographics_soci...
                                                                                                \n", - "
                                                                                                " - ], - "text/plain": [ - " slug name \\\n", - "79 median_income_57be5af4 Median Income \n", - "165 no_car_2207f034 no_car \n", - "166 no_cars_3a983c4e no_cars \n", - "167 one_car_13b3a60b one_car \n", - "168 two_cars_fec37223 two_cars \n", - "169 three_cars_32e541e7 three_cars \n", - "170 four_more_cars_297e8a8a four_more_cars \n", - "174 commuters_by_ca_120481e3 commuters_by_car_truck_van \n", - "175 commuters_by_ca_59febe6f commuters_by_carpool \n", - "177 commuters_drove_acf77a1 commuters_drove_alone \n", - "197 employed_educat_958fdcfe employed_education_health_social \n", - "201 employed_other__a5acf594 employed_other_services_not_public_admin \n", - "205 employed_transp_66aedbfd employed_transportation_warehousing_utilities \n", - "\n", - " description db_type agg_method \\\n", - "79 Median Household Income in the past 12 Months.... FLOAT AVG \n", - "165 Workers age 16 and over with no vehicle. All p... FLOAT SUM \n", - "166 Car-free households. The number of households ... FLOAT SUM \n", - "167 One car households. The number of households w... FLOAT SUM \n", - "168 Two car households. The number of households w... FLOAT SUM \n", - "169 Three car households. The number of households... FLOAT SUM \n", - "170 Four car households. The number of households ... FLOAT SUM \n", - "174 Commuters by Car, Truck, or Van. The number of... FLOAT SUM \n", - "175 Commuters by Carpool. The number of workers ag... FLOAT SUM \n", - "177 Commuters who drove alone. The number of worke... FLOAT SUM \n", - "197 Workers employed in firms in educational servi... FLOAT SUM \n", - "201 Workers employed in firms in other services ex... FLOAT SUM \n", - "205 Workers employed in firms in transportation, w... FLOAT SUM \n", - "\n", - " column_name \\\n", - "79 median_income \n", - "165 no_car \n", - "166 no_cars \n", - "167 one_car \n", - "168 two_cars \n", - "169 three_cars \n", - "170 four_more_cars \n", - "174 commuters_by_car_truck_van \n", - "175 commuters_by_carpool \n", - "177 commuters_drove_alone \n", - "197 employed_education_health_social \n", - "201 employed_other_services_not_public_admin \n", - "205 employed_transportation_warehousing_utilities \n", - "\n", - " variable_group_id \\\n", - "79 None \n", - "165 carto-do-public-data.usa_acs.demographics_soci... \n", - "166 carto-do-public-data.usa_acs.demographics_soci... \n", - "167 carto-do-public-data.usa_acs.demographics_soci... \n", - "168 carto-do-public-data.usa_acs.demographics_soci... \n", - "169 carto-do-public-data.usa_acs.demographics_soci... \n", - "170 carto-do-public-data.usa_acs.demographics_soci... \n", - "174 carto-do-public-data.usa_acs.demographics_soci... \n", - "175 carto-do-public-data.usa_acs.demographics_soci... \n", - "177 carto-do-public-data.usa_acs.demographics_soci... \n", - "197 carto-do-public-data.usa_acs.demographics_soci... \n", - "201 carto-do-public-data.usa_acs.demographics_soci... \n", - "205 carto-do-public-data.usa_acs.demographics_soci... \n", - "\n", - " dataset_id \\\n", - "79 carto-do-public-data.usa_acs.demographics_soci... \n", - "165 carto-do-public-data.usa_acs.demographics_soci... \n", - "166 carto-do-public-data.usa_acs.demographics_soci... \n", - "167 carto-do-public-data.usa_acs.demographics_soci... \n", - "168 carto-do-public-data.usa_acs.demographics_soci... \n", - "169 carto-do-public-data.usa_acs.demographics_soci... \n", - "170 carto-do-public-data.usa_acs.demographics_soci... \n", - "174 carto-do-public-data.usa_acs.demographics_soci... \n", - "175 carto-do-public-data.usa_acs.demographics_soci... \n", - "177 carto-do-public-data.usa_acs.demographics_soci... \n", - "197 carto-do-public-data.usa_acs.demographics_soci... \n", - "201 carto-do-public-data.usa_acs.demographics_soci... \n", - "205 carto-do-public-data.usa_acs.demographics_soci... \n", - "\n", - " id \n", - "79 carto-do-public-data.usa_acs.demographics_soci... \n", - "165 carto-do-public-data.usa_acs.demographics_soci... \n", - "166 carto-do-public-data.usa_acs.demographics_soci... \n", - "167 carto-do-public-data.usa_acs.demographics_soci... \n", - "168 carto-do-public-data.usa_acs.demographics_soci... \n", - "169 carto-do-public-data.usa_acs.demographics_soci... \n", - "170 carto-do-public-data.usa_acs.demographics_soci... \n", - "174 carto-do-public-data.usa_acs.demographics_soci... \n", - "175 carto-do-public-data.usa_acs.demographics_soci... \n", - "177 carto-do-public-data.usa_acs.demographics_soci... \n", - "197 carto-do-public-data.usa_acs.demographics_soci... \n", - "201 carto-do-public-data.usa_acs.demographics_soci... \n", - "205 carto-do-public-data.usa_acs.demographics_soci... " - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.data.observatory import Dataset\n", - "\n", - "dataset = Dataset.get('acs_sociodemogr_d4b2cf03')\n", - "variables_df = dataset.variables.to_dataframe()\n", - "variables_df[variables_df['description'].str.contains('car', case=False, na=False)]" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'slug': 'no_car_2207f034',\n", - " 'name': 'no_car',\n", - " 'description': 'Workers age 16 and over with no vehicle. All people in a geographic area over the age of 16 who do not own a car.',\n", - " 'db_type': 'FLOAT',\n", - " 'agg_method': 'SUM',\n", - " 'column_name': 'no_car',\n", - " 'variable_group_id': 'carto-do-public-data.usa_acs.demographics_sociodemographics_usa_censustract_2015_5yrs_20062010.car_ownership',\n", - " 'dataset_id': 'carto-do-public-data.usa_acs.demographics_sociodemographics_usa_censustract_2015_5yrs_20062010',\n", - " 'id': 'carto-do-public-data.usa_acs.demographics_sociodemographics_usa_censustract_2015_5yrs_20062010.no_car'}" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.data.observatory import Variable\n", - "\n", - "variable = Variable.get('no_car_2207f034')\n", - "variable.to_dict()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.data.observatory import Enrichment\n", - "\n", - "enrichment = Enrichment()\n", - "\n", - "enriched_dataset_gdf = enrichment.enrich_polygons(\n", - " census_track_gdf,\n", - " variables=[variable],\n", - " aggregation='SUM'\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                OBJECTIDFULLTRACTIDTRACTIDgeometryno_car
                                                                                                0151013102901102901POLYGON ((-77.09099 38.84516, -77.08957 38.844...0.657821
                                                                                                1251013103000103000POLYGON ((-77.08558 38.82992, -77.08625 38.828...87.516848
                                                                                                2351013102902102902POLYGON ((-77.09520 38.84499, -77.09442 38.844...123.512837
                                                                                                \n", - "
                                                                                                " - ], - "text/plain": [ - " OBJECTID FULLTRACTID TRACTID \\\n", - "0 1 51013102901 102901 \n", - "1 2 51013103000 103000 \n", - "2 3 51013102902 102902 \n", - "\n", - " geometry no_car \n", - "0 POLYGON ((-77.09099 38.84516, -77.08957 38.844... 0.657821 \n", - "1 POLYGON ((-77.08558 38.82992, -77.08625 38.828... 87.516848 \n", - "2 POLYGON ((-77.09520 38.84499, -77.09442 38.844... 123.512837 " - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "enriched_dataset_gdf.head(3)" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                \n", - "
                                                                                                \n", - "
                                                                                                \n", - " \n", - " \n", - "
                                                                                                \n", - "
                                                                                                \n", - " \n", - "\n", - "
                                                                                                \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                \n", - " \n", - " \n", - "
                                                                                                \n", - "
                                                                                                \n", - "
                                                                                                \n", - "
                                                                                                \n", - " \n", - "
                                                                                                \n", - "
                                                                                                \n", - "
                                                                                                \n", - "\n", - " \n", - "\n", - "
                                                                                                \n", - "
                                                                                                \n", - " :\n", - "
                                                                                                \n", - " \n", - " \n", - "
                                                                                                \n", - "
                                                                                                \n", - "\n", - "
                                                                                                \n", - " StackTrace\n", - "
                                                                                                  \n", - "
                                                                                                  \n", - "
                                                                                                  \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer, color_continuous_style\n", - "\n", - "Layer(enriched_dataset_gdf, color_continuous_style('no_car'))" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.7" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/data_services/geocoding_dataframe.ipynb b/examples/data_services/geocoding_dataframe.ipynb deleted file mode 100644 index f1593af8c..000000000 --- a/examples/data_services/geocoding_dataframe.ipynb +++ /dev/null @@ -1,1177 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Geocode a DataFrame\n", - "\n", - "This example illustrates how simply use the Geocoding Data Service\n", - "\n", - "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('creds.json')" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                  \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                  addresscity
                                                                                                  0Gran Vía 46Madrid
                                                                                                  1Ebro 1Sevilla
                                                                                                  \n", - "
                                                                                                  " - ], - "text/plain": [ - " address city\n", - "0 Gran Vía 46 Madrid\n", - "1 Ebro 1 Sevilla" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import pandas\n", - "\n", - "df = pandas.DataFrame([['Gran Vía 46', 'Madrid'], ['Ebro 1', 'Sevilla']], columns=['address','city'])\n", - "df" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Success! Data geocoded correctly\n" - ] - } - ], - "source": [ - "from cartoframes.data.services import Geocoding\n", - "\n", - "gc = Geocoding()\n", - "gdf, metadata = gc.geocode(df, street='address', city='city', country={'value': 'Spain'})" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                  \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                  the_geomaddresscitygc_status_relcarto_geocode_hash
                                                                                                  0POINT (-3.70588 40.42049)Gran Vía 46Madrid0.8495e4f39284efeab8e759aaa547d84567
                                                                                                  1POINT (-5.98312 37.35547)Ebro 1Sevilla0.7066940c4beeb395e1b628587ac772763a
                                                                                                  \n", - "
                                                                                                  " - ], - "text/plain": [ - " the_geom address city gc_status_rel \\\n", - "0 POINT (-3.70588 40.42049) Gran Vía 46 Madrid 0.84 \n", - "1 POINT (-5.98312 37.35547) Ebro 1 Sevilla 0.70 \n", - "\n", - " carto_geocode_hash \n", - "0 95e4f39284efeab8e759aaa547d84567 \n", - "1 66940c4beeb395e1b628587ac772763a " - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gdf" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'total_rows': 2,\n", - " 'required_quota': 2,\n", - " 'previously_geocoded': 0,\n", - " 'previously_failed': 0,\n", - " 'records_with_geometry': 0,\n", - " 'final_records_with_geometry': 2,\n", - " 'geocoded_increment': 2,\n", - " 'successfully_geocoded': 2,\n", - " 'failed_geocodings': 0}" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "metadata" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                  \n", - "
                                                                                                  \n", - "
                                                                                                  \n", - " \n", - " \n", - "
                                                                                                  \n", - "
                                                                                                  \n", - "
                                                                                                  \n", - "\n", - " \n", - "\n", - "
                                                                                                  \n", - "
                                                                                                  \n", - " :\n", - "
                                                                                                  \n", - " \n", - " \n", - "
                                                                                                  \n", - "
                                                                                                  \n", - "\n", - "
                                                                                                  \n", - " StackTrace\n", - "
                                                                                                    \n", - "
                                                                                                    \n", - "
                                                                                                    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer\n", - "\n", - "Layer(gdf)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/data_services/isodistances.ipynb b/examples/data_services/isodistances.ipynb deleted file mode 100644 index bf2c8f723..000000000 --- a/examples/data_services/isodistances.ipynb +++ /dev/null @@ -1,2107 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Calculate Isodistances\n", - "\n", - "This example illustrates how to calculate and visualize isodistances using Location Data Services.\n", - "\n", - "_Note: You'll need [CARTO Account](https://carto.com/signup) credentials to reproduce this example._" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('creds.json')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from geopandas import GeoDataFrame, points_from_xy\n", - "\n", - "gdf = GeoDataFrame([\n", - " ['Calle Serrano 15', -3.68831, 40.42478],\n", - " ['Calle de San Pedro 21', -3.69488, 40.41089],\n", - " ['Calle Gran Vía 46', -3.70588, 40.42049],\n", - " ['Paseo de la Castellana 200', -3.68898, 40.46239],\n", - " ['Calle Ntra. Sra. del Carmen 7', -3.70221, 40.45840],\n", - " ['Calle de San Germán 12', -3.69286, 40.45651],\n", - " ['Calle de Bravo Murillo 377', -3.69093, 40.46575],\n", - " ],\n", - " columns=['address', 'lng', 'lat']\n", - ")\n", - "gdf.set_geometry(points_from_xy(gdf['lng'], gdf['lat']), inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                    \n", - "
                                                                                                    \n", - "
                                                                                                    \n", - " \n", - " \n", - "
                                                                                                    \n", - "
                                                                                                    \n", - "
                                                                                                    \n", - "\n", - " \n", - "\n", - "
                                                                                                    \n", - "
                                                                                                    \n", - " :\n", - "
                                                                                                    \n", - " \n", - " \n", - "
                                                                                                    \n", - "
                                                                                                    \n", - "\n", - "
                                                                                                    \n", - " StackTrace\n", - "
                                                                                                      \n", - "
                                                                                                      \n", - "
                                                                                                      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer\n", - "\n", - "Layer(gdf)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Success! Isolines created correctly\n" - ] - } - ], - "source": [ - "from cartoframes.data.services import Isolines\n", - "\n", - "iso_service = Isolines()\n", - "isodistances_gdf, isodistances_metadata = iso_service.isodistances(gdf, [600, 1200, 2400], exclusive=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                      source_iddata_rangelower_data_rangethe_geomrange_label
                                                                                                      0624001200POLYGON ((-3.71329 40.45853, -3.71269 40.45853...40 min.
                                                                                                      1324001200POLYGON ((-3.70797 40.46659, -3.70771 40.46625...40 min.
                                                                                                      2024001200POLYGON ((-3.71003 40.42917, -3.70977 40.42952...40 min.
                                                                                                      3524001200POLYGON ((-3.71947 40.46059, -3.71750 40.46059...40 min.
                                                                                                      4124001200POLYGON ((-3.72085 40.41458, -3.71819 40.41458...40 min.
                                                                                                      \n", - "
                                                                                                      " - ], - "text/plain": [ - " source_id data_range lower_data_range \\\n", - "0 6 2400 1200 \n", - "1 3 2400 1200 \n", - "2 0 2400 1200 \n", - "3 5 2400 1200 \n", - "4 1 2400 1200 \n", - "\n", - " the_geom range_label \n", - "0 POLYGON ((-3.71329 40.45853, -3.71269 40.45853... 40 min. \n", - "1 POLYGON ((-3.70797 40.46659, -3.70771 40.46625... 40 min. \n", - "2 POLYGON ((-3.71003 40.42917, -3.70977 40.42952... 40 min. \n", - "3 POLYGON ((-3.71947 40.46059, -3.71750 40.46059... 40 min. \n", - "4 POLYGON ((-3.72085 40.41458, -3.71819 40.41458... 40 min. " - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "isodistances_gdf.head(5)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'required_quota': 21}" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "isodistances_metadata" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                      \n", - "
                                                                                                      \n", - "
                                                                                                      \n", - " \n", - " \n", - "
                                                                                                      \n", - "
                                                                                                      \n", - "
                                                                                                      \n", - "\n", - " \n", - "\n", - "
                                                                                                      \n", - "
                                                                                                      \n", - " :\n", - "
                                                                                                      \n", - " \n", - " \n", - "
                                                                                                      \n", - "
                                                                                                      \n", - "\n", - "
                                                                                                      \n", - " StackTrace\n", - "
                                                                                                        \n", - "
                                                                                                        \n", - "
                                                                                                        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Map, Layer, basic_style\n", - "\n", - "Map([\n", - " Layer(isodistances_gdf, basic_style(color='green', opacity='0.3', stroke_width=0)),\n", - " Layer(gdf)\n", - "])" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/files/README.md b/examples/files/README.md deleted file mode 100644 index 951b9c3a6..000000000 --- a/examples/files/README.md +++ /dev/null @@ -1,9 +0,0 @@ -## List of available files - -- http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn.csv -- http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn_geocoded.csv -- http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn_geocoded.geojson -- http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn_iso_enriched.csv -- http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn_isolines.geojson -- http://libs.cartocdn.com/cartoframes/files/census_track.geojson -- http://libs.cartocdn.com/cartoframes/files/sustainable_palm_oil_production_mills.geojson \ No newline at end of file diff --git a/examples/files/arbres_remarquables_paris.json b/examples/files/arbres_remarquables_paris.json deleted file mode 100644 index 99a09c138..000000000 --- a/examples/files/arbres_remarquables_paris.json +++ /dev/null @@ -1 +0,0 @@ -{"nhits": 182, "parameters": {"dataset": "arbresremarquablesparis", "timezone": "UTC", "rows": 200, "format": "json"}, "records": [{"datasetid": "arbresremarquablesparis", "recordid": "a236960f295288698ca57fdccfd9825547ffb4d0", "fields": {"geom_x_y": [48.8630096006, 2.2417737512], "libellefrancais": "Pin", "objectid": 49884, "idemplacement": "000901001", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 241.0, "hauteurenm": 30.0, "espece": "nigra subsp. laricio", "adresse": "RESERVOIR DE LA GRANDE CASCADE - CARREFOUR DE LONGCHAMP", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002349.0, "genre": "Pinus", "complementadresse": "16-08", "typeemplacement": "Arbre", "dateplantation": "1882-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.2417737512, 48.8630096006]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "d7635937c3636051c99963676d3a97dd4d9dd8c9", "fields": {"geom_x_y": [48.8731110898, 2.24886478886], "libellefrancais": "H\u00eatre", "objectid": 52761, "idemplacement": "000701004", "arrondissement": "BOIS DE BOULOGNE", "typeemplacement": "Arbre", "hauteurenm": 16.0, "espece": "sylvatica", "adresse": "PARC DE BAGATELLE - ALLEE DE LONGCHAMP / ROUTE DE SEVRES A NEUILLY", "circonferenceencm": 231.0, "stadedeveloppement": "M", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 2002354.0, "genre": "Fagus", "varieteoucultivar": "''Pendula''", "complementadresse": "16-17", "domanialite": "Jardin", "dateplantation": "1868-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.24886478886, 48.8731110898]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "460e8eccd3ebc816f16317702223bf406e7d75e6", "fields": {"geom_x_y": [48.8448875264, 2.35366916319], "libellefrancais": "H\u00eatre", "objectid": 62456, "idemplacement": "00000075", "arrondissement": "PARIS 5E ARRDT", "typeemplacement": "Arbre", "hauteurenm": 3.0, "espece": "sylvatica", "adresse": "SQUARE DES ARENES DE LUTECE", "circonferenceencm": 85.0, "stadedeveloppement": "M", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 132669.0, "genre": "Fagus", "varieteoucultivar": "''Tortuosa''", "domanialite": "Jardin", "dateplantation": "1905-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.35366916319, 48.8448875264]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "b60b80e0f8327afba6d0c513b0b6b85639e516b6", "fields": {"geom_x_y": [48.8787029872, 2.30647417371], "libellefrancais": "Erable", "objectid": 68801, "idemplacement": "00NO0144", "arrondissement": "PARIS 8E ARRDT", "circonferenceencm": 450.0, "hauteurenm": 28.0, "espece": "pseudoplatanus", "adresse": "PARC MONCEAU", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 305507.0, "genre": "Acer", "complementadresse": "08-01", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.30647417371, 48.8787029872]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "47e163d6f0536bc9e26ba2993447c6f50b14a6f6", "fields": {"geom_x_y": [48.8671184424, 2.25294211329], "libellefrancais": "Platane", "objectid": 82341, "idemplacement": "001201001", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 534.0, "hauteurenm": 45.0, "espece": "x hispanica", "adresse": "ROUTE DU LAC A BAGATELLE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002389.0, "genre": "Platanus", "complementadresse": "16-10", "typeemplacement": "Arbre", "dateplantation": "1872-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25294211329, 48.8671184424]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "89771215c6ae72720e5b0943c6ebb84f3c62f3f4", "fields": {"geom_x_y": [48.8330206707, 2.34991527056], "libellefrancais": "Ch\u00eane", "objectid": 100153, "idemplacement": "00010268", "arrondissement": "PARIS 13E ARRDT", "circonferenceencm": 130.0, "hauteurenm": 10.0, "espece": "cerris", "adresse": "SQUARE RENE LE GALL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 104839.0, "genre": "Quercus", "complementadresse": "13-04", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.34991527056, 48.8330206707]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "82532fe483eb98c8e8093f05df693502817886ae", "fields": {"geom_x_y": [48.8213206283, 2.45536669589], "libellefrancais": "Pin", "objectid": 204461, "idemplacement": "12-19", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 78.0, "hauteurenm": 16.0, "espece": "bungeana", "adresse": "ARBORETUM DE L ECOLE DU BREUIL - ROUTE DE LA FERME / ROUTE DE LA PYRAMIDE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 2002380.0, "genre": "Pinus", "complementadresse": "12-19", "typeemplacement": "Arbre", "dateplantation": "2000-01-01T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.45536669589, 48.8213206283]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "84291cfef6bb4db5161d57d4e7d1358cf2225f9d", "fields": {"geom_x_y": [48.8578670722, 2.34811930339], "libellefrancais": "M\u00fbrier", "objectid": 126460, "idemplacement": "000103001", "arrondissement": "PARIS 4E ARRDT", "circonferenceencm": 96.0, "hauteurenm": 6.0, "espece": "alba", "adresse": "SQUARE DE LA TOUR SAINT JACQUES / 1 BIS RUE SAINT MARTIN", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 123848.0, "genre": "Morus", "typeemplacement": "Arbre", "dateplantation": "2009-01-01T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.34811930339, 48.8578670722]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "833b3e1156920b826204251e36887853327b323e", "fields": {"geom_x_y": [48.8183891866, 2.43791851368], "libellefrancais": "Ch\u00eane", "objectid": 135653, "idemplacement": "12-15", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 245.0, "hauteurenm": 20.0, "espece": "ilex", "adresse": "PENTE DE GRAVELLE - AVENUE DE GRAVELLE / ROUTE NOUVELLE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002385.0, "genre": "Quercus", "complementadresse": "12-15", "typeemplacement": "Arbre", "dateplantation": "1860-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.43791851368, 48.8183891866]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "5c21b70dbb954a4469a180d6849caf3b2ff3b5f3", "fields": {"geom_x_y": [48.8682621216, 2.29353225481], "libellefrancais": "Platane", "objectid": 207257, "idemplacement": "00000012", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 108.0, "hauteurenm": 13.0, "espece": "x hispanica", "adresse": "SQUARE THOMAS JEFFERSSON", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 126662.0, "genre": "Platanus", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.29353225481, 48.8682621216]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "670a80cedb85a6bc6e120c9f9fc08d7114806599", "fields": {"geom_x_y": [48.8844740542, 2.34306606827], "libellefrancais": "Marronnier", "objectid": 1392, "idemplacement": "00000002", "arrondissement": "PARIS 18E ARRDT", "circonferenceencm": 365.0, "hauteurenm": 21.0, "espece": "hippocastanum", "adresse": "SQUARE LOUISE MICHEL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 112503.0, "genre": "Aesculus", "complementadresse": "18-14", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.34306606827, 48.8844740542]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "2ea4b0e4bff88807239bfb2235676bfa3bc97f68", "fields": {"geom_x_y": [48.8715363448, 2.27816921701], "libellefrancais": "Platane", "objectid": 21310, "idemplacement": "000307023 / 16-27", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 443.0, "hauteurenm": 27.0, "espece": "x hispanica", "adresse": "JARDIN DE L AVENUE FOCH / 10 AVENUE FOCH", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 111331.0, "genre": "Platanus", "complementadresse": "PELOUSE 20 - 75 \u00e0 77", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.27816921701, 48.8715363448]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "6519ba1cff2bf186bbe408ec597b8b25ba8a06a5", "fields": {"geom_x_y": [48.8396441672, 2.30097558498], "libellefrancais": "Ch\u00eane", "objectid": 40024, "idemplacement": "000106001", "arrondissement": "PARIS 15E ARRDT", "circonferenceencm": 173.0, "hauteurenm": 15.0, "espece": "frainetto", "adresse": "SQUARE DE LA PLACE ADOLPHE CHERIOUX / 260 RUE DE VAUGIRARD", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 113597.0, "genre": "Quercus", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.30097558498, 48.8396441672]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "8acaf30a375076790bf0a3f2fbfc4736e3050065", "fields": {"geom_x_y": [48.8661272117, 2.26254793084], "libellefrancais": "Platane", "objectid": 108802, "idemplacement": "000401001", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 380.0, "hauteurenm": 26.0, "espece": "orientalis", "adresse": "ILE DU LAC INFERIEUR", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002398.0, "genre": "Platanus", "complementadresse": "16-04", "typeemplacement": "Arbre", "dateplantation": "1859-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.26254793084, 48.8661272117]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "d4fa962abbec5419f705360de3faba5cae41b355", "fields": {"geom_x_y": [48.8658336196, 2.40008292539], "libellefrancais": "Noisetier de Byzance", "objectid": 151726, "idemplacement": "000201005", "arrondissement": "PARIS 20E ARRDT", "circonferenceencm": 160.0, "hauteurenm": 16.0, "espece": "colurna", "adresse": "SQUARE EDOUARD VAILLANT / 50 AVENUE GAMBETTA", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 121940.0, "genre": "Corylus", "complementadresse": "20-06", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.40008292539, 48.8658336196]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "051ba400df19ae1a67b7a6ca4c7dc764ab9e26b2", "fields": {"geom_x_y": [48.8587642227, 2.29551496343], "libellefrancais": "H\u00eatre", "objectid": 170604, "idemplacement": "P00208022", "arrondissement": "PARIS 7E ARRDT", "typeemplacement": "Arbre", "hauteurenm": 7.0, "espece": "sylvatica", "adresse": "JARDIN DU CHAMP DE MARS / C03", "circonferenceencm": 194.0, "stadedeveloppement": "A", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 108183.0, "genre": "Fagus", "varieteoucultivar": "''Pendula''", "complementadresse": "07-11", "domanialite": "Jardin", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.29551496343, 48.8587642227]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "bbd27b3307caefda35fb9756a3dffa7216bfb077", "fields": {"geom_x_y": [48.8846213312, 2.34392438346], "libellefrancais": "Platane", "objectid": 207695, "idemplacement": "00000201", "arrondissement": "PARIS 18E ARRDT", "circonferenceencm": 520.0, "hauteurenm": 28.0, "espece": "orientalis", "adresse": "SQUARE LOUISE MICHEL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 120588.0, "genre": "Platanus", "complementadresse": "18-01", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.34392438346, 48.8846213312]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "a056fe08a1fe0deb8e3cddaad7ca9ea278d88764", "fields": {"geom_x_y": [48.8856757452, 2.34472507365], "libellefrancais": "Oranger des Osages", "objectid": 60634, "idemplacement": "00000141", "arrondissement": "PARIS 18E ARRDT", "circonferenceencm": 209.0, "hauteurenm": 18.0, "espece": "pomifera", "adresse": "SQUARE LOUISE MICHEL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 120530.0, "genre": "Maclura", "complementadresse": "18-11", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.34472507365, 48.8856757452]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "243b24b14f86511a98cb4efdb9e189de99153a25", "fields": {"geom_x_y": [48.8334358135, 2.41279793669], "libellefrancais": "Noyer", "objectid": 84568, "idemplacement": "12-04", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 585.0, "hauteurenm": 26.0, "espece": "nigra", "adresse": "ROUTE DE LA CEINTURE DU LAC DAUMESNIL - LAC DAUMESNIL / PORTE DOREE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 2002367.0, "genre": "Juglans", "complementadresse": "12-04", "typeemplacement": "Arbre", "dateplantation": "1845-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.41279793669, 48.8334358135]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "58a89e1e137684e4cada320936bb223d76a35874", "fields": {"geom_x_y": [48.8313828964, 2.4114313613], "libellefrancais": "Plaqueminier", "objectid": 89900, "idemplacement": "12-12", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 163.0, "hauteurenm": 15.0, "espece": "virginiana", "adresse": "ILE DE BERCY / LAC DAUMESNIL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 2002360.0, "genre": "Diospyros", "complementadresse": "12-12", "typeemplacement": "Arbre", "dateplantation": "1935-01-01T00:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.4114313613, 48.8313828964]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "a62b5751626f46466185040c0ab99502a33b9509", "fields": {"geom_x_y": [48.861255856, 2.3950502607], "libellefrancais": "Platane", "objectid": 91586, "idemplacement": "D00000045009", "arrondissement": "PARIS 20E ARRDT", "circonferenceencm": 362.0, "hauteurenm": 26.0, "espece": "x hispanica", "adresse": "CIMETIERE DU PERE LACHAISE / DIV 45", "domanialite": "CIMETIERE", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 162943.0, "genre": "Platanus", "complementadresse": "20-14", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.3950502607, 48.861255856]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "36f91b18ad58b50c39517a11dd7a0d7f65e28122", "fields": {"geom_x_y": [48.8218388917, 2.33578615166], "libellefrancais": "Ch\u00eane", "objectid": 92005, "idemplacement": "0311B1011", "arrondissement": "PARIS 14E ARRDT", "circonferenceencm": 250.0, "hauteurenm": 15.0, "espece": "ilex", "adresse": "PARC MONTSOURIS / 28 BOULEVARD JOURDAN", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 110934.0, "genre": "Quercus", "complementadresse": "Volcan / Puits", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.33578615166, 48.8218388917]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "ab66f537a839669510b4e8eb5d6533aebcb8b8ca", "fields": {"geom_x_y": [48.8685718097, 2.31332439059], "libellefrancais": "Liboc\u00e8dre", "objectid": 150984, "idemplacement": "00020023", "arrondissement": "PARIS 8E ARRDT", "circonferenceencm": 203.0, "hauteurenm": 22.0, "espece": "decurrens", "adresse": "JARDINS DES CHAMPS ELYSEES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 307478.0, "genre": "Calocedrus", "complementadresse": "08-04", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.31332439059, 48.8685718097]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "75484010c49a263054b6b0621097a2f71d17b23a", "fields": {"geom_x_y": [48.8323392302, 2.41144640633], "libellefrancais": "Platane", "objectid": 143677, "idemplacement": "12-11", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 397.0, "hauteurenm": 40.0, "espece": "x hispanica", "adresse": "ILE DE BERCY / LAC DAUMESNIL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002364.0, "genre": "Platanus", "complementadresse": "12-11", "typeemplacement": "Arbre", "dateplantation": "1860-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.41144640633, 48.8323392302]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "f4200558562cddf859875009240faf52c9da42a1", "fields": {"geom_x_y": [48.8543846725, 2.29863693912], "libellefrancais": "C\u00e8dre", "objectid": 163407, "idemplacement": "P0070796", "arrondissement": "PARIS 7E ARRDT", "typeemplacement": "Arbre", "hauteurenm": 20.0, "espece": "libani", "adresse": "JARDIN DU CHAMP DE MARS", "circonferenceencm": 295.0, "stadedeveloppement": "M", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 106913.0, "genre": "Cedrus", "varieteoucultivar": "''Glauca''", "complementadresse": "07-04", "domanialite": "Jardin", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.29863693912, 48.8543846725]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "790334c32872f50f9e81a97b14f4f9c0fb165b39", "fields": {"geom_x_y": [48.8631730613, 2.26173856394], "libellefrancais": "Pterocarya", "objectid": 165138, "idemplacement": "000101004", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 407.0, "hauteurenm": 27.0, "espece": "fraxinifolia", "adresse": "BERGE DU LAC INFERIEUR - CHEMIN DE CEINTURE DU LAC INFERIEUR", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002392.0, "genre": "Pterocarya", "complementadresse": "16-02", "typeemplacement": "Arbre", "dateplantation": "1882-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.26173856394, 48.8631730613]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "56122f916ba4ab42530546c875899fed7d6aa35a", "fields": {"geom_x_y": [48.8577724998, 2.29724575606], "libellefrancais": "Arbre \u00e0 Gutta-Percha", "objectid": 208810, "idemplacement": "P0061402", "arrondissement": "PARIS 7E ARRDT", "circonferenceencm": 189.0, "hauteurenm": 15.0, "espece": "ulmoides", "adresse": "JARDIN DU CHAMP DE MARS", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 107696.0, "genre": "Eucommia", "complementadresse": "07-02", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.29724575606, 48.8577724998]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "2a4c752f607c91e6254034f40a25d78fb4784e58", "fields": {"geom_x_y": [48.8569376084, 2.3366340031], "libellefrancais": "Catalpa", "objectid": 2085, "idemplacement": "00000006", "arrondissement": "PARIS 6E ARRDT", "circonferenceencm": 275.0, "hauteurenm": 15.0, "espece": "bignonioides", "adresse": "SQUARE GABRIEL PIERNE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 117989.0, "genre": "Catalpa", "complementadresse": "06-01", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.3366340031, 48.8569376084]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "ff6f18d483ea29f9b84c032ad1c45d74e119f159", "fields": {"geom_x_y": [48.8341740278, 2.4613206192], "libellefrancais": "Ch\u00eane", "objectid": 29063, "idemplacement": "12-25", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 422.0, "hauteurenm": 30.0, "espece": "robur", "adresse": "LAC DES MINIMES - ROUTE RONDE DES MINIMES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002376.0, "genre": "Quercus", "complementadresse": "12-25", "typeemplacement": "Arbre", "dateplantation": "1784-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.4613206192, 48.8341740278]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "5b7d782e459fdbe58b2e99f9c521213672bb0905", "fields": {"geom_x_y": [48.8639651868, 2.25134968355], "libellefrancais": "Pin", "objectid": 38181, "idemplacement": "000501001", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 330.0, "hauteurenm": 27.0, "espece": "nigra", "adresse": "JARDIN DU PRE CATELAN - CARREFOUR DE LA GRANDE CASCADE / CARREFOUR DE LA CROIX CATELAN", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 2002395.0, "genre": "Pinus", "complementadresse": "16-16", "typeemplacement": "Arbre", "dateplantation": "2000-01-01T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25134968355, 48.8639651868]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "8f4b005c3e65d451d59ec744ab553136debe257f", "fields": {"geom_x_y": [48.8692243438, 2.24601704099], "libellefrancais": "Platane", "objectid": 77524, "idemplacement": "000701005", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 500.0, "hauteurenm": 40.0, "espece": "x hispanica", "adresse": "PARC DE BAGATELLE - ALLEE DE LONGCHAMP / ROUTE DE SEVRES A NEUILLY", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002346.0, "genre": "Platanus", "complementadresse": "16-19", "typeemplacement": "Arbre", "dateplantation": "1847-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.24601704099, 48.8692243438]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "98314cb04c2489a97bb5eb529a08ecc27f11736f", "fields": {"geom_x_y": [48.8586730749, 2.25833935548], "libellefrancais": "Magnolia", "objectid": 197308, "idemplacement": "000101001", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 200.0, "hauteurenm": 14.0, "espece": "grandiflora", "adresse": "BERGE DU LAC INFERIEUR - CHEMIN DE CEINTURE DU LAC INFERIEUR", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002390.0, "genre": "Magnolia", "complementadresse": "16-05", "typeemplacement": "Arbre", "dateplantation": "1863-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25833935548, 48.8586730749]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "11af67eaf48dc04e3463da39f0eadaf742e312b8", "fields": {"geom_x_y": [48.852346005, 2.35182356011], "libellefrancais": "Tamaris", "objectid": 202330, "idemplacement": "00000059", "arrondissement": "PARIS 4E ARRDT", "circonferenceencm": 230.0, "hauteurenm": 3.0, "espece": "n. sp.", "adresse": "SQUARE JEAN XXIII / 2 QUAI DE L ARCHEVECHE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 125051.0, "genre": "Tamarix", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.35182356011, 48.852346005]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "5a6586db3cab5c678a0a4989d4c96971ca96ce20", "fields": {"geom_x_y": [48.8319894005, 2.41199243435], "libellefrancais": "Tulipier", "objectid": 229810, "idemplacement": "12-09", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 214.0, "hauteurenm": 21.0, "espece": "tulipifera", "adresse": "ILE DE BERCY / LAC DAUMESNIL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 2002361.0, "genre": "Liriodendron", "complementadresse": "12-09", "typeemplacement": "Arbre", "dateplantation": "1930-01-01T00:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.41199243435, 48.8319894005]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "1f127c1885c4abe8cb8bee19f122bd3c6d57f743", "fields": {"geom_x_y": [48.8521900449, 2.34729161483], "libellefrancais": "Robinier", "objectid": 53760, "idemplacement": "00000058", "arrondissement": "PARIS 5E ARRDT", "circonferenceencm": 365.0, "hauteurenm": 9.0, "espece": "pseudoacacia", "adresse": "SQUARE RENE VIVIANI", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 124358.0, "genre": "Robinia", "typeemplacement": "Arbre", "dateplantation": "1602-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.34729161483, 48.8521900449]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "6a867b3f64e2b456841cd22a985db62b1d075211", "fields": {"geom_x_y": [48.882331696, 2.31024539129], "libellefrancais": "Marronnier", "objectid": 75004, "idemplacement": "00000013", "arrondissement": "PARIS 17E ARRDT", "circonferenceencm": 383.0, "hauteurenm": 25.0, "espece": "hippocastanum", "adresse": "PELOUSES DE LA PLACE DU GENERAL CATROUX", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 128154.0, "genre": "Aesculus", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.31024539129, 48.882331696]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "152b48d26477e11c48bc08893a6ba984f4eb5eaf", "fields": {"geom_x_y": [48.8669731103, 2.31951515223], "libellefrancais": "Sequoia", "objectid": 85647, "idemplacement": "00040057", "arrondissement": "PARIS 8E ARRDT", "circonferenceencm": 335.0, "hauteurenm": 19.0, "espece": "giganteum", "adresse": "JARDINS DES CHAMPS ELYSEES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 302514.0, "genre": "Sequoiadendron", "complementadresse": "08-05", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.31951515223, 48.8669731103]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "26d1d9a708b98376a027ceddd95f712916f64edc", "fields": {"geom_x_y": [48.8727963278, 2.2875405986], "libellefrancais": "Noisetier de Byzance", "objectid": 87800, "idemplacement": "000105001 / 16-25", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 200.0, "hauteurenm": 12.0, "espece": "colurna", "adresse": "JARDIN DE L AVENUE FOCH / 10 AVENUE FOCH", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 114779.0, "genre": "Corylus", "complementadresse": "PELOUSE 15 - 27 \u00e0 29", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.2875405986, 48.8727963278]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "3a0392254403e898f3afb669d414bfb15279fb3e", "fields": {"geom_x_y": [48.863392803, 2.39684653818], "libellefrancais": "Arbre aux quarante \u00e9cus", "objectid": 91582, "idemplacement": "D00000084016", "arrondissement": "PARIS 20E ARRDT", "circonferenceencm": 165.0, "hauteurenm": 20.0, "espece": "biloba", "adresse": "CIMETIERE DU PERE LACHAISE / DIV 84", "domanialite": "CIMETIERE", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 158457.0, "genre": "Ginkgo", "complementadresse": "20-12", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.39684653818, 48.863392803]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "372c38002a0bb6c16f4f988dcc611b6b268832f6", "fields": {"geom_x_y": [48.8672465961, 2.31748146673], "libellefrancais": "Lilas de Perse", "objectid": 105164, "idemplacement": "00040012", "arrondissement": "PARIS 8E ARRDT", "circonferenceencm": 168.0, "hauteurenm": 14.0, "espece": "azedarach", "adresse": "JARDINS DES CHAMPS ELYSEES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 307558.0, "genre": "Melia", "complementadresse": "08-08", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.31748146673, 48.8672465961]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "ee9cc78c7b94ebac883df4af336ac9ac55643d5f", "fields": {"geom_x_y": [48.864817945, 2.252676244], "libellefrancais": "Sequoia", "objectid": 117789, "idemplacement": "000501003", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 634.0, "hauteurenm": 32.0, "espece": "giganteum", "adresse": "JARDIN DU PRE CATELAN - CARREFOUR DE LA GRANDE CASCADE / CARREFOUR DE LA CROIX CATELAN", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 2002394.0, "genre": "Sequoiadendron", "complementadresse": "16-14", "typeemplacement": "Arbre", "dateplantation": "1872-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.252676244, 48.864817945]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "07e277d88ab9b8f4b81267329e811a599e1d1aea", "fields": {"geom_x_y": [48.876921106, 2.34671864206], "libellefrancais": "Platane", "objectid": 163533, "idemplacement": "000108001", "arrondissement": "PARIS 9E ARRDT", "circonferenceencm": 465.0, "hauteurenm": 25.0, "espece": "x hispanica", "adresse": "SQUARE MONTHOLON / 79 BIS RUE LA FAYETTE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 317250.0, "genre": "Platanus", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.34671864206, 48.876921106]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "49e2aa8c12901a8d6ee0d1a81c134bdf427079e9", "fields": {"geom_x_y": [48.8229510204, 2.33747224929], "libellefrancais": "Arbre aux quarante \u00e9cus", "objectid": 179780, "idemplacement": "031401018", "arrondissement": "PARIS 14E ARRDT", "circonferenceencm": 335.0, "hauteurenm": 25.0, "espece": "biloba", "adresse": "PARC MONTSOURIS / 28 BOULEVARD JOURDAN", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 106981.0, "genre": "Ginkgo", "complementadresse": "Flatters", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.33747224929, 48.8229510204]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "3160f018afcfbb6e8c5e07efeabc82dd45479329", "fields": {"geom_x_y": [48.8856292413, 2.34379244341], "libellefrancais": "Grenadier", "objectid": 45410, "idemplacement": "00001160", "arrondissement": "PARIS 18E ARRDT", "circonferenceencm": 30.0, "hauteurenm": 3.0, "espece": "granatum", "adresse": "SQUARE LOUISE MICHEL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 125087.0, "genre": "Punica", "typeemplacement": "Arbre", "dateplantation": "1952-01-01T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.34379244341, 48.8856292413]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "caf1f1808714e544242aee89bafafc14ac3f5d63", "fields": {"geom_x_y": [48.8736809161, 2.29025241063], "libellefrancais": "Ch\u00eane", "objectid": 159326, "idemplacement": "000206003 / 16-32", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 204.0, "hauteurenm": 10.0, "espece": "ilex", "adresse": "JARDIN DE L AVENUE FOCH / 10 AVENUE FOCH", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 114867.0, "genre": "Quercus", "complementadresse": "PELOUSE 10 - 20 \u00e0 26", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.29025241063, 48.8736809161]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "56a1e72d0c0504ff1444374acf1a126bd300b5e0", "fields": {"geom_x_y": [48.8557603076, 2.35399346953], "libellefrancais": "Orme", "objectid": 193510, "idemplacement": "000301001", "arrondissement": "PARIS 4E ARRDT", "circonferenceencm": 190.0, "hauteurenm": 16.0, "espece": "minor", "adresse": "PLACE SAINT GERVAIS", "domanialite": "Alignement", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 267663.0, "genre": "Ulmus", "complementadresse": "04-01", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.35399346953, 48.8557603076]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "efd01982a012827b61bf11b1a85f53fb69fda055", "fields": {"geom_x_y": [48.836425027, 2.29018563176], "libellefrancais": "H\u00eatre", "objectid": 67793, "idemplacement": "00000001", "arrondissement": "PARIS 15E ARRDT", "typeemplacement": "Arbre", "hauteurenm": 4.0, "espece": "sylvatica", "adresse": "SQUARE DU CLOS FEUQUIERES", "circonferenceencm": 138.0, "stadedeveloppement": "A", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 128372.0, "genre": "Fagus", "varieteoucultivar": "''Pendula''", "domanialite": "Jardin", "dateplantation": "1973-01-01T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.29018563176, 48.836425027]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "11059286b30302301df9d80fe3f3055fec94834f", "fields": {"geom_x_y": [48.855639773, 2.29642967787], "libellefrancais": "Lilas de Perse", "objectid": 98381, "idemplacement": "P0040881", "arrondissement": "PARIS 7E ARRDT", "circonferenceencm": 125.0, "hauteurenm": 10.0, "espece": "azedarach", "adresse": "JARDIN DU CHAMP DE MARS", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 107079.0, "genre": "Melia", "complementadresse": "07-03", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.29642967787, 48.855639773]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "45ee4ee052f5de42b178690e26cf55e0d1e1bea7", "fields": {"geom_x_y": [48.8626183113, 2.28980424689], "libellefrancais": "Platane", "objectid": 141429, "idemplacement": "00000422", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 479.0, "hauteurenm": 28.0, "espece": "x hispanica", "adresse": "JARDIN DU TROCADERO", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 108281.0, "genre": "Platanus", "complementadresse": "16-56", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.28980424689, 48.8626183113]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "f8f267f144096a02e238b56c7f99a285641ebd4e", "fields": {"geom_x_y": [48.8678069026, 2.38883414897], "libellefrancais": "Amandier", "objectid": 130849, "idemplacement": "0000001", "arrondissement": "PARIS 20E ARRDT", "circonferenceencm": 240.0, "hauteurenm": 9.0, "espece": "dulcis", "adresse": "CENTRE D''ANIMATION LES AMANDIERS / 110 RUE DES AMANDIERS", "domanialite": "DAC", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2013640.0, "genre": "Prunus", "typeemplacement": "Arbre", "dateplantation": "2000-01-01T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.38883414897, 48.8678069026]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "c6148d05170c06d1b0eee14a7bf2462362d48b65", "fields": {"geom_x_y": [48.8492902734, 2.35621122947], "libellefrancais": "Platane", "objectid": 172089, "idemplacement": "000301059", "arrondissement": "PARIS 5E ARRDT", "circonferenceencm": 375.0, "hauteurenm": 25.0, "espece": "x hispanica", "adresse": "QUAI SAINT BERNARD", "domanialite": "Alignement", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 298210.0, "genre": "Platanus", "complementadresse": "Jussieux", "typeemplacement": "Arbre", "dateplantation": "1900-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.35621122947, 48.8492902734]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "05c4914ca1858db5000b1c6c7cdf11e931d3164f", "fields": {"geom_x_y": [48.872641762, 2.28136402859], "libellefrancais": "Orme de Sib\u00e9rie", "objectid": 202105, "idemplacement": "000404059 / 16-26", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 415.0, "hauteurenm": 26.0, "espece": "carpinifolia", "adresse": "JARDIN DE L AVENUE FOCH / 10 AVENUE FOCH", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 114140.0, "genre": "Zelkova", "complementadresse": "PELOUSE 05 - 54 \u00e0 68", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.28136402859, 48.872641762]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "0645bee3ba802193f19cfedb3b488641b6f13649", "fields": {"geom_x_y": [48.8341620932, 2.38255442632], "libellefrancais": "Platane", "objectid": 50852, "idemplacement": "00000373", "arrondissement": "PARIS 12E ARRDT", "circonferenceencm": 502.0, "hauteurenm": 35.0, "espece": "x hispanica", "adresse": "PARC DE BERCY", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 100818.0, "genre": "Platanus", "complementadresse": "12-36", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.38255442632, 48.8341620932]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "fb63586405f46c880b775ed7478688e9f3cca9a4", "fields": {"geom_x_y": [48.8642003629, 2.26796037248], "libellefrancais": "H\u00eatre", "objectid": 162791, "idemplacement": "470306001", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 320.0, "hauteurenm": 15.0, "espece": "sylvatica", "adresse": "STADE DE LA PORTE DE LA MUETTE / 60 BOULEVARD LANNES", "domanialite": "DJS", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 201570.0, "genre": "Fagus", "complementadresse": "16-38", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.26796037248, 48.8642003629]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "583c2fe499d18cbe9cb95c278d9513b82162c901", "fields": {"geom_x_y": [48.8785828156, 2.30755979417], "libellefrancais": "Platane", "objectid": 178410, "idemplacement": "00SO0222", "arrondissement": "PARIS 8E ARRDT", "circonferenceencm": 645.0, "hauteurenm": 31.0, "espece": "orientalis", "adresse": "PARC MONCEAU", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 313940.0, "genre": "Platanus", "complementadresse": "08-02", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.30755979417, 48.8785828156]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "00db750a7c301f75f3ba4b0059492ad779c6d56b", "fields": {"geom_x_y": [48.8513574712, 2.32513190803], "libellefrancais": "Lilas de Perse", "objectid": 182301, "idemplacement": "00000031", "arrondissement": "PARIS 7E ARRDT", "circonferenceencm": 120.0, "hauteurenm": 10.0, "espece": "azedarach", "adresse": "SQUARE BOUCICAUT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 118790.0, "genre": "Melia", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.32513190803, 48.8513574712]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "feb46e63d037d290741cc000f7c1650d7a7dfc80", "fields": {"geom_x_y": [48.8409420689, 2.4641321139], "libellefrancais": "Erable", "objectid": 196414, "idemplacement": "12-23", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 294.0, "hauteurenm": 18.0, "espece": "cappadocicum", "adresse": "PELOUSE DE FONTENAY - AVENUE DE LA BELLE GABRIELLE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002378.0, "genre": "Acer", "complementadresse": "12-23", "typeemplacement": "Arbre", "dateplantation": "1900-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.4641321139, 48.8409420689]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "f9bc23813a8a11b1957976a95efdc979d9f8d372", "fields": {"geom_x_y": [48.8629082876, 2.26157034611], "libellefrancais": "Arbre aux quarante \u00e9cus", "objectid": 29062, "idemplacement": "000101002", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 210.0, "hauteurenm": 17.0, "espece": "biloba", "adresse": "BERGE DU LAC INFERIEUR - CHEMIN DE CEINTURE DU LAC INFERIEUR", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002391.0, "genre": "Ginkgo", "complementadresse": "16-01", "typeemplacement": "Arbre", "dateplantation": "1893-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.26157034611, 48.8629082876]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "479dfb289f6d0ac214073a66f7a5e6532b02c388", "fields": {"geom_x_y": [48.8872385242, 2.31716310443], "libellefrancais": "Pterocarya", "objectid": 51343, "idemplacement": "00000072", "arrondissement": "PARIS 17E ARRDT", "circonferenceencm": 395.0, "hauteurenm": 30.0, "espece": "fraxinifolia", "adresse": "SQUARE DES BATIGNOLLES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 135262.0, "genre": "Pterocarya", "complementadresse": "17-07", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.31716310443, 48.8872385242]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "91e862310fa7f6ecedb602ae4b1b08655ca4e286", "fields": {"geom_x_y": [48.8408777406, 2.39210515404], "libellefrancais": "Liboc\u00e8dre", "objectid": 61117, "idemplacement": "00000005", "arrondissement": "PARIS 12E ARRDT", "circonferenceencm": 195.0, "hauteurenm": 23.0, "espece": "decurrens", "adresse": "JARDIN DE LA GARE DE REUILLY", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 125236.0, "genre": "Calocedrus", "complementadresse": "12-33", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.39210515404, 48.8408777406]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "3c743142f9200393c8a2227f68617f0c34510d40", "fields": {"geom_x_y": [48.8564741998, 2.39461847904], "libellefrancais": "Platane", "objectid": 110019, "idemplacement": "001802036", "arrondissement": "PARIS 20E ARRDT", "circonferenceencm": 407.0, "hauteurenm": 23.0, "espece": "x hispanica", "adresse": "BOULEVARD DE CHARONNE", "domanialite": "Alignement", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 223748.0, "genre": "Platanus", "complementadresse": "148", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.39461847904, 48.8564741998]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "951e0c6abec07fd7ddee6b4f7c40fb303e5f0f56", "fields": {"geom_x_y": [48.8803354834, 2.38130530981], "libellefrancais": "Platane", "objectid": 156517, "idemplacement": "H0690012", "arrondissement": "PARIS 19E ARRDT", "circonferenceencm": 686.0, "hauteurenm": 30.0, "espece": "x hispanica", "adresse": "PARC DES BUTTES CHAUMONT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 102141.0, "genre": "Platanus", "complementadresse": "19-08", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.38130530981, 48.8803354834]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "90b27042c5898f6b580ecc64d2ffd96f8f1002a6", "fields": {"geom_x_y": [48.8497459373, 2.36003937333], "libellefrancais": "C\u00e8dre", "objectid": 120761, "idemplacement": "00000010", "arrondissement": "PARIS 4E ARRDT", "circonferenceencm": 133.0, "hauteurenm": 12.0, "espece": "libani", "adresse": "SQUARE BARYE / 2 BOULEVARD HENRI IV", "domanialite": "Jardin", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 123805.0, "genre": "Cedrus", "typeemplacement": "Arbre", "dateplantation": "1993-01-01T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.36003937333, 48.8497459373]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "6b7564a0d388fd97753485be3397e6b34381ccdc", "fields": {"geom_x_y": [48.8939378118, 2.3244386679], "libellefrancais": "Metas\u00e9quoia", "objectid": 130710, "idemplacement": "000101005", "arrondissement": "PARIS 17E ARRDT", "circonferenceencm": 232.0, "hauteurenm": 18.0, "espece": "glyptostroboides", "adresse": "SQUARE DE LA VILLA SAINTE CROIX / 10 VILLA SAINTE CROIX", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 123071.0, "genre": "Metasequoia", "typeemplacement": "Arbre", "dateplantation": "1995-04-01T02:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.3244386679, 48.8939378118]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "2534318fe7b2d17f12253d4f5999193cc2ae8175", "fields": {"geom_x_y": [48.8388163194, 2.40656685552], "libellefrancais": "Ch\u00eane", "objectid": 134637, "idemplacement": "00000026", "arrondissement": "PARIS 12E ARRDT", "circonferenceencm": 169.0, "hauteurenm": 14.0, "espece": "frainetto", "adresse": "SQUARE CHARLES PEGUY", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 123156.0, "genre": "Quercus", "complementadresse": "12-37", "typeemplacement": "Arbre", "dateplantation": "1990-01-01T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.40656685552, 48.8388163194]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "dc0f5ef49acadaa6e82137abd7703aadc115f7a7", "fields": {"geom_x_y": [48.8577764958, 2.31452314446], "libellefrancais": "Platane", "objectid": 169753, "idemplacement": "00000039", "arrondissement": "PARIS 7E ARRDT", "circonferenceencm": 478.0, "hauteurenm": 29.0, "espece": "x hispanica", "adresse": "SQUARE D''AJACCIO", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 109021.0, "genre": "Platanus", "complementadresse": "07-13", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.31452314446, 48.8577764958]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "363f6016ea5d98688afca6ed447c2d41fa81808e", "fields": {"geom_x_y": [48.8227147039, 2.33868841423], "libellefrancais": "Platane", "objectid": 214719, "idemplacement": "0420A1001", "arrondissement": "PARIS 14E ARRDT", "circonferenceencm": 604.0, "hauteurenm": 30.0, "espece": "x hispanica", "adresse": "PARC MONTSOURIS / 28 BOULEVARD JOURDAN", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 113547.0, "genre": "Platanus", "complementadresse": "Plateau Baigneuses", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.33868841423, 48.8227147039]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "beba01d0af02c6be04647d730017d86b9ed7094d", "fields": {"geom_x_y": [48.8462426895, 2.25137540594], "libellefrancais": "Erable", "objectid": 21546, "idemplacement": "00040005", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 210.0, "hauteurenm": 16.0, "espece": "monspessulanum", "adresse": "JARDIN DES SERRES D AUTEUIL / 1 AVENUE GORDON BENNETT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 123330.0, "genre": "Acer", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25137540594, 48.8462426895]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "048d22a83c93f3c60286ad4f4f5af208278a440b", "fields": {"geom_x_y": [48.8682643074, 2.36315743986], "libellefrancais": "Ch\u00eane", "objectid": 97164, "idemplacement": "000208001", "arrondissement": "PARIS 10E ARRDT", "circonferenceencm": 49.0, "hauteurenm": 7.0, "espece": "cerris", "adresse": "PLACE DE LA REPUBLIQUE", "domanialite": "Alignement", "pepiniere": "Guillot Bourne", "stadedeveloppement": "J", "remarquable": "1", "idbase": 2017817.0, "genre": "Quercus", "typeemplacement": "Arbre", "dateplantation": "2017-11-09T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.36315743986, 48.8682643074]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "f93f66dd380409f0cd5a955296d43fbfd31b0e76", "fields": {"geom_x_y": [48.8740821646, 2.25916497406], "libellefrancais": "Catalpa", "objectid": 116828, "idemplacement": "001301001", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 397.0, "hauteurenm": 14.0, "espece": "bignonioides", "adresse": "TIR AU PIGEON / 32 ROUTE DE L ETOILE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2009236.0, "genre": "Catalpa", "complementadresse": "16-62", "typeemplacement": "Arbre", "dateplantation": "1910-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25916497406, 48.8740821646]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "c59476027f89c9d0736aa0377045fc5192842ca0", "fields": {"geom_x_y": [48.8277560491, 2.35926764063], "libellefrancais": "C\u00e8dre", "objectid": 120543, "idemplacement": "00000357", "arrondissement": "PARIS 13E ARRDT", "circonferenceencm": 351.0, "hauteurenm": 25.0, "espece": "libani", "adresse": "SQUARE DE CHOISY", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 106181.0, "genre": "Cedrus", "complementadresse": "13-03", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.35926764063, 48.8277560491]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "d52ba427680157ceda2d142010990e7800a8c88b", "fields": {"geom_x_y": [48.8830293243, 2.37006279721], "libellefrancais": "Tilleul", "objectid": 125075, "idemplacement": "000103001", "arrondissement": "PARIS 19E ARRDT", "circonferenceencm": 206.0, "hauteurenm": 20.0, "espece": "tomentosa", "adresse": "PLACE DE LA BATAILLE DE STALINGRAD", "domanialite": "Alignement", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 235972.0, "genre": "Tilia", "complementadresse": "19-05", "typeemplacement": "Arbre", "dateplantation": "1945-01-01T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.37006279721, 48.8830293243]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "645d0ac1d813673a36b284642a89b6a932d29470", "fields": {"geom_x_y": [48.8633907267, 2.24048112696], "libellefrancais": "C\u00e8dre", "objectid": 137677, "idemplacement": "000301002", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 468.0, "hauteurenm": 25.0, "espece": "libani", "adresse": "GRANDE CASCADE - CARREFOUR DE LONGCHAMP", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002348.0, "genre": "Cedrus", "complementadresse": "16-09", "typeemplacement": "Arbre", "dateplantation": "1862-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.24048112696, 48.8633907267]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "611d7f44a7cc928af5786c5a241eb7297844b2ce", "fields": {"geom_x_y": [48.8709369341, 2.24803445349], "libellefrancais": "If", "objectid": 169424, "idemplacement": "000701001", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 246.0, "hauteurenm": 15.0, "espece": "baccata", "adresse": "PARC DE BAGATELLE - ALLEE DE LONGCHAMP / ROUTE DE SEVRES A NEUILLY", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 2002352.0, "genre": "Taxus", "complementadresse": "16-21", "typeemplacement": "Arbre", "dateplantation": "1772-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.24803445349, 48.8709369341]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "5c194b6287fd7ef28943f736e5413b2b33c372a3", "fields": {"geom_x_y": [48.8591685681, 2.27021762792], "libellefrancais": "Noisetier de Byzance", "objectid": 206593, "idemplacement": "00040029", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 228.0, "hauteurenm": 16.0, "espece": "colurna", "adresse": "JARDIN DU RANELAGH", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 136739.0, "genre": "Corylus", "complementadresse": "16-39", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.27021762792, 48.8591685681]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "dace1db0e9b7e65ad6840bb9e05b551670b5d5ef", "fields": {"geom_x_y": [48.8625497049, 2.23789840571], "libellefrancais": "Orme de Sib\u00e9rie", "objectid": 213079, "idemplacement": "000601001", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 321.0, "hauteurenm": 16.0, "espece": "carpinifolia", "adresse": "MOULIN DE LONGCHAMP - ROUTE DES TRIBUNES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002344.0, "genre": "Zelkova", "complementadresse": "16-06", "typeemplacement": "Arbre", "dateplantation": "1896-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.23789840571, 48.8625497049]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "2e8a8fae33fa2b498c691e33db54016e3a5c48b1", "fields": {"geom_x_y": [48.8618538525, 2.37908776833], "libellefrancais": "Noisetier de Byzance", "objectid": 220616, "idemplacement": "000201002", "arrondissement": "PARIS 11E ARRDT", "circonferenceencm": 250.0, "hauteurenm": 21.0, "espece": "colurna", "adresse": "SQUARE MAURICE GARDETTE / 8 RUE GENERAL BLAISE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 124914.0, "genre": "Corylus", "complementadresse": "11-01", "typeemplacement": "Arbre", "dateplantation": "1882-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.37908776833, 48.8618538525]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "614d757c7841f6361946e2596fd7466145e9f5ef", "fields": {"geom_x_y": [48.8582820141, 2.3626526639], "libellefrancais": "Figuier", "objectid": 220845, "idemplacement": "00000018", "arrondissement": "PARIS 3E ARRDT", "circonferenceencm": 145.0, "hauteurenm": 10.0, "espece": "carica", "adresse": "SQUARE GEORGES CAIN / 8 RUE PAYENNE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 116020.0, "genre": "Ficus", "complementadresse": "03-01", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.3626526639, 48.8582820141]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "90bcbfb8c2263668fef51df6cf135c584c455f60", "fields": {"geom_x_y": [48.869458282, 2.24771343792], "libellefrancais": "Sequoia", "objectid": 15750, "idemplacement": "000701002", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 511.0, "hauteurenm": 28.0, "espece": "giganteum", "adresse": "PARC DE BAGATELLE - ALLEE DE LONGCHAMP / ROUTE DE SEVRES A NEUILLY", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 2002350.0, "genre": "Sequoiadendron", "complementadresse": "16-22", "typeemplacement": "Arbre", "dateplantation": "1850-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.24771343792, 48.869458282]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "78da68481201820d8637ba8c0c9126ecd6815123", "fields": {"geom_x_y": [48.8472736385, 2.25198968756], "libellefrancais": "Magnolia", "objectid": 25579, "idemplacement": "00040021", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 187.0, "hauteurenm": 10.0, "espece": "grandiflora", "adresse": "JARDIN DES SERRES D AUTEUIL / 1 AVENUE GORDON BENNETT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 136305.0, "genre": "Magnolia", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25198968756, 48.8472736385]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "972bd92c46f8d99a43b59eb6c163714c2ac24a8f", "fields": {"geom_x_y": [48.84758185, 2.25327790355], "libellefrancais": "Catalpa", "objectid": 41625, "idemplacement": "00030003", "arrondissement": "PARIS 16E ARRDT", "typeemplacement": "Arbre", "hauteurenm": 3.0, "espece": "speciosa", "adresse": "JARDIN DES SERRES D AUTEUIL / 1 AVENUE GORDON BENNETT", "circonferenceencm": 200.0, "stadedeveloppement": "M", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 136448.0, "genre": "Catalpa", "varieteoucultivar": "''Pulverulenta''", "domanialite": "Jardin", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25327790355, 48.84758185]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "2282dd620845c6a06544b802e6e065da357e6cad", "fields": {"geom_x_y": [48.863856986, 2.39663716021], "libellefrancais": "Arbre aux quarante \u00e9cus", "objectid": 64385, "idemplacement": "D00000078003", "arrondissement": "PARIS 20E ARRDT", "circonferenceencm": 175.0, "hauteurenm": 15.0, "espece": "biloba", "adresse": "CIMETIERE DU PERE LACHAISE / DIV 78", "domanialite": "CIMETIERE", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 158456.0, "genre": "Ginkgo", "complementadresse": "20-13", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.39663716021, 48.863856986]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "edd897e58405f45be0460aeaff8ebe024d96aad4", "fields": {"geom_x_y": [48.8810210944, 2.39924431307], "libellefrancais": "H\u00eatre", "objectid": 66870, "idemplacement": "00000004", "arrondissement": "PARIS 19E ARRDT", "typeemplacement": "Arbre", "hauteurenm": 21.0, "espece": "sylvatica", "adresse": "SQUARE DE LA BUTTE DU CHAPEAU ROUGE / 11 BOULEVARD D ALGERIE", "circonferenceencm": 276.0, "stadedeveloppement": "M", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 127516.0, "genre": "Fagus", "varieteoucultivar": "''Atropunicea''", "domanialite": "Jardin", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.39924431307, 48.8810210944]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "cde2bfe0b163450c4c3a31842d0b11acfcbecb6f", "fields": {"geom_x_y": [48.8600333815, 2.26913461956], "libellefrancais": "Pterocarya", "objectid": 75654, "idemplacement": "00040084", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 449.0, "hauteurenm": 28.0, "espece": "fraxinifolia", "adresse": "JARDIN DU RANELAGH", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 136794.0, "genre": "Pterocarya", "complementadresse": "16-40", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.26913461956, 48.8600333815]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "f84df3721e9e21406c2f1bae377b4630af3259c4", "fields": {"geom_x_y": [48.8860986781, 2.3446801359], "libellefrancais": "Pterocarya", "objectid": 107091, "idemplacement": "00000127", "arrondissement": "PARIS 18E ARRDT", "circonferenceencm": 375.0, "hauteurenm": 26.0, "espece": "fraxinifolia", "adresse": "SQUARE LOUISE MICHEL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 120518.0, "genre": "Pterocarya", "complementadresse": "18-12", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.3446801359, 48.8860986781]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "510862cf36c59551127daca7d4c80a331c772406", "fields": {"geom_x_y": [48.8428184075, 2.29688266387], "libellefrancais": "Erable", "objectid": 144248, "idemplacement": "00000084", "arrondissement": "PARIS 15E ARRDT", "circonferenceencm": 240.0, "hauteurenm": 20.0, "espece": "saccharinum", "adresse": "SQUARE SAINT-LAMBERT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 111642.0, "genre": "Acer", "complementadresse": "15-04", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.29688266387, 48.8428184075]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "638b750ede0ab28bbbbb31e7a635cc4e19a8a57d", "fields": {"geom_x_y": [48.8521020309, 2.35080387137], "libellefrancais": "Orme", "objectid": 190034, "idemplacement": "00000069", "arrondissement": "PARIS 4E ARRDT", "typeemplacement": "Arbre", "hauteurenm": 10.0, "espece": "glabra", "adresse": "SQUARE JEAN XXIII / 2 QUAI DE L ARCHEVECHE", "circonferenceencm": 167.0, "stadedeveloppement": "A", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 125063.0, "genre": "Ulmus", "varieteoucultivar": "''Pendula''", "domanialite": "Jardin", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.35080387137, 48.8521020309]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "b2434700b531aba93993d0dce071a81680c5e5d1", "fields": {"geom_x_y": [48.8801157455, 2.38566682415], "libellefrancais": "Marronnier", "objectid": 210389, "idemplacement": "G0380002", "arrondissement": "PARIS 19E ARRDT", "circonferenceencm": 323.0, "hauteurenm": 25.0, "espece": "hippocastanum", "adresse": "PARC DES BUTTES CHAUMONT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 102028.0, "genre": "Aesculus", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.38566682415, 48.8801157455]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "28dcd4801b4bc11ebb8df128a799d4927f88b5e8", "fields": {"geom_x_y": [48.8326105728, 2.41145272899], "libellefrancais": "Cypr\u00e8s Chauve", "objectid": 19883, "idemplacement": "12-10", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 281.0, "hauteurenm": 18.0, "espece": "distichum", "adresse": "ILE DE BERCY / LAC DAUMESNIL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 2002363.0, "genre": "Taxodium", "complementadresse": "12-10", "typeemplacement": "Arbre", "dateplantation": "1930-01-01T00:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.41145272899, 48.8326105728]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "ed61dd17354e3db0a375cc6b83a388736a31cdb5", "fields": {"geom_x_y": [48.8858144156, 2.3301156142], "libellefrancais": "If", "objectid": 33973, "idemplacement": "D00000014007", "arrondissement": "PARIS 18E ARRDT", "circonferenceencm": 293.0, "hauteurenm": 11.0, "espece": "baccata", "adresse": "CIMETIERE DE MONTMARTRE / DIV 14", "domanialite": "CIMETIERE", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 167762.0, "genre": "Taxus", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.3301156142, 48.8858144156]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "8987a3d02248e0842ffd1ddaacbec9713a55bb20", "fields": {"geom_x_y": [48.8877361833, 2.34350324718], "libellefrancais": "Platane", "objectid": 156536, "idemplacement": "00000028", "arrondissement": "PARIS 18E ARRDT", "circonferenceencm": 349.0, "hauteurenm": 27.0, "espece": "x hispanica", "adresse": "PARC MARCEL BLEUSTEIN BLANCHET", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 120299.0, "genre": "Platanus", "complementadresse": "18-13", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.34350324718, 48.8877361833]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "d06534c385d82c0a62d7accedcce931c2af0f686", "fields": {"geom_x_y": [48.8288409104, 2.34976462735], "libellefrancais": "Figuier", "objectid": 129557, "idemplacement": "00000028", "arrondissement": "PARIS 13E ARRDT", "circonferenceencm": 100.0, "hauteurenm": 4.0, "espece": "carica", "adresse": "JARDIN BRASSAI / 2 RUE EUGENE ATGET", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 138456.0, "genre": "Ficus", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.34976462735, 48.8288409104]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "dddc0e9e11cdc42b10dcd24539eb1c8053c96a7e", "fields": {"geom_x_y": [48.8319997987, 2.32583007025], "libellefrancais": "C\u00e8dre", "objectid": 165232, "idemplacement": "10030016", "arrondissement": "PARIS 14E ARRDT", "circonferenceencm": 140.0, "hauteurenm": 20.0, "espece": "libani", "adresse": "SQUARE DE L ASPIRAND DUNAND / 20 RUE SAILLARD", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 116216.0, "genre": "Cedrus", "typeemplacement": "Arbre", "dateplantation": "1996-01-01T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.32583007025, 48.8319997987]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "fbf568e98f5be10948ff97ef97f2267f7a43caed", "fields": {"geom_x_y": [48.8704055251, 2.24852119162], "libellefrancais": "Platane", "objectid": 171429, "idemplacement": "000701007", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 221.0, "hauteurenm": 24.0, "espece": "orientalis", "adresse": "PARC DE BAGATELLE - ALLEE DE LONGCHAMP / ROUTE DE SEVRES A NEUILLY", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002351.0, "genre": "Platanus", "complementadresse": "16-18", "typeemplacement": "Arbre", "dateplantation": "1843-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.24852119162, 48.8704055251]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "cb5018c606c5460c45cd45afcffee7bb3814290f", "fields": {"geom_x_y": [48.8493165016, 2.34518635839], "libellefrancais": "Platane", "objectid": 227849, "idemplacement": "00000002", "arrondissement": "PARIS 5E ARRDT", "circonferenceencm": 450.0, "hauteurenm": 24.0, "espece": "orientalis", "adresse": "SQUARE MICHEL-FOUCAULT / 43Q RUE DES ECOLES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 132543.0, "genre": "Platanus", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.34518635839, 48.8493165016]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "54c5ea4faccb71b0e5e375e4fc32fa80a1f3721c", "fields": {"geom_x_y": [48.8648104138, 2.23370602002], "libellefrancais": "Saule", "objectid": 230602, "idemplacement": "000201001", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 285.0, "hauteurenm": 10.0, "espece": "babylonica", "adresse": "ETANG DE SURESNES / ROUTE DE SURESNES - ROUTE DES MOULINS", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2009036.0, "genre": "Salix", "complementadresse": "16-61", "typeemplacement": "Arbre", "dateplantation": "1901-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.23370602002, 48.8648104138]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "55cafe649491fba2486875069bad6dc7c185c175", "fields": {"geom_x_y": [48.8672280446, 2.27026875561], "libellefrancais": "C\u00e8dre", "objectid": 15369, "idemplacement": "000101001", "arrondissement": "PARIS 16E ARRDT", "typeemplacement": "Arbre", "hauteurenm": 6.0, "espece": "libani", "adresse": "SQUARE CLAUDE DEBUSSY / 51 AVENUE DU MARECHAL FAYOLLE", "circonferenceencm": 213.0, "stadedeveloppement": "M", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 138935.0, "genre": "Cedrus", "varieteoucultivar": "''Glauca Pendula''", "complementadresse": "16-24", "domanialite": "Jardin", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.27026875561, 48.8672280446]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "6661334c00ddd501d0adc3e8ca7ecccbd5739396", "fields": {"geom_x_y": [48.8477822447, 2.25372288858], "libellefrancais": "Bouleau", "objectid": 48614, "idemplacement": "00030015", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 212.0, "hauteurenm": 20.0, "espece": "nigra", "adresse": "JARDIN DES SERRES D AUTEUIL / 1 AVENUE GORDON BENNETT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 136460.0, "genre": "Betula", "typeemplacement": "Arbre", "dateplantation": "1982-01-01T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25372288858, 48.8477822447]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "3aa3ff9fc2d37926ce012afa03c35d56b95b53cb", "fields": {"geom_x_y": [48.8770427283, 2.38050012851], "libellefrancais": "If", "objectid": 63971, "idemplacement": "O1020001", "arrondissement": "PARIS 19E ARRDT", "circonferenceencm": 140.0, "hauteurenm": 13.0, "espece": "baccata", "adresse": "PARC DES BUTTES CHAUMONT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 103916.0, "genre": "Taxus", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.38050012851, 48.8770427283]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "cfcce2a5a7f00092f53a5f7cfd11926990266243", "fields": {"geom_x_y": [48.8322968473, 2.4106783229], "libellefrancais": "Platane", "objectid": 93695, "idemplacement": "12-07", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 399.0, "hauteurenm": 35.0, "espece": "x hispanica", "adresse": "ILE DE BERCY / LAC DAUMESNIL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002365.0, "genre": "Platanus", "complementadresse": "12-07", "typeemplacement": "Arbre", "dateplantation": "1860-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.4106783229, 48.8322968473]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "2ca9951258ba763d70eeeac645cbf807a5f035b6", "fields": {"geom_x_y": [48.8823220504, 2.38408821582], "libellefrancais": "Arbre aux quarante \u00e9cus", "objectid": 216784, "idemplacement": "G0310005", "arrondissement": "PARIS 19E ARRDT", "circonferenceencm": 270.0, "hauteurenm": 24.0, "espece": "biloba", "adresse": "PARC DES BUTTES CHAUMONT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 102053.0, "genre": "Ginkgo", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.38408821582, 48.8823220504]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "8bfb1873ec22bb5b37d9586b6d1f865402449923", "fields": {"geom_x_y": [48.8731340013, 2.28679550428], "libellefrancais": "Platane", "objectid": 230091, "idemplacement": "000210037 / 16-29", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 440.0, "hauteurenm": 21.0, "espece": "x hispanica", "adresse": "JARDIN DE L AVENUE FOCH / 10 AVENUE FOCH", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 114166.0, "genre": "Platanus", "complementadresse": "PELOUSE 08 - 34 \u00e0 44", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.28679550428, 48.8731340013]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "779a8cfa32109b69e61d084b82a01ea630c9aacd", "fields": {"geom_x_y": [48.8220251, 2.33627703861], "libellefrancais": "Sequoia", "objectid": 18722, "idemplacement": "0311D1001", "arrondissement": "PARIS 14E ARRDT", "circonferenceencm": 355.0, "hauteurenm": 25.0, "espece": "sempervirens", "adresse": "PARC MONTSOURIS / 28 BOULEVARD JOURDAN", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 113353.0, "genre": "Sequoia", "complementadresse": "Volcan / Puits", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.33627703861, 48.8220251]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "e62460b57627f32c4b669303e915019ee6cce857", "fields": {"geom_x_y": [48.8876882466, 2.31645921238], "libellefrancais": "Platane", "objectid": 22659, "idemplacement": "00000206", "arrondissement": "PARIS 17E ARRDT", "circonferenceencm": 595.0, "hauteurenm": 34.0, "espece": "x hispanica", "adresse": "SQUARE DES BATIGNOLLES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 135397.0, "genre": "Platanus", "complementadresse": "17-10", "typeemplacement": "Arbre", "dateplantation": "1850-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.31645921238, 48.8876882466]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "2746fa824dcbdd75d08ef31a493d01b03cf5d135", "fields": {"geom_x_y": [48.8499468102, 2.34421971028], "libellefrancais": "Orme de Sib\u00e9rie", "objectid": 41395, "idemplacement": "00000001", "arrondissement": "PARIS 5E ARRDT", "circonferenceencm": 250.0, "hauteurenm": 20.0, "espece": "carpinifolia", "adresse": "SQUARE PAUL PAINLEVE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 132479.0, "genre": "Zelkova", "complementadresse": "05-04", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.34421971028, 48.8499468102]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "2397de059f5c29d80f6c46cca9ada6273c2175d8", "fields": {"geom_x_y": [48.8200711234, 2.43516626469], "libellefrancais": "Catalpa", "objectid": 45830, "idemplacement": "12-38", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 289.0, "hauteurenm": 10.0, "espece": "bignonioides", "adresse": "PENTE DE GRAVELLE - AVENUE DE GRAVELLE / ROUTE DU MOULIN ROUGE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002399.0, "genre": "Catalpa", "complementadresse": "12-38", "typeemplacement": "Arbre", "dateplantation": "2000-01-01T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.43516626469, 48.8200711234]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "690c67d07f226ab7ce72600d5e9f8a190cb61c6c", "fields": {"geom_x_y": [48.893355459, 2.34682048372], "libellefrancais": "Cedrele", "objectid": 46814, "idemplacement": "00000009", "arrondissement": "PARIS 18E ARRDT", "circonferenceencm": 238.0, "hauteurenm": 17.0, "espece": "sinensis", "adresse": "SQUARE KRIEGEL - VALRIMONT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 120016.0, "genre": "Toona", "complementadresse": "18-08", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.34682048372, 48.893355459]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "1800f5f4d646ae2d75d2e6234c8ffc367d2e6136", "fields": {"geom_x_y": [48.8493511595, 2.34503292777], "libellefrancais": "Platane", "objectid": 78143, "idemplacement": "00000001", "arrondissement": "PARIS 5E ARRDT", "circonferenceencm": 391.0, "hauteurenm": 24.0, "espece": "orientalis", "adresse": "SQUARE MICHEL-FOUCAULT / 43Q RUE DES ECOLES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 132542.0, "genre": "Platanus", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.34503292777, 48.8493511595]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "f743389fcf3ff5010844719d75731dca145ac444", "fields": {"geom_x_y": [48.8558090006, 2.30029407426], "libellefrancais": "Plaqueminier", "objectid": 84189, "idemplacement": "P0090571", "arrondissement": "PARIS 7E ARRDT", "circonferenceencm": 117.0, "hauteurenm": 14.0, "espece": "kaki", "adresse": "JARDIN DU CHAMP DE MARS", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 106715.0, "genre": "Diospyros", "complementadresse": "07-05", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.30029407426, 48.8558090006]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "36ad1e4eb1fdef8030154d5efa67ac29ffa1732e", "fields": {"geom_x_y": [48.8648326277, 2.25217460792], "libellefrancais": "Plaqueminier", "objectid": 98728, "idemplacement": "000501002", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 146.0, "hauteurenm": 15.0, "espece": "kaki", "adresse": "JARDIN DU PRE CATELAN - CARREFOUR DE LA GRANDE CASCADE / CARREFOUR DE LA CROIX CATELAN", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 2002388.0, "genre": "Diospyros", "complementadresse": "16-13", "typeemplacement": "Arbre", "dateplantation": "1897-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25217460792, 48.8648326277]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "0d067cf53d0304214bfd83113146ae5d80aed377", "fields": {"geom_x_y": [48.839886234, 2.43388312679], "libellefrancais": "H\u00eatre", "objectid": 104107, "idemplacement": "12-22", "arrondissement": "BOIS DE VINCENNES", "typeemplacement": "Arbre", "hauteurenm": 16.0, "espece": "sylvatica", "adresse": "SQUARE CARNOT - AVENUE DAUMESNIL / ESPLANADE DU CHATEAU DE VINCENNES", "circonferenceencm": 414.0, "stadedeveloppement": "M", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 2002372.0, "genre": "Fagus", "varieteoucultivar": "''Pendula''", "complementadresse": "12-22", "domanialite": "Jardin", "dateplantation": "1864-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.43388312679, 48.839886234]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "83a1f5e600bae10ef516504552f2f64f46c9af91", "fields": {"geom_x_y": [48.8465652331, 2.25242001202], "libellefrancais": "Ch\u00eane", "objectid": 108040, "idemplacement": "00040039", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 233.0, "hauteurenm": 13.0, "espece": "ilex", "adresse": "JARDIN DES SERRES D AUTEUIL / 1 AVENUE GORDON BENNETT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 136323.0, "genre": "Quercus", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25242001202, 48.8465652331]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "8403b588ac5b9f6007551905f4485dd2cecd67fa", "fields": {"geom_x_y": [48.8394051605, 2.43337448245], "libellefrancais": "Tulipier", "objectid": 154864, "idemplacement": "12-02", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 298.0, "hauteurenm": 30.0, "espece": "tulipifera", "adresse": "SQUARE CARNOT - AVENUE DAUMESNIL / ESPLANADE DU CHATEAU DE VINCENNES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002370.0, "genre": "Liriodendron", "complementadresse": "12-02", "typeemplacement": "Arbre", "dateplantation": "1862-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.43337448245, 48.8394051605]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "2ef39224dade79878b79dca66327ac027ff210a7", "fields": {"geom_x_y": [48.8210095188, 2.4555149836], "libellefrancais": "Pin", "objectid": 162161, "idemplacement": "12-20", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 234.0, "hauteurenm": 17.0, "espece": "coulteri", "adresse": "ARBORETUM DE L ECOLE DU BREUIL - ROUTE DE LA FERME / ROUTE DE LA PYRAMIDE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 2002379.0, "genre": "Pinus", "complementadresse": "12-20", "typeemplacement": "Arbre", "dateplantation": "2000-01-01T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.4555149836, 48.8210095188]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "33c9f401502b873aa2946667ccadb5538ba112d6", "fields": {"geom_x_y": [48.821579307, 2.45494663547], "libellefrancais": "Orme de Sib\u00e9rie", "objectid": 207616, "idemplacement": "12-21", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 308.0, "hauteurenm": 18.0, "espece": "carpinifolia", "adresse": "ARBORETUM DE L ECOLE DU BREUIL - ROUTE DE LA FERME / ROUTE DE LA PYRAMIDE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002381.0, "genre": "Zelkova", "complementadresse": "12-21", "typeemplacement": "Arbre", "dateplantation": "2000-01-01T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.45494663547, 48.821579307]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "44624e1c9cbea0dc9f3a1889ee71fcd88aabc02c", "fields": {"geom_x_y": [48.8652460255, 2.31335093065], "libellefrancais": "Platane", "objectid": 213970, "idemplacement": "0601002", "arrondissement": "PARIS 8E ARRDT", "circonferenceencm": 553.0, "hauteurenm": 29.0, "espece": "x hispanica", "adresse": "JARDINS DES CHAMPS ELYSEES / GRAND PALAIS", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 302598.0, "genre": "Platanus", "complementadresse": "08-06", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.31335093065, 48.8652460255]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "8dbcde0bcc05241a8518151af8404544134c1a43", "fields": {"geom_x_y": [48.8460598206, 2.25295516084], "libellefrancais": "Ailante", "objectid": 18042, "idemplacement": "00060035", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 495.0, "hauteurenm": 22.0, "espece": "giraldii", "adresse": "JARDIN DES SERRES D AUTEUIL / 1 AVENUE GORDON BENNETT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 112968.0, "genre": "Ailanthus", "complementadresse": "16-47", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25295516084, 48.8460598206]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "18b8153ce362da2f80d5ae77e29274b375aaa92d", "fields": {"geom_x_y": [48.8233452352, 2.33968342685], "libellefrancais": "H\u00eatre", "objectid": 72105, "idemplacement": "041501007", "arrondissement": "PARIS 14E ARRDT", "typeemplacement": "Arbre", "hauteurenm": 5.0, "espece": "sylvatica", "adresse": "PARC MONTSOURIS / 28 BOULEVARD JOURDAN", "circonferenceencm": 140.0, "stadedeveloppement": "A", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 110444.0, "genre": "Fagus", "varieteoucultivar": "''Tortuosa''", "complementadresse": "Lac et Berges", "domanialite": "Jardin", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.33968342685, 48.8233452352]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "3f4f60fcdc32213b667ece3bd8ab64d5f18caf01", "fields": {"geom_x_y": [48.86193299, 2.39871043218], "libellefrancais": "Erable", "objectid": 95652, "idemplacement": "D00000077020", "arrondissement": "PARIS 20E ARRDT", "circonferenceencm": 232.0, "hauteurenm": 14.0, "espece": "monspessulanum", "adresse": "CIMETIERE DU PERE LACHAISE / DIV 77", "domanialite": "CIMETIERE", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 140495.0, "genre": "Acer", "complementadresse": "20-07", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.39871043218, 48.86193299]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "97ce1f254b05a415858b7d79b73d8bdb9ba48144", "fields": {"geom_x_y": [48.8615946163, 2.29103626939], "libellefrancais": "Noisetier de Byzance", "objectid": 162439, "idemplacement": "00000397", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 258.0, "hauteurenm": 20.0, "espece": "colurna", "adresse": "JARDIN DU TROCADERO", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 108256.0, "genre": "Corylus", "complementadresse": "16-57", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.29103626939, 48.8615946163]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "8cb3f686992eef29872ba5a11a42a2f2bf8b65b6", "fields": {"geom_x_y": [48.8729000638, 2.29056540474], "libellefrancais": "M\u00fbrier", "objectid": 169288, "idemplacement": "000103010", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 150.0, "hauteurenm": 8.0, "espece": "nigra", "adresse": "JARDIN DE L AVENUE FOCH / 10 AVENUE FOCH", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 114685.0, "genre": "Morus", "complementadresse": "PELOUSE 14 - 11 \u00e0 27", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.29056540474, 48.8729000638]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "5f580c9698fa98a2a257e55786e0c6d7f28ff37a", "fields": {"geom_x_y": [48.8624518436, 2.28959099748], "libellefrancais": "Sequoia", "objectid": 182943, "idemplacement": "00000418", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 177.0, "hauteurenm": 15.0, "espece": "sempervirens", "adresse": "JARDIN DU TROCADERO", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 108277.0, "genre": "Sequoia", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.28959099748, 48.8624518436]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "edc99d343069574f9ab5da5eb24b64ed881152b2", "fields": {"geom_x_y": [48.8608096279, 2.39184377559], "libellefrancais": "C\u00e8dre", "objectid": 209557, "idemplacement": "D00000004036", "arrondissement": "PARIS 20E ARRDT", "circonferenceencm": 372.0, "hauteurenm": 25.0, "espece": "libani", "adresse": "CIMETIERE DU PERE LACHAISE / DIV 4", "domanialite": "CIMETIERE", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 152606.0, "genre": "Cedrus", "complementadresse": "20-16", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.39184377559, 48.8608096279]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "bcaee73963716c72b94d916b5aace25c96b3678d", "fields": {"geom_x_y": [48.8363411221, 2.29020948574], "libellefrancais": "H\u00eatre", "objectid": 36431, "idemplacement": "00000002", "arrondissement": "PARIS 15E ARRDT", "typeemplacement": "Arbre", "hauteurenm": 5.0, "espece": "sylvatica", "adresse": "SQUARE DU CLOS FEUQUIERES", "circonferenceencm": 125.0, "stadedeveloppement": "A", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 128373.0, "genre": "Fagus", "varieteoucultivar": "''Pendula''", "domanialite": "Jardin", "dateplantation": "1973-01-01T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.29020948574, 48.8363411221]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "70a8d8e1f86be281ce0b778d19f5f6d42e0ec5bc", "fields": {"geom_x_y": [48.8520872721, 2.28253143196], "libellefrancais": "Peuplier", "objectid": 72223, "idemplacement": "000402029", "arrondissement": "PARIS 15E ARRDT", "circonferenceencm": 380.0, "hauteurenm": 20.0, "espece": "x canadensis", "adresse": "ALLEE DES CYGNES", "domanialite": "Alignement", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 258705.0, "genre": "Populus", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.28253143196, 48.8520872721]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "4d975fe720de7b6c90d91ac2c9c7cb4f6325384b", "fields": {"geom_x_y": [48.8873178299, 2.31706267506], "libellefrancais": "Plaqueminier", "objectid": 130232, "idemplacement": "00000224", "arrondissement": "PARIS 17E ARRDT", "circonferenceencm": 155.0, "hauteurenm": 13.0, "espece": "lotus", "adresse": "SQUARE DES BATIGNOLLES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 135415.0, "genre": "Diospyros", "complementadresse": "17-12", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.31706267506, 48.8873178299]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "e419c13a38eca5d713c50761486558438565556e", "fields": {"geom_x_y": [48.8620845688, 2.3985769149], "libellefrancais": "Plaqueminier", "objectid": 147292, "idemplacement": "D00000077016", "arrondissement": "PARIS 20E ARRDT", "circonferenceencm": 111.0, "hauteurenm": 12.0, "espece": "lotus", "adresse": "CIMETIERE DU PERE LACHAISE / DIV 77", "domanialite": "CIMETIERE", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 155788.0, "genre": "Diospyros", "complementadresse": "20-01", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.3985769149, 48.8620845688]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "f52d262dfc7e6efd76617b90262dfa8d30639eaf", "fields": {"geom_x_y": [48.8735408016, 2.29045015635], "libellefrancais": "Savonnier", "objectid": 174971, "idemplacement": "000206001 / 16-34", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 160.0, "hauteurenm": 8.0, "espece": "paniculata", "adresse": "JARDIN DE L AVENUE FOCH / 10 AVENUE FOCH", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 114869.0, "genre": "Koelreuteria", "complementadresse": "PELOUSE 10 - 20 \u00e0 26", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.29045015635, 48.8735408016]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "a1fcb8779b7088899552fd43fe284638835524eb", "fields": {"geom_x_y": [48.8597425245, 2.39998313637], "libellefrancais": "Marronnier", "objectid": 186514, "idemplacement": "D00000076032", "arrondissement": "PARIS 20E ARRDT", "circonferenceencm": 347.0, "hauteurenm": 22.0, "espece": "hippocastanum", "adresse": "CIMETIERE DU PERE LACHAISE / DIV 76", "domanialite": "CIMETIERE", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 147672.0, "genre": "Aesculus", "complementadresse": "20-15", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.39998313637, 48.8597425245]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "2c67edf8f6c5289dfd734bb6c47ace6dacfae4ff", "fields": {"geom_x_y": [48.8716811488, 2.24923265275], "libellefrancais": "Araucaria", "objectid": 20111, "idemplacement": "000701003", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 182.0, "hauteurenm": 11.0, "espece": "araucana", "adresse": "PARC DE BAGATELLE - ALLEE DE LONGCHAMP / ROUTE DE SEVRES A NEUILLY", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 2002353.0, "genre": "Araucaria", "complementadresse": "16-23", "typeemplacement": "Arbre", "dateplantation": "1907-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.24923265275, 48.8716811488]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "9b022d351bfb4ee7e957600ff295dacf0758a304", "fields": {"geom_x_y": [48.8656217619, 2.39994114274], "libellefrancais": "Platane", "objectid": 20630, "idemplacement": "000202004", "arrondissement": "PARIS 20E ARRDT", "circonferenceencm": 500.0, "hauteurenm": 28.0, "espece": "x hispanica", "adresse": "SQUARE EDOUARD VAILLANT / 50 AVENUE GAMBETTA", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 121945.0, "genre": "Platanus", "complementadresse": "20-05", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.39994114274, 48.8656217619]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "43fc0ac6ec5548882a0aedf4620a84ff2ec43392", "fields": {"geom_x_y": [48.845904263, 2.25302676408], "libellefrancais": "Pistachier", "objectid": 95378, "idemplacement": "00060050", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 170.0, "hauteurenm": 10.0, "espece": "terebinthus", "adresse": "JARDIN DES SERRES D AUTEUIL / 1 AVENUE GORDON BENNETT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 113571.0, "genre": "Pistacia", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25302676408, 48.845904263]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "98735ed08feb65f914b6adcc402f78042ae1fea5", "fields": {"geom_x_y": [48.8606050739, 2.25977704939], "libellefrancais": "Cypr\u00e8s Chauve", "objectid": 98074, "idemplacement": "000101003", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 354.0, "hauteurenm": 32.0, "espece": "distichum", "adresse": "BERGE DU LAC INFERIEUR - CHEMIN DE CEINTURE DU LAC INFERIEUR", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002397.0, "genre": "Taxodium", "complementadresse": "16-03", "typeemplacement": "Arbre", "dateplantation": "1862-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25977704939, 48.8606050739]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "51bd80c6cc234cf5c5c9169ccb75e8a1a0c01c20", "fields": {"geom_x_y": [48.8691331657, 2.27224829769], "libellefrancais": "Chicot du Canada", "objectid": 99716, "idemplacement": "00000007", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 185.0, "hauteurenm": 12.0, "espece": "dioica", "adresse": "SQUARE ROBERT SCHUMAN", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 139108.0, "genre": "Gymnocladus", "complementadresse": "16-42", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.27224829769, 48.8691331657]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "3851480b38e64750db1db36b23b5089fc8cb392a", "fields": {"geom_x_y": [48.8578039088, 2.39574078452], "libellefrancais": "Arbre \u00e0 Gutta-Percha", "objectid": 107816, "idemplacement": "D00000075015", "arrondissement": "PARIS 20E ARRDT", "circonferenceencm": 120.0, "hauteurenm": 12.0, "espece": "ulmoides", "adresse": "CIMETIERE DU PERE LACHAISE / DIV 75", "domanialite": "CIMETIERE", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 155948.0, "genre": "Eucommia", "complementadresse": "20-11", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.39574078452, 48.8578039088]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "24051c73ecae9e62ba21ef43726951bccc483ff1", "fields": {"geom_x_y": [48.8859514292, 2.34167969275], "libellefrancais": "Sophora", "objectid": 124874, "idemplacement": "000102003", "arrondissement": "PARIS 18E ARRDT", "circonferenceencm": 305.0, "hauteurenm": 16.0, "espece": "japonica", "adresse": "SQUARE NADAR / 2 RUE SAINT ELEUTHERE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 120761.0, "genre": "Sophora", "complementadresse": "18-07", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.34167969275, 48.8859514292]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "e41f9197b080d992eaecceafcd7ebb3ee4ab70fb", "fields": {"geom_x_y": [48.8819364512, 2.39826376533], "libellefrancais": "Fr\u00eane", "objectid": 158021, "idemplacement": "00000509", "arrondissement": "PARIS 19E ARRDT", "circonferenceencm": 385.0, "hauteurenm": 24.0, "espece": "excelsior", "adresse": "SQUARE DE LA BUTTE DU CHAPEAU ROUGE / 11 BOULEVARD D ALGERIE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 127998.0, "genre": "Fraxinus", "complementadresse": "19-01", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.39826376533, 48.8819364512]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "94bdb6d78075b1a947f69aaee8aee832bd6944cc", "fields": {"geom_x_y": [48.8946228565, 2.3268523785], "libellefrancais": "Tulipier", "objectid": 167064, "idemplacement": "00000134", "arrondissement": "PARIS 17E ARRDT", "circonferenceencm": 240.0, "hauteurenm": 17.0, "espece": "tulipifera", "adresse": "SQUARE DES EPINETTES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 134212.0, "genre": "Liriodendron", "complementadresse": "17-03", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.3268523785, 48.8946228565]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "0c7112aa63f0e06c5240fa6d0fb0bf0e15ef7801", "fields": {"geom_x_y": [48.863263161, 2.24072476384], "libellefrancais": "Cypr\u00e8s Chauve", "objectid": 176282, "idemplacement": "000301001", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 311.0, "hauteurenm": 28.0, "espece": "distichum", "adresse": "GRANDE CASCADE - CARREFOUR DE LONGCHAMP", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002347.0, "genre": "Taxodium", "complementadresse": "16-07", "typeemplacement": "Arbre", "dateplantation": "1859-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.24072476384, 48.863263161]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "c8ad4c7266a236a2f5d9fc638f78747e5f114c34", "fields": {"geom_x_y": [48.8764740798, 2.25749975507], "libellefrancais": "Sequoia", "objectid": 179913, "idemplacement": "001001001", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 335.0, "hauteurenm": 28.0, "espece": "giganteum", "adresse": "ROUTE DE LA PORTE SAINT-JAMES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002387.0, "genre": "Sequoiadendron", "complementadresse": "16-12", "typeemplacement": "Arbre", "dateplantation": "1850-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25749975507, 48.8764740798]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "65723f211dd31a0023e1bc1c955409d08b6fa765", "fields": {"geom_x_y": [48.8476363794, 2.25274648217], "libellefrancais": "Arbre aux quarante \u00e9cus", "objectid": 187844, "idemplacement": "00050045", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 425.0, "hauteurenm": 25.0, "espece": "biloba", "adresse": "JARDIN DES SERRES D AUTEUIL / 1 AVENUE GORDON BENNETT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 136527.0, "genre": "Ginkgo", "typeemplacement": "Arbre", "dateplantation": "1895-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25274648217, 48.8476363794]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "f25c089940ba1362c9711fdd6939b4311d498791", "fields": {"geom_x_y": [48.8226040554, 2.33670121886], "libellefrancais": "H\u00eatre", "objectid": 195131, "idemplacement": "031302006", "arrondissement": "PARIS 14E ARRDT", "typeemplacement": "Arbre", "hauteurenm": 28.0, "espece": "sylvatica", "adresse": "PARC MONTSOURIS / 28 BOULEVARD JOURDAN", "circonferenceencm": 395.0, "stadedeveloppement": "M", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 113328.0, "genre": "Fagus", "varieteoucultivar": "''Riversii''", "complementadresse": "Grande pelouse", "domanialite": "Jardin", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.33670121886, 48.8226040554]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "fd3e84fcd0e5e57e540aa015be8328ad059053e2", "fields": {"geom_x_y": [48.8852311185, 2.3427055876], "libellefrancais": "Pterocarya", "objectid": 201674, "idemplacement": "00000033", "arrondissement": "PARIS 18E ARRDT", "circonferenceencm": 420.0, "hauteurenm": 31.0, "espece": "fraxinifolia", "adresse": "SQUARE LOUISE MICHEL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 112542.0, "genre": "Pterocarya", "complementadresse": "18-10", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.3427055876, 48.8852311185]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "fc595d4a2a2a1b760de6aac05d17a4f7eafb6d36", "fields": {"geom_x_y": [48.8476114157, 2.25314300756], "libellefrancais": "Sterculier", "objectid": 217284, "idemplacement": "00030001", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 132.0, "hauteurenm": 12.0, "espece": "simplex", "adresse": "JARDIN DES SERRES D AUTEUIL / 1 AVENUE GORDON BENNETT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 136446.0, "genre": "Firmiana", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25314300756, 48.8476114157]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "137b0b2a89eb27ab3666a6236e6841f3ae7d1f06", "fields": {"geom_x_y": [48.8336857764, 2.42111192826], "libellefrancais": "Arbre aux quarante \u00e9cus", "objectid": 11159, "idemplacement": "12-03", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 270.0, "hauteurenm": 25.0, "espece": "biloba", "adresse": "ECOLE DE CHIENS GUIDE D AVEUGLES - AVENUE DE SAINT-MAURICE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002368.0, "genre": "Ginkgo", "complementadresse": "12-03", "typeemplacement": "Arbre", "dateplantation": "1875-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.42111192826, 48.8336857764]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "ce095ad4951a7d6375ccaf8f45f3fef9701fbaa3", "fields": {"geom_x_y": [48.8460398085, 2.25406628275], "libellefrancais": "Micocoulier", "objectid": 30995, "idemplacement": "00060082", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 172.0, "hauteurenm": 9.0, "espece": "koraiensis", "adresse": "JARDIN DES SERRES D AUTEUIL / 1 AVENUE GORDON BENNETT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 114452.0, "genre": "Celtis", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25406628275, 48.8460398085]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "a009b186e8765bde762bd4c4ca30a2d9abcdbfce", "fields": {"geom_x_y": [48.8613685289, 2.25898794355], "libellefrancais": "H\u00eatre", "objectid": 31340, "idemplacement": "000801001", "arrondissement": "BOIS DE BOULOGNE", "typeemplacement": "Arbre", "hauteurenm": 10.0, "espece": "sylvatica", "adresse": "PETITE ILE DU LAC INFERIEUR", "circonferenceencm": 200.0, "stadedeveloppement": "M", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 2002393.0, "genre": "Fagus", "varieteoucultivar": "''Pendula''", "complementadresse": "16-11", "domanialite": "Jardin", "dateplantation": "1857-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25898794355, 48.8613685289]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "2c62ce8bb713c17c967560aee9465dcfa2f923aa", "fields": {"geom_x_y": [48.8552202311, 2.30078240398], "libellefrancais": "Micocoulier", "objectid": 88855, "idemplacement": "P0090518", "arrondissement": "PARIS 7E ARRDT", "circonferenceencm": 250.0, "hauteurenm": 19.0, "espece": "occidentalis", "adresse": "JARDIN DU CHAMP DE MARS", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 106662.0, "genre": "Celtis", "complementadresse": "07-09", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.30078240398, 48.8552202311]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "4f7608afc5be126ff472a6571ba61e7ddf16d38c", "fields": {"geom_x_y": [48.8217882346, 2.3228497157], "libellefrancais": "H\u00eatre", "objectid": 97006, "idemplacement": "00000174", "arrondissement": "PARIS 14E ARRDT", "typeemplacement": "Arbre", "hauteurenm": 15.0, "espece": "sylvatica", "adresse": "SQUARE DU SERMENT DE KOUFRA", "circonferenceencm": 310.0, "stadedeveloppement": "M", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 121632.0, "genre": "Fagus", "varieteoucultivar": "''Atropunicea''", "complementadresse": "14-09", "domanialite": "Jardin", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.3228497157, 48.8217882346]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "273fff630c305b2ce84fcc7271b055600ca30a99", "fields": {"geom_x_y": [48.8465006206, 2.25226717382], "libellefrancais": "Tulipier", "objectid": 196316, "idemplacement": "00040037", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 207.0, "hauteurenm": 23.0, "espece": "tulipifera", "adresse": "JARDIN DES SERRES D AUTEUIL / 1 AVENUE GORDON BENNETT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 136321.0, "genre": "Liriodendron", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25226717382, 48.8465006206]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "07b0bed6d82c2770b542252b740df2f116b678b6", "fields": {"geom_x_y": [48.8574173085, 2.31472511735], "libellefrancais": "Magnolia", "objectid": 123231, "idemplacement": "00000034", "arrondissement": "PARIS 7E ARRDT", "circonferenceencm": 155.0, "hauteurenm": 13.0, "espece": "grandiflora", "adresse": "SQUARE D''AJACCIO", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 109016.0, "genre": "Magnolia", "complementadresse": "07-10", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.31472511735, 48.8574173085]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "d5de41868b181d3ec47918df540a070aeab8e932", "fields": {"geom_x_y": [48.8292532091, 2.41318205865], "libellefrancais": "Platane", "objectid": 176910, "idemplacement": "12-30", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 504.0, "hauteurenm": 27.0, "espece": "x hispanica", "adresse": "ROUTE DE LA CEINTURE DU LAC DAUMESNIL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002357.0, "genre": "Platanus", "complementadresse": "12-30", "typeemplacement": "Arbre", "dateplantation": "1871-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.41318205865, 48.8292532091]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "ae9706c8f66508edc34bfdc1b56fdf1361d7d16c", "fields": {"geom_x_y": [48.8557944122, 2.30025394143], "libellefrancais": "Plaqueminier", "objectid": 31652, "idemplacement": "P0090570", "arrondissement": "PARIS 7E ARRDT", "circonferenceencm": 162.0, "hauteurenm": 13.0, "espece": "lotus", "adresse": "JARDIN DU CHAMP DE MARS", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 106714.0, "genre": "Diospyros", "complementadresse": "07-06", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.30025394143, 48.8557944122]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "7e491cee1fd63f8dcf30c25ed8b8cca8e8eb6255", "fields": {"geom_x_y": [48.8542732882, 2.33573525468], "libellefrancais": "Paulownia", "objectid": 51488, "idemplacement": "000101001", "arrondissement": "PARIS 6E ARRDT", "circonferenceencm": 295.0, "hauteurenm": 20.0, "espece": "tomentosa", "adresse": "RUE DE FURSTEMBERG", "domanialite": "Alignement", "pepiniere": "Guillot Bourne", "stadedeveloppement": "M", "remarquable": "1", "idbase": 216766.0, "genre": "Paulownia", "typeemplacement": "Arbre", "dateplantation": "1999-01-25T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.33573525468, 48.8542732882]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "e4d84a082ebd5d113f11d660e598f13a3092e2aa", "fields": {"geom_x_y": [48.8875264747, 2.31617875419], "libellefrancais": "Platane", "objectid": 98407, "idemplacement": "00000187", "arrondissement": "PARIS 17E ARRDT", "circonferenceencm": 442.0, "hauteurenm": 30.0, "espece": "orientalis", "adresse": "SQUARE DES BATIGNOLLES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 135378.0, "genre": "Platanus", "complementadresse": "17-08", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.31617875419, 48.8875264747]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "f3933cf4f375e28b7252c26b2fe8bcebd689ad87", "fields": {"geom_x_y": [48.8303745987, 2.41349281717], "libellefrancais": "Erable", "objectid": 111321, "idemplacement": "12-05", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 203.0, "hauteurenm": 14.0, "espece": "opalus", "adresse": "ILE DE BERCY / LAC DAUMESNIL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002358.0, "genre": "Acer", "complementadresse": "12-05", "typeemplacement": "Arbre", "dateplantation": "1870-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.41349281717, 48.8303745987]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "8a5d375893a0fd5466b894030618f6f10eeea1fa", "fields": {"geom_x_y": [48.831216573, 2.41167739693], "libellefrancais": "Cryptomeria", "objectid": 125656, "idemplacement": "12-13", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 122.0, "hauteurenm": 13.0, "espece": "japonica", "adresse": "ILE DE BERCY / LAC DAUMESNIL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002359.0, "genre": "Cryptomeria", "complementadresse": "12-13", "typeemplacement": "Arbre", "dateplantation": "1893-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.41167739693, 48.831216573]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "809e6e6f2ba91ef4c583bb6da10c5875456f0108", "fields": {"geom_x_y": [48.8426511702, 2.29608898567], "libellefrancais": "Micocoulier", "objectid": 130466, "idemplacement": "00000151", "arrondissement": "PARIS 15E ARRDT", "circonferenceencm": 225.0, "hauteurenm": 18.0, "espece": "australis", "adresse": "SQUARE SAINT-LAMBERT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 112222.0, "genre": "Celtis", "complementadresse": "15-05", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.29608898567, 48.8426511702]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "f9e14ac2a494a56e22117b3e2beb1ef8231642a0", "fields": {"geom_x_y": [48.8648374901, 2.36062553598], "libellefrancais": "Noisetier de Byzance", "objectid": 133924, "idemplacement": "00000024", "arrondissement": "PARIS 3E ARRDT", "circonferenceencm": 224.0, "hauteurenm": 25.0, "espece": "colurna", "adresse": "SQUARE DU TEMPLE / 50 RUE DE BRETAGNE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 116886.0, "genre": "Corylus", "complementadresse": "03-05", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.36062553598, 48.8648374901]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "7b232f6313a9d86641bc67c105c0e4413f39f2e9", "fields": {"geom_x_y": [48.8650355075, 2.40093175935], "libellefrancais": "Marronnier", "objectid": 142145, "idemplacement": "000102006", "arrondissement": "PARIS 20E ARRDT", "circonferenceencm": 380.0, "hauteurenm": 26.0, "espece": "hippocastanum", "adresse": "SQUARE EDOUARD VAILLANT / 50 AVENUE GAMBETTA", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 121923.0, "genre": "Aesculus", "complementadresse": "20-04", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.40093175935, 48.8650355075]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "30fa663d65e618148e1857b9f14f7a43cc9be015", "fields": {"geom_x_y": [48.8800797215, 2.38570950523], "libellefrancais": "Marronnier", "objectid": 212693, "idemplacement": "G0380001", "arrondissement": "PARIS 19E ARRDT", "circonferenceencm": 330.0, "hauteurenm": 22.0, "espece": "hippocastanum", "adresse": "PARC DES BUTTES CHAUMONT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 102027.0, "genre": "Aesculus", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.38570950523, 48.8800797215]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "1bebb2c1d98a0bdbb96b30822df1026c20d07dcb", "fields": {"geom_x_y": [48.847146744, 2.25198353717], "libellefrancais": "Pterocarya", "objectid": 221316, "idemplacement": "00040026", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 540.0, "hauteurenm": 30.0, "espece": "stenoptera", "adresse": "JARDIN DES SERRES D AUTEUIL / 1 AVENUE GORDON BENNETT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 136310.0, "genre": "Pterocarya", "typeemplacement": "Arbre", "dateplantation": "1905-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25198353717, 48.847146744]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "f2e8250bd66e6f7f1236d0b47533582399e98e22", "fields": {"geom_x_y": [48.8241339366, 2.33796569737], "libellefrancais": "Platane", "objectid": 222447, "idemplacement": "0417B1018", "arrondissement": "PARIS 14E ARRDT", "circonferenceencm": 370.0, "hauteurenm": 25.0, "espece": "x hispanica", "adresse": "PARC MONTSOURIS / 28 BOULEVARD JOURDAN", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 112897.0, "genre": "Platanus", "complementadresse": "Talus du Lac", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.33796569737, 48.8241339366]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "309d3131eb514da7905dc070bda4bf3377936081", "fields": {"geom_x_y": [48.857837941, 2.29331862801], "libellefrancais": "Platane", "objectid": 216, "idemplacement": "P00206011", "arrondissement": "PARIS 7E ARRDT", "circonferenceencm": 695.0, "hauteurenm": 27.0, "espece": "x hispanica", "adresse": "JARDIN DU CHAMP DE MARS / C01", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 108095.0, "genre": "Platanus", "complementadresse": "07-08", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.29331862801, 48.857837941]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "a5ac4387b5caa92ef4835547f436b5d071ecbb6d", "fields": {"geom_x_y": [48.8320775848, 2.41181713566], "libellefrancais": "If", "objectid": 30906, "idemplacement": "12-08", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 101.0, "hauteurenm": 5.0, "espece": "baccata", "adresse": "ILE DE BERCY / LAC DAUMESNIL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 2002362.0, "genre": "Taxus", "complementadresse": "12-08", "typeemplacement": "Arbre", "dateplantation": "1870-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.41181713566, 48.8320775848]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "54c5ec73d7b186c9db9f014d0ae331cec8129e18", "fields": {"geom_x_y": [48.8231288576, 2.33870925824], "libellefrancais": "Arbre aux quarante \u00e9cus", "objectid": 38268, "idemplacement": "0417A2001", "arrondissement": "PARIS 14E ARRDT", "circonferenceencm": 425.0, "hauteurenm": 25.0, "espece": "biloba", "adresse": "PARC MONTSOURIS / 28 BOULEVARD JOURDAN", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 112946.0, "genre": "Ginkgo", "complementadresse": "Talus du Lac", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.33870925824, 48.8231288576]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "ac23570cbeb4107c684021b5a3e02148e99da3df", "fields": {"geom_x_y": [48.8201255055, 2.4451177535], "libellefrancais": "C\u00e8dre", "objectid": 44480, "idemplacement": "12-16", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 420.0, "hauteurenm": 22.0, "espece": "libani", "adresse": "LAC DE GRAVELLE - ROUTE DU PESAGE / ROUTE DE LA TOURELLE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002384.0, "genre": "Cedrus", "complementadresse": "12-16", "typeemplacement": "Arbre", "dateplantation": "1829-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.4451177535, 48.8201255055]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "08ec8e6a553cdcea8bea1971c530a0faaff7a43b", "fields": {"geom_x_y": [48.8471733403, 2.25286614408], "libellefrancais": "Ch\u00eane", "objectid": 54661, "idemplacement": "00040054", "arrondissement": "PARIS 16E ARRDT", "circonferenceencm": 217.0, "hauteurenm": 11.0, "espece": "suber subsp. Occidentalis", "adresse": "JARDIN DES SERRES D AUTEUIL / 1 AVENUE GORDON BENNETT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 136338.0, "genre": "Quercus", "typeemplacement": "Arbre", "dateplantation": "1895-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.25286614408, 48.8471733403]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "d530cd7834e204bca75f76ecfa828dcb988170dc", "fields": {"geom_x_y": [48.8338187551, 2.41121935815], "libellefrancais": "Platane", "objectid": 59263, "idemplacement": "12-14", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 482.0, "hauteurenm": 26.0, "espece": "x hispanica", "adresse": "ROUTE DE LA CEINTURE DU LAC DAUMESNIL - LAC DAUMESNIL / PORTE DOREE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002366.0, "genre": "Platanus", "complementadresse": "12-14", "typeemplacement": "Arbre", "dateplantation": "1860-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.41121935815, 48.8338187551]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "54d5941bf56227d315594634943457f83c56dd8a", "fields": {"geom_x_y": [48.8428258374, 2.29728541016], "libellefrancais": "Aulne", "objectid": 65467, "idemplacement": "00000087", "arrondissement": "PARIS 15E ARRDT", "circonferenceencm": 223.0, "hauteurenm": 19.0, "espece": "n. sp.", "adresse": "SQUARE SAINT-LAMBERT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 111640.0, "genre": "Alnus", "complementadresse": "15-02", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.29728541016, 48.8428258374]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "a842f43cfcb90ceaecf1aa69ef77903449d24791", "fields": {"geom_x_y": [48.8614740968, 2.35437470573], "libellefrancais": "Marronnier", "objectid": 69809, "idemplacement": "00000001", "arrondissement": "PARIS 3E ARRDT", "circonferenceencm": 72.0, "hauteurenm": 8.0, "espece": "hippocastanum", "adresse": "JARDIN ANNE FRANCK / 14 IMPASSE BERTHAUD", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "J", "remarquable": "1", "idbase": 134435.0, "genre": "Aesculus", "typeemplacement": "Arbre", "dateplantation": "2006-01-01T01:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.35437470573, 48.8614740968]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "792cfb3197b72bbb6e66d40134a4b8fc3be440de", "fields": {"geom_x_y": [48.8732484628, 2.24887874572], "libellefrancais": "Arbre aux mouchoirs", "objectid": 111322, "idemplacement": "000701006", "arrondissement": "BOIS DE BOULOGNE", "circonferenceencm": 120.0, "hauteurenm": 15.0, "espece": "involucrata", "adresse": "PARC DE BAGATELLE - ALLEE DE LONGCHAMP / ROUTE DE SEVRES A NEUILLY", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 2002355.0, "genre": "Davidia", "complementadresse": "16-20", "typeemplacement": "Arbre", "dateplantation": "1906-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.24887874572, 48.8732484628]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "a615157a6acb6154a06d60fcd38a0955dfa22b7c", "fields": {"geom_x_y": [48.8433078707, 2.44974260862], "libellefrancais": "Ch\u00eane", "objectid": 116004, "idemplacement": "12-26", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 464.0, "hauteurenm": 30.0, "espece": "robur", "adresse": "FORT NEUF - AVENUE DE LA PEPINIERE / ROUTE DU GRAND MARECHAL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002375.0, "genre": "Quercus", "complementadresse": "12-26", "typeemplacement": "Arbre", "dateplantation": "1815-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.44974260862, 48.8433078707]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "d509f7eeb30c38e374b1c6c9854be73a04330146", "fields": {"geom_x_y": [48.8767091018, 2.33192988137], "libellefrancais": "Pterocarya", "objectid": 120254, "idemplacement": "00000050", "arrondissement": "PARIS 9E ARRDT", "circonferenceencm": 340.0, "hauteurenm": 26.0, "espece": "fraxinifolia", "adresse": "SQUARE D''ESTIENNE D''ORVES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 323350.0, "genre": "Pterocarya", "complementadresse": "09-01", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.33192988137, 48.8767091018]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "464fcfa2b104a83e4c72136ca722a76989e727b6", "fields": {"geom_x_y": [48.8615163386, 2.39906598184], "libellefrancais": "Chicot du Canada", "objectid": 131169, "idemplacement": "D00000077024", "arrondissement": "PARIS 20E ARRDT", "typeemplacement": "Arbre", "hauteurenm": 10.0, "espece": "dioica", "adresse": "CIMETIERE DU PERE LACHAISE / DIV 77", "circonferenceencm": 149.0, "stadedeveloppement": "A", "pepiniere": "Inconnue", "remarquable": "1", "idbase": 158609.0, "genre": "Gymnocladus", "varieteoucultivar": "''Variegata''", "complementadresse": "20-17", "domanialite": "CIMETIERE", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.39906598184, 48.8615163386]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "2f95de0e8314b7b3996873fd45c4254dc1f564b7", "fields": {"geom_x_y": [48.8797546767, 2.38066315428], "libellefrancais": "Sequoia", "objectid": 132267, "idemplacement": "K0660013", "arrondissement": "PARIS 19E ARRDT", "circonferenceencm": 505.0, "hauteurenm": 26.0, "espece": "giganteum", "adresse": "PARC DES BUTTES CHAUMONT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 102837.0, "genre": "Sequoiadendron", "complementadresse": "19-04", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.38066315428, 48.8797546767]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "d161c760bd34f99eccdf47109cb822d6872fae10", "fields": {"geom_x_y": [48.8527676299, 2.35102356684], "libellefrancais": "Noisetier de Byzance", "objectid": 150195, "idemplacement": "00000054", "arrondissement": "PARIS 4E ARRDT", "circonferenceencm": 210.0, "hauteurenm": 19.0, "espece": "colurna", "adresse": "SQUARE JEAN XXIII / 2 QUAI DE L ARCHEVECHE", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 125046.0, "genre": "Corylus", "complementadresse": "04-04", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.35102356684, 48.8527676299]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "3f5384eb1b8938d7ce04848e7bc7f33a4c595b92", "fields": {"geom_x_y": [48.8814687366, 2.38368012582], "libellefrancais": "Sophora", "objectid": 169950, "idemplacement": "I1090024", "arrondissement": "PARIS 19E ARRDT", "circonferenceencm": 408.0, "hauteurenm": 12.0, "espece": "japonica", "adresse": "PARC DES BUTTES CHAUMONT", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 101752.0, "genre": "Sophora", "complementadresse": "19-06", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.38368012582, 48.8814687366]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "a4189998ce0bbb09d0f024e793009ed3f1a7ef8f", "fields": {"geom_x_y": [48.8330296265, 2.35069308175], "libellefrancais": "Marronnier", "objectid": 185552, "idemplacement": "00010270", "arrondissement": "PARIS 13E ARRDT", "circonferenceencm": 360.0, "hauteurenm": 15.0, "espece": "hippocastanum", "adresse": "SQUARE RENE LE GALL", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 104841.0, "genre": "Aesculus", "complementadresse": "13-01", "typeemplacement": "Arbre", "dateplantation": "1894-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.35069308175, 48.8330296265]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "64c98951521373b7f29da88114b105687121935f", "fields": {"geom_x_y": [48.8940926568, 2.32633191622], "libellefrancais": "Marronnier", "objectid": 188680, "idemplacement": "00000125", "arrondissement": "PARIS 17E ARRDT", "circonferenceencm": 284.0, "hauteurenm": 20.0, "espece": "pavia", "adresse": "SQUARE DES EPINETTES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 134203.0, "genre": "Aesculus", "complementadresse": "17-04", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.32633191622, 48.8940926568]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "c037a215d7ce33480297722dc76b7f5f4c32a10c", "fields": {"geom_x_y": [48.8395251386, 2.43334109188], "libellefrancais": "Platane", "objectid": 201343, "idemplacement": "12-01", "arrondissement": "BOIS DE VINCENNES", "circonferenceencm": 607.0, "hauteurenm": 30.0, "espece": "x hispanica", "adresse": "SQUARE CARNOT - AVENUE DAUMESNIL / ESPLANADE DU CHATEAU DE VINCENNES", "domanialite": "Jardin", "pepiniere": "Inconnue", "stadedeveloppement": "M", "remarquable": "1", "idbase": 2002371.0, "genre": "Platanus", "complementadresse": "12-01", "typeemplacement": "Arbre", "dateplantation": "1918-01-01T00:00:00+00:00"}, "geometry": {"type": "Point", "coordinates": [2.43334109188, 48.8395251386]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}, {"datasetid": "arbresremarquablesparis", "recordid": "60a3c85a83060aeb1545623885745fe27e3ea0e8", "fields": {"geom_x_y": [48.857749011, 2.33940394029], "libellefrancais": "Saule", "objectid": 202913, "idemplacement": "000402002", "arrondissement": "PARIS 1ER ARRDT", "circonferenceencm": 120.0, "hauteurenm": 14.0, "espece": "babylonica", "adresse": "QUAI DE L HORLOGE", "domanialite": "Alignement", "pepiniere": "Inconnue", "stadedeveloppement": "A", "remarquable": "1", "idbase": 230281.0, "genre": "Salix", "typeemplacement": "Arbre", "dateplantation": "1700-01-01T00:09:21+00:00"}, "geometry": {"type": "Point", "coordinates": [2.33940394029, 48.857749011]}, "record_timestamp": "2019-10-04T10:00:41.063000+00:00"}]} \ No newline at end of file diff --git a/examples/files/enrichment_01.png b/examples/files/enrichment_01.png deleted file mode 100644 index 00760724b..000000000 Binary files a/examples/files/enrichment_01.png and /dev/null differ diff --git a/examples/files/london_stations.xls b/examples/files/london_stations.xls deleted file mode 100644 index dac26c8f1..000000000 Binary files a/examples/files/london_stations.xls and /dev/null differ diff --git a/examples/files/paris_wifi_services.json b/examples/files/paris_wifi_services.json deleted file mode 100644 index b7f28801d..000000000 --- a/examples/files/paris_wifi_services.json +++ /dev/null @@ -1 +0,0 @@ -{"nhits": 252, "parameters": {"dataset": "sites-disposant-du-service-paris-wi-fi", "timezone": "UTC", "rows": 1000, "format": "json", "facet": ["cp", "idpw", "etat2"]}, "records": [{"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "31c3bfd9ad944ec1bea07cbeb28dc6bb0653e530", "fields": {"cp": "75010", "nom_site": "MEDIATHEQUE FRANCOISE SAGAN", "arc_adresse": "8 RUE LEON SCHWARTZENBERG", "geo_point_2d": [48.8754298708, 2.35366677297], "nombre_de_borne_wifi": 11, "idpw": "PW0147", "geo_shape": {"type": "Point", "coordinates": [2.353666772968424, 48.87542987081135]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35366677297, 48.8754298708]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "322b5836dd2af4413728e67dc4432cf83dde06b1", "fields": {"cp": "75020", "nom_site": "PARC DE BELLEVILLE (PARIS NATURE MAISON DE L'AIR)", "arc_adresse": "27 RUE PIAT", "geo_point_2d": [48.8716051488, 2.38492475051], "nombre_de_borne_wifi": 1, "idpw": "PW0168", "geo_shape": {"type": "Point", "coordinates": [2.384924750509342, 48.87160514880642]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38492475051, 48.8716051488]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "ec66708cf6e56caced0ae6485f68c0a44167636d", "fields": {"cp": "75013", "nom_site": "JARDIN BRASSAI", "arc_adresse": "59 BOULEVARD AUGUSTE BLANQUI", "geo_point_2d": [48.8292152156, 2.34951229427], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.349512294267843, 48.82921521555871]}, "etat2": "En \u00e9tude"}, "geometry": {"type": "Point", "coordinates": [2.34951229427, 48.8292152156]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "6f37d419ab91b1d9b2972eafe2f5585c4d51f358", "fields": {"cp": "75007", "nom_site": "BERGES RIVE GAUCHE - JARDIN FLOTTANT", "arc_adresse": "PORT DU GROS CAILLOU", "geo_point_2d": [48.8629641751, 2.30452468194], "nombre_de_borne_wifi": 3, "idpw": "PW0189", "geo_shape": {"type": "Point", "coordinates": [2.30452468193794, 48.86296417505911]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.30452468194, 48.8629641751]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "76280ce4b86872e0c0696c047c1d140b66c6868f", "fields": {"cp": "75016", "nom_site": "BIBLIOTHEQUE GERMAINE TILLION", "arc_adresse": "6 RUE DU COMMANDANT SCHLOESING", "geo_point_2d": [48.8618363826, 2.28427079122], "nombre_de_borne_wifi": 2, "idpw": "PW0113", "geo_shape": {"type": "Point", "coordinates": [2.284270791218422, 48.86183638257241]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.28427079122, 48.8618363826]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "393ef2921b3d1a232c84d34f75eded724941f4ef", "fields": {"cp": "75016", "nom_site": "JARDIN DU TROCADERO", "arc_adresse": "1 PLACE DU ONZE NOVEMBRE 1918", "geo_point_2d": [48.8609372147, 2.28934994437], "nombre_de_borne_wifi": 1, "idpw": "PW0175", "geo_shape": {"type": "Point", "coordinates": [2.289349944365957, 48.860937214689706]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.28934994437, 48.8609372147]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "a806fd279848b786c29f42a52d1284bdbd2fe9ca", "fields": {"cp": "75020", "nom_site": "PARC DE BELLEVILLE - 1", "arc_adresse": "45 RUE DES COURONNES", "geo_point_2d": [48.8705904639, 2.38423775006], "nombre_de_borne_wifi": 1, "idpw": "PW0057", "geo_shape": {"type": "Point", "coordinates": [2.384237750061386, 48.87059046386752]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38423775006, 48.8705904639]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "dcf8b83c4787769d0e01cee37ad06c6e9a9e406f", "fields": {"cp": "75014", "nom_site": "SQUARE DU CHANOINE VIOLLET", "arc_adresse": "72 RUE DU MOULIN VERT", "geo_point_2d": [48.8312962023, 2.32009649026], "nombre_de_borne_wifi": 1, "idpw": "PW0185", "geo_shape": {"type": "Point", "coordinates": [2.32009649025955, 48.831296202302845]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.32009649026, 48.8312962023]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "e7df10dca3341a4b5b840f11750d5fed85590a3e", "fields": {"cp": "75004", "nom_site": "SQUARE JEAN XXIII - 2", "arc_adresse": "RUE DU CLOITRE NOTRE DAME", "geo_point_2d": [48.8525014751, 2.35079596201], "nombre_de_borne_wifi": 1, "idpw": "PW0067", "geo_shape": {"type": "Point", "coordinates": [2.3507959620076813, 48.85250147506819]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35079596201, 48.8525014751]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "3be4d78e9f94f9d7c1084c2692aa132c29a5999a", "fields": {"cp": "75002", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 2", "arc_adresse": "23 RUE GRENETA", "geo_point_2d": [48.8650814049, 2.35054940319], "nombre_de_borne_wifi": 1, "idpw": "PW0036", "geo_shape": {"type": "Point", "coordinates": [2.35054940319118, 48.8650814049341]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35054940319, 48.8650814049]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "98a9cc89a5a0206de9c78760d19f55a74cacfe73", "fields": {"cp": "75003", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 3/4", "arc_adresse": "3 RUE EUGENE SPULLER", "geo_point_2d": [48.8640250421, 2.36218654489], "nombre_de_borne_wifi": 1, "idpw": "PW0019-1", "geo_shape": {"type": "Point", "coordinates": [2.362186544891376, 48.86402504205692]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36218654489, 48.8640250421]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "73e048ad79136ebcafdb137179fff95607787d01", "fields": {"cp": "75010", "nom_site": "GYMNASE MARIE PARADIS", "arc_adresse": "11 SQUARE ALBAN SATRAGNE", "geo_point_2d": [48.8754539407, 2.35524842818], "nombre_de_borne_wifi": 1, "idpw": "PW0097", "geo_shape": {"type": "Point", "coordinates": [2.355248428182183, 48.87545394069123]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35524842818, 48.8754539407]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "774f38cb4feba02d93241fde2dc574e2da775daf", "fields": {"cp": "75018", "nom_site": "BIBLIOTHEQUE JACQUELINE DE ROMILLY", "arc_adresse": "16-30 AVENUE DE LA PORTE MONTMARTRE", "geo_point_2d": [48.9003798743, 2.3358735009], "nombre_de_borne_wifi": 2, "idpw": "PW0198", "geo_shape": {"type": "Point", "coordinates": [2.335873500895439, 48.900379874332515]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3358735009, 48.9003798743]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "572c655110a6080091a2b6a6428b2e31f1d70c69", "fields": {"cp": "75019", "nom_site": "BIBLIOTHEQUE PLACE DES FETES", "arc_adresse": "18 RUE JANSSEN", "geo_point_2d": [48.8793648409, 2.39763758371], "nombre_de_borne_wifi": 3, "idpw": "PW0008", "geo_shape": {"type": "Point", "coordinates": [2.397637583708676, 48.87936484092137]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.39763758371, 48.8793648409]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "2ddd4afb43126213aacfd14a03a7f56ee45d9487", "fields": {"cp": "75015", "nom_site": "CENTRE SPORTIF SUZANNE LENGLEN - ENTREE", "arc_adresse": "2 RUE LOUIS ARMAND", "geo_point_2d": [48.8330706432, 2.27657635711], "nombre_de_borne_wifi": 1, "idpw": "PW0173-1", "geo_shape": {"type": "Point", "coordinates": [2.276576357106314, 48.83307064322776]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.27657635711, 48.8330706432]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "5f61116b2fdbb205bfa2e4aba3dfecc15fa253c8", "fields": {"cp": "75011", "nom_site": "CENTRE SPORTIF COUR DES LIONS", "arc_adresse": "9-11 RUE ALPHONSE BAUDIN", "geo_point_2d": [48.8606741278, 2.37034386692], "nombre_de_borne_wifi": 1, "idpw": "PW0076", "geo_shape": {"type": "Point", "coordinates": [2.370343866923958, 48.86067412777189]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.37034386692, 48.8606741278]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "8966e566892f9b86f92a598b1309038331b213dc", "fields": {"cp": "75011", "nom_site": "SQUARE CHARONNE", "arc_adresse": "159 RUE DE CHARONNE", "geo_point_2d": [48.8555919367, 2.38959554225], "nombre_de_borne_wifi": 1, "idpw": "PW0160", "geo_shape": {"type": "Point", "coordinates": [2.389595542248922, 48.855591936732615]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38959554225, 48.8555919367]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "4e593c584d265bc9837505db3262cc5edaf74c52", "fields": {"cp": "75013", "nom_site": "SQUARE RENE LEGALL", "arc_adresse": "43 RUE CORVISART", "geo_point_2d": [48.8322068, 2.34741976643], "nombre_de_borne_wifi": 1, "idpw": "PW0069", "geo_shape": {"type": "Point", "coordinates": [2.347419766430832, 48.83220679997317]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34741976643, 48.8322068]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "bbe91ac9da0e26322391e6a6f8ced8058bffd0c8", "fields": {"cp": "75010", "nom_site": "JARDIN VILLEMIN", "arc_adresse": "8 RUE DES RECOLLETS", "geo_point_2d": [48.8744988283, 2.36190493854], "nombre_de_borne_wifi": 2, "idpw": "PW0164", "geo_shape": {"type": "Point", "coordinates": [2.361904938537223, 48.87449882830307]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36190493854, 48.8744988283]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "d6780b9cb76377545816cec2b21631baa7143030", "fields": {"cp": "75010", "nom_site": "MAIRIE DU 10 EME", "arc_adresse": "72 RUE DU FAUBOURG SAINT MARTIN", "geo_point_2d": [48.8717845119, 2.35738264495], "nombre_de_borne_wifi": 3, "idpw": "PW0010", "geo_shape": {"type": "Point", "coordinates": [2.357382644948622, 48.87178451190306]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35738264495, 48.8717845119]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "623bb64a89220c58b714a2fe7482e27534b8a874", "fields": {"cp": "75002", "nom_site": "MAIRIE DU 2 EME", "arc_adresse": "8 RUE DE LA BANQUE", "geo_point_2d": [48.8668345275, 2.34045079989], "nombre_de_borne_wifi": 1, "idpw": "PW0034", "geo_shape": {"type": "Point", "coordinates": [2.340450799891371, 48.86683452754676]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34045079989, 48.8668345275]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "dec645430584c090051c5c4fefed55bc7d9c0ab9", "fields": {"cp": "75012", "nom_site": "PARC DE BERCY (MAISON DU LAC)", "arc_adresse": "1 COUR CHAMONARD", "geo_point_2d": [48.8350786407, 2.38453222624], "nombre_de_borne_wifi": 1, "idpw": "PW0058-1", "geo_shape": {"type": "Point", "coordinates": [2.384532226240482, 48.83507864071959]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38453222624, 48.8350786407]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "815b575a524eb7d96d67acf2a31822fcb755e616", "fields": {"cp": "75013", "nom_site": "PARC DE CHOISY", "arc_adresse": "160 AVENUE DE CHOISY", "geo_point_2d": [48.8281858231, 2.3586267374], "nombre_de_borne_wifi": 2, "idpw": "PW0157", "geo_shape": {"type": "Point", "coordinates": [2.358626737402552, 48.82818582306963]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3586267374, 48.8281858231]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "6e80534cd15531f05ca892e0f4a701b0c733719d", "fields": {"cp": "75019", "nom_site": "PARC DES BUTTES CHAUMONT - CARREL", "arc_adresse": "4 PLACE ARMAND CARREL", "geo_point_2d": [48.8827940633, 2.3827054256], "nombre_de_borne_wifi": 2, "idpw": "PW0182", "geo_shape": {"type": "Point", "coordinates": [2.382705425599561, 48.882794063344434]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3827054256, 48.8827940633]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "6e902a24f007b4c587cc43c65efb66e64b2f1702", "fields": {"cp": "75004", "nom_site": "BERGES RIVE DROITE - LES NAUTES", "arc_adresse": "BERGE DE SEINE RIVE DROITE - 5 QUAI DES CELESTINS", "geo_point_2d": [48.8523533398, 2.3603109745], "nombre_de_borne_wifi": 1, "idpw": "PW0150", "geo_shape": {"type": "Point", "coordinates": [2.360310974496217, 48.8523533398358]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3603109745, 48.8523533398]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "659e4babab12e385ea90c49b00de14f14697113d", "fields": {"cp": "75019", "nom_site": "SQUARE DE LA MARSEILLAISE", "arc_adresse": "1B RUE DE LA MARSEILLAISE", "geo_point_2d": [48.8872868418, 2.39806224303], "nombre_de_borne_wifi": 1, "idpw": "PW0064", "geo_shape": {"type": "Point", "coordinates": [2.398062243029122, 48.88728684181337]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.39806224303, 48.8872868418]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "6456d57e214bc1fd55e4e937e896dcd39d46356d", "fields": {"cp": "75011", "nom_site": "SQUARE ORILLON JULES VERNES", "arc_adresse": "19B RUE DE L ORILLON", "geo_point_2d": [48.8698926807, 2.37511728428], "nombre_de_borne_wifi": 1, "idpw": "PW0056", "geo_shape": {"type": "Point", "coordinates": [2.375117284276381, 48.86989268070317]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.37511728428, 48.8698926807]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "faacc5247b99988cc58af8648b25cb4e2cfaa6e9", "fields": {"cp": "75017", "nom_site": "CENTRE SPORTIF LEON BIANCOTTO", "arc_adresse": "6 AVENUE DE LA PORTE DE CLICHY", "geo_point_2d": [48.8957682345, 2.31183047537], "nombre_de_borne_wifi": 1, "idpw": "PW0098", "geo_shape": {"type": "Point", "coordinates": [2.311830475367834, 48.89576823451992]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.31183047537, 48.8957682345]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "b8f970f371eb9d6c831fcd0364cd38165c7bbcbe", "fields": {"cp": "75012", "nom_site": "BIBLIOTHEQUE SAINT ELOI", "arc_adresse": "23 RUE DU COLONEL ROZANOFF", "geo_point_2d": [48.8455291572, 2.38711098608], "nombre_de_borne_wifi": 2, "idpw": "PW0141", "geo_shape": {"type": "Point", "coordinates": [2.387110986075708, 48.84552915718271]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38711098608, 48.8455291572]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "1569cac0ca6e53d9e6a401e64bc4f425d503085a", "fields": {"cp": "75013", "nom_site": "BIBLIOTHEQUE MELVILLE ET MARGUERITE DURAND", "arc_adresse": "79 RUE NATIONALE", "geo_point_2d": [48.8267869711, 2.36643991184], "nombre_de_borne_wifi": 3, "geo_shape": {"type": "Point", "coordinates": [2.366439911836686, 48.82678697107449]}, "etat2": "Ferm\u00e9 pour travaux"}, "geometry": {"type": "Point", "coordinates": [2.36643991184, 48.8267869711]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "1245ed3b4d23c1eace55b693656cc290295e1fdf", "fields": {"cp": "75018", "nom_site": "ESPACE GLISSE DES FILLETTES", "arc_adresse": "54 BOULEVARD NEY", "geo_point_2d": [48.8987598139, 2.36350693511], "nombre_de_borne_wifi": 1, "idpw": "PW0093", "geo_shape": {"type": "Point", "coordinates": [2.363506935109957, 48.89875981393057]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36350693511, 48.8987598139]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "8bc4cb18b38a72cf4d3d4cff8891095798d6437f", "fields": {"cp": "75018", "nom_site": "BIBLIOTHEQUE ROBERT SABATIER", "arc_adresse": "29 RUE HERMEL", "geo_point_2d": [48.891536321, 2.34443632011], "nombre_de_borne_wifi": 3, "geo_shape": {"type": "Point", "coordinates": [2.344436320114187, 48.89153632102747]}, "etat2": "Ferm\u00e9 pour travaux"}, "geometry": {"type": "Point", "coordinates": [2.34443632011, 48.891536321]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "9962e78b7eaccbe3a8483bccd252f88b084e1134", "fields": {"cp": "75004", "nom_site": "HOTEL DE VILLE 3EME", "arc_adresse": "4 PLACE DE L HOTEL DE VILLE", "geo_point_2d": [48.8563280136, 2.35290178599], "nombre_de_borne_wifi": 3, "idpw": "PW0122-4", "geo_shape": {"type": "Point", "coordinates": [2.352901785985004, 48.856328013556855]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35290178599, 48.8563280136]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "e52e79a14daff0f8dcac9106a01c7aecd70c12c3", "fields": {"cp": "75013", "nom_site": "BIBLIOTHEQUE GLACIERE MARINA TSVETA\u00cfEVA", "arc_adresse": "132 RUE DE LA GLACIERE", "geo_point_2d": [48.8273180542, 2.34199371698], "nombre_de_borne_wifi": 2, "idpw": "PW0125", "geo_shape": {"type": "Point", "coordinates": [2.341993716984507, 48.82731805418922]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34199371698, 48.8273180542]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "6e56798386ea7e8d3ce46cc6ba320f4ed84104c1", "fields": {"cp": "75014", "nom_site": "MUSEE DE LA LIBERATION", "arc_adresse": "4 AVENUE DU COLONEL ROL TANGUY PAVILLON OUEST", "geo_point_2d": [48.8339906348, 2.33201446003], "nombre_de_borne_wifi": 5, "idpw": "PW0201", "geo_shape": {"type": "Point", "coordinates": [2.332014460030507, 48.83399063478855]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.33201446003, 48.8339906348]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "0cb5fa887edb3ed6d90e0c414431e295c32f3329", "fields": {"cp": "75019", "nom_site": "PARC DES BUTTES CHAUMONT - BOLIVAR", "arc_adresse": "1 RUE BOTZARIS", "geo_point_2d": [48.8764730512, 2.38101742013], "nombre_de_borne_wifi": 1, "idpw": "PW0159-1", "geo_shape": {"type": "Point", "coordinates": [2.381017420133907, 48.87647305121454]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38101742013, 48.8764730512]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "5b422e47afe570c1248e7d90f982dd06e2e4486f", "fields": {"cp": "75008", "nom_site": "PARC MONCEAU - ENTREE PARC", "arc_adresse": "1 PLACE DE LA REPUBLIQUE DOMINICAINE", "geo_point_2d": [48.87994077, 2.30749907611], "nombre_de_borne_wifi": 3, "idpw": "PW0151-1", "geo_shape": {"type": "Point", "coordinates": [2.307499076107147, 48.879940770042616]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.30749907611, 48.87994077]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "4147f259a8f312f8af852a78ce228054759e1dba", "fields": {"cp": "75005", "nom_site": "MAIRIE DU 5 EME", "arc_adresse": "21 PLACE DU PANTHEON", "geo_point_2d": [48.846191709, 2.3445808787], "nombre_de_borne_wifi": 2, "idpw": "PW0021", "geo_shape": {"type": "Point", "coordinates": [2.344580878695056, 48.8461917089586]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3445808787, 48.846191709]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "693ad8a5e98a23e62729c4325bd2e08c4c363406", "fields": {"cp": "75012", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 12", "arc_adresse": "181 AVENUE DAUMESNIL", "geo_point_2d": [48.8404878126, 2.39250677653], "nombre_de_borne_wifi": 6, "idpw": "PW0030", "geo_shape": {"type": "Point", "coordinates": [2.392506776531802, 48.84048781257588]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.39250677653, 48.8404878126]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "c1aa557a75508c0c05065c23209226eca10e6d41", "fields": {"cp": "75020", "nom_site": "CENTRE SPORTIF PYRENEES", "arc_adresse": "296 RUE DES PYRENEES", "geo_point_2d": [48.8719533728, 2.39230250037], "nombre_de_borne_wifi": 1, "idpw": "PW0072", "geo_shape": {"type": "Point", "coordinates": [2.392302500371264, 48.871953372804505]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.39230250037, 48.8719533728]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "6aa322c02ef96c97e52f65a6797e5e4b3dff61c6", "fields": {"cp": "75016", "nom_site": "PISCINE AUTEUIL", "arc_adresse": "1 ROUTE DES LACS A PASSY", "geo_point_2d": [48.858152594, 2.26156748231], "nombre_de_borne_wifi": 1, "idpw": "PW0102", "geo_shape": {"type": "Point", "coordinates": [2.261567482309457, 48.858152594040384]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.26156748231, 48.858152594]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "4ce47c8162fee1b819847f4bb050b7d33de980dd", "fields": {"cp": "75013", "nom_site": "BIBLIOTHEQUE ITALIE", "arc_adresse": "213 BOULEVARD VINCENT AURIOL", "geo_point_2d": [48.830786809, 2.35675447673], "nombre_de_borne_wifi": 1, "idpw": "PW0114", "geo_shape": {"type": "Point", "coordinates": [2.356754476729749, 48.83078680904554]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35675447673, 48.830786809]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "e6231436fe1f724031ebf436d897391a99e2a474", "fields": {"cp": "75018", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 18", "arc_adresse": "15 PASSAGE RAMEY", "geo_point_2d": [48.890069083, 2.34733549712], "nombre_de_borne_wifi": 2, "idpw": "PW0032", "geo_shape": {"type": "Point", "coordinates": [2.347335497120627, 48.8900690830436]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34733549712, 48.890069083]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "000df9316698b018ce97e7173a2ef3a272d70583", "fields": {"cp": "75016", "nom_site": "PARC DE BAGATELLE", "arc_adresse": "ROUTE DE SEVRES (NEUILLY)", "geo_point_2d": [48.8617047022, 2.24011836147], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.240118361469865, 48.86170470216155]}, "etat2": "En \u00e9tude"}, "geometry": {"type": "Point", "coordinates": [2.24011836147, 48.8617047022]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "20a083b2251081c6cd007658760fa0d39063522f", "fields": {"cp": "75006", "nom_site": "ESPLANADE GASTON MONNERVILLE", "arc_adresse": "7 PLACE ANDRE HONNORAT", "geo_point_2d": [48.8442787147, 2.3370383094], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.337038309404682, 48.8442787146687]}, "etat2": "En d\u00e9ploiement"}, "geometry": {"type": "Point", "coordinates": [2.3370383094, 48.8442787147]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "326435ba1937e13ebaebe67d1667ae361f997b63", "fields": {"cp": "75014", "nom_site": "BIBLIOTHEQUE BRASSENS", "arc_adresse": "38 RUE GASSENDI", "geo_point_2d": [48.8337666097, 2.32585597789], "nombre_de_borne_wifi": 2, "idpw": "PW0054", "geo_shape": {"type": "Point", "coordinates": [2.325855977890741, 48.83376660969609]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.32585597789, 48.8337666097]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "11c511a3ba1b38f4b6db5691b96d64ced6f06c3d", "fields": {"cp": "75012", "nom_site": "BIBLIOTHEQUE HELENE BERR", "arc_adresse": "70 RUE DE PICPUS", "geo_point_2d": [48.8425411215, 2.39747688968], "nombre_de_borne_wifi": 4, "idpw": "PW0051", "geo_shape": {"type": "Point", "coordinates": [2.397476889678179, 48.84254112148939]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.39747688968, 48.8425411215]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "26f0015dbfe5c4fc8c0ff2020db15ce79770c141", "fields": {"cp": "75007", "nom_site": "ESPLANADE DES INVALIDES", "arc_adresse": "1 RUE PAUL ET JEAN LEROLLE", "geo_point_2d": [48.8581897423, 2.31289426397], "nombre_de_borne_wifi": 1, "idpw": "PW0161", "geo_shape": {"type": "Point", "coordinates": [2.312894263966205, 48.85818974233776]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.31289426397, 48.8581897423]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "166de4173d73a228be3cf4b20e29882a970538c0", "fields": {"cp": "75004", "nom_site": "BIBLIOTHEQUE ARTHUR RIMBAUD", "arc_adresse": "2 PLACE BAUDOYER", "geo_point_2d": [48.8561383736, 2.35593752424], "nombre_de_borne_wifi": 2, "idpw": "PW0132-2", "geo_shape": {"type": "Point", "coordinates": [2.3559375242406873, 48.85613837361523]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35593752424, 48.8561383736]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "363b7191119eddccb7ca0d960a4bd493b0e5749b", "fields": {"cp": "75015", "nom_site": "MAIRIE DU 15 EME", "arc_adresse": "31 RUE DE PECLET", "geo_point_2d": [48.8415157494, 2.29988438758], "nombre_de_borne_wifi": 2, "idpw": "PW0014", "geo_shape": {"type": "Point", "coordinates": [2.299884387584236, 48.84151574940015]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.29988438758, 48.8415157494]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "47cb63585c321ef6a13bd3e706785647d39abbba", "fields": {"cp": "75007", "nom_site": "PARC CHAMPS DE MARS - 2", "arc_adresse": "AVENUE CHARLES RISLER", "geo_point_2d": [48.8546101225, 2.30019063073], "nombre_de_borne_wifi": 1, "idpw": "PW0165-1", "geo_shape": {"type": "Point", "coordinates": [2.300190630733142, 48.85461012252293]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.30019063073, 48.8546101225]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "4d79b52b67b11478fcab50fda8d57ac5fef2a5c4", "fields": {"cp": "75012", "nom_site": "PARC ZOOLOGIQUE", "arc_adresse": "AVENUE DAUMESNIL", "geo_point_2d": [48.8335176717, 2.41632870891], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.416328708911516, 48.83351767169454]}, "etat2": "En \u00e9tude"}, "geometry": {"type": "Point", "coordinates": [2.41632870891, 48.8335176717]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "60fd5d498a8d8c256efa85687fba0a451a7e54f0", "fields": {"cp": "75014", "nom_site": "MAIRIE DU 14 EME", "arc_adresse": "2 PLACE FERDINAND BRUNOT", "geo_point_2d": [48.8329972796, 2.32685435695], "nombre_de_borne_wifi": 1, "idpw": "PW0035", "geo_shape": {"type": "Point", "coordinates": [2.326854356949058, 48.83299727958771]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.32685435695, 48.8329972796]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "2f45c18db4a638bacd677870bd6d1d8d08930b04", "fields": {"cp": "75014", "nom_site": "POINT PARIS EMPLOI", "arc_adresse": "12 RUE PIERRE CASTAGNOU", "geo_point_2d": [48.8325230687, 2.32581431984], "nombre_de_borne_wifi": 1, "idpw": "PW0195", "geo_shape": {"type": "Point", "coordinates": [2.325814319838129, 48.832523068714075]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.32581431984, 48.8325230687]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "b5394eb97adf3b5fe9d3424f4416a904a9f47975", "fields": {"cp": "75012", "nom_site": "PARC DE BERCY (JARDINAGE)", "arc_adresse": "1 COURS SAIT EMILION", "geo_point_2d": [48.8324189858, 2.3854831767], "nombre_de_borne_wifi": 1, "idpw": "PW0058", "geo_shape": {"type": "Point", "coordinates": [2.385483176701273, 48.83241898581485]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3854831767, 48.8324189858]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "03497ff17f56fc795edc522c8f71f2e64ce97aeb", "fields": {"cp": "75019", "nom_site": "PARC DES BUTTES CHAUMONT - VILLETTE", "arc_adresse": "1 RUE BOTZARIS", "geo_point_2d": [48.8796817468, 2.38832763739], "nombre_de_borne_wifi": 1, "idpw": "PW0159", "geo_shape": {"type": "Point", "coordinates": [2.388327637394474, 48.879681746818164]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38832763739, 48.8796817468]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "92db58848205037fb27ec8a187d28be3761e165e", "fields": {"cp": "75011", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 11", "arc_adresse": "8 RUE DU GENERAL RENAULT", "geo_point_2d": [48.8612659255, 2.37850247568], "nombre_de_borne_wifi": 2, "idpw": "PW0029", "geo_shape": {"type": "Point", "coordinates": [2.378502475675964, 48.86126592554234]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.37850247568, 48.8612659255]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "5318ba4a6c3c08a1d9a92409aa01c58febce5217", "fields": {"cp": "75019", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 19", "arc_adresse": "20 RUE EDOUARD PAILLERON", "geo_point_2d": [48.8804061535, 2.37654510623], "nombre_de_borne_wifi": 1, "idpw": "PW0033", "geo_shape": {"type": "Point", "coordinates": [2.376545106225318, 48.88040615349807]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.37654510623, 48.8804061535]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "e7677938c04abf60a1afc4e33857c56873696b4f", "fields": {"cp": "75013", "nom_site": "PROMENADE PRES DU BATOFAR", "arc_adresse": "QUAI FRANCOIS MAURIAC", "geo_point_2d": [48.8333568552, 2.37875894842], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.378758948418535, 48.83335685516519]}, "etat2": "En \u00e9tude"}, "geometry": {"type": "Point", "coordinates": [2.37875894842, 48.8333568552]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "12cd3ea0e5ad5c037cf67fc7755a25ecebd60dbf", "fields": {"cp": "75005", "nom_site": "BIBLIOTHEQUE HEURE JOYEUSE", "arc_adresse": "6-12 RUE DES PRETRES ST-SEVERIN", "geo_point_2d": [48.8519010105, 2.34494821891], "nombre_de_borne_wifi": 2, "idpw": "PW0136", "geo_shape": {"type": "Point", "coordinates": [2.344948218913558, 48.8519010104593]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34494821891, 48.8519010105]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "4d645323a127f7094387bc579fd7fea2c5fc08b2", "fields": {"cp": "75019", "nom_site": "BASE NAUTIQUE DE LA VILLETTE", "arc_adresse": "41 QUAI DE LA LOIRE", "geo_point_2d": [48.8875236317, 2.3788915948], "nombre_de_borne_wifi": 1, "idpw": "PW0078", "geo_shape": {"type": "Point", "coordinates": [2.378891594800032, 48.88752363166015]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3788915948, 48.8875236317]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "a0009673cd83b20077c6cfa3217e155aa64aabb1", "fields": {"cp": "75019", "nom_site": "BIBLIOTHEQUE CRIMEE", "arc_adresse": "42-44 RUE PETIT", "geo_point_2d": [48.8848820164, 2.38305018751], "nombre_de_borne_wifi": 1, "idpw": "PW0004", "geo_shape": {"type": "Point", "coordinates": [2.383050187514214, 48.884882016364315]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38305018751, 48.8848820164]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "2cfb21e660b6597d6634c054aea57ff5cb1fe2f2", "fields": {"cp": "75018", "nom_site": "BIBLIOTHEQUE GOUTTE D OR", "arc_adresse": "2-4 RUE FLEURY", "geo_point_2d": [48.8844631298, 2.35414160142], "nombre_de_borne_wifi": 3, "idpw": "PW0006", "geo_shape": {"type": "Point", "coordinates": [2.354141601420772, 48.88446312981793]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35414160142, 48.8844631298]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "4c31e21df42df7d2a74372d5d7bb87ecc7040256", "fields": {"cp": "75001", "nom_site": "MAIRIE DU 1 ER", "arc_adresse": "4 PLACE DU LOUVRE", "geo_point_2d": [48.8600835266, 2.34106447616], "nombre_de_borne_wifi": 2, "idpw": "PW0127", "geo_shape": {"type": "Point", "coordinates": [2.341064476164004, 48.860083526572126]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34106447616, 48.8600835266]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "f3c40853cb2f8ba9df9a2a5744db131686ea2ed6", "fields": {"cp": "75001", "nom_site": "MEDIATHEQUE LA CANOPEE LA FONTAINE", "arc_adresse": "10 PASSAGE DE LA CANOPEE", "geo_point_2d": [48.8618194855, 2.34764390328], "nombre_de_borne_wifi": 5, "idpw": "PW0143", "geo_shape": {"type": "Point", "coordinates": [2.347643903283826, 48.861819485480225]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34764390328, 48.8618194855]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "fd2c69d17013bd8f0caf5f99ce5a87d6f9d257a8", "fields": {"cp": "75001", "nom_site": "MEDIATHEQUE MUSICALE DE PARIS (HALLES)", "arc_adresse": "8 PORTE SAINT EUSTACHE", "geo_point_2d": [48.862650133, 2.34591610501], "nombre_de_borne_wifi": 2, "idpw": "PW0020", "geo_shape": {"type": "Point", "coordinates": [2.345916105005208, 48.86265013302889]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34591610501, 48.862650133]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "67d2b307a2d413d89af19038b730d88232dd5b54", "fields": {"cp": "75004", "nom_site": "SQUARE LOUIS XIII", "arc_adresse": "30 PLACE DES VOSGES", "geo_point_2d": [48.8556307839, 2.36565840313], "nombre_de_borne_wifi": 1, "idpw": "PW0163", "geo_shape": {"type": "Point", "coordinates": [2.365658403131316, 48.85563078391004]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36565840313, 48.8556307839]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "c8b956c799ccf9a3b3a436a41981db3d39c659ac", "fields": {"cp": "75013", "nom_site": "CENTRE SPORTIF DUNOIS", "arc_adresse": "70 RUE DUNOIS", "geo_point_2d": [48.8331703217, 2.36627858766], "nombre_de_borne_wifi": 1, "idpw": "PW0079", "geo_shape": {"type": "Point", "coordinates": [2.366278587662253, 48.833170321660546]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36627858766, 48.8331703217]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "6e728559dcd12d1bd3859ec18ffde64aae108dac", "fields": {"cp": "75008", "nom_site": "GYMNASE BEAUJON", "arc_adresse": "7 ALLEE LOUIS DE FUNES", "geo_point_2d": [48.8753645715, 2.30462671902], "nombre_de_borne_wifi": 1, "idpw": "PW0095", "geo_shape": {"type": "Point", "coordinates": [2.304626719021803, 48.87536457154315]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.30462671902, 48.8753645715]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "401c98caab2753a9042baa65013ec941002d65c1", "fields": {"cp": "75015", "nom_site": "BIBLIOTHEQUE MARGUERITE YOURCENAR", "arc_adresse": "41 RUE D ALLERAY", "geo_point_2d": [48.836806921, 2.30348080218], "nombre_de_borne_wifi": 5, "idpw": "PW0046", "geo_shape": {"type": "Point", "coordinates": [2.303480802178815, 48.836806921024824]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.30348080218, 48.836806921]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "1cf591db53e97af1d8fdad53dd9efb75606cae3f", "fields": {"cp": "75005", "nom_site": "SQUARE PAUL LANGEVIN", "arc_adresse": "12 RUE DES ECOLES", "geo_point_2d": [48.8480849077, 2.34964310763], "nombre_de_borne_wifi": 2, "idpw": "PW0154", "geo_shape": {"type": "Point", "coordinates": [2.34964310762926, 48.84808490765896]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34964310763, 48.8480849077]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "f25b053cfdad7290081dec3dbca1b2885172bcde", "fields": {"cp": "75020", "nom_site": "GYMNASE VIGNOLES EST", "arc_adresse": "83-91 RUE DES HAIES", "geo_point_2d": [48.8552404998, 2.4039028856], "nombre_de_borne_wifi": 1, "idpw": "PW0073", "geo_shape": {"type": "Point", "coordinates": [2.403902885604972, 48.85524049982196]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.4039028856, 48.8552404998]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "fdd3a66bf36889606c1afea65303d1a5bfdeebec", "fields": {"cp": "75012", "nom_site": "CENTRE SPORTIF LEON MOTTOT", "arc_adresse": "17 CITE MOYNET", "geo_point_2d": [48.8438656929, 2.3866294954], "nombre_de_borne_wifi": 1, "idpw": "PW0086", "geo_shape": {"type": "Point", "coordinates": [2.386629495395026, 48.8438656928756]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3866294954, 48.8438656929]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "46914feb0ec3ef5522f0d4cff01809b44aee7fc3", "fields": {"cp": "75011", "nom_site": "GYMNASE JAPY", "arc_adresse": "2 RUE JAPY", "geo_point_2d": [48.8558714122, 2.38245353583], "nombre_de_borne_wifi": 1, "idpw": "PW0096", "geo_shape": {"type": "Point", "coordinates": [2.382453535830383, 48.85587141220044]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38245353583, 48.8558714122]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "46107cb7f6ee378daecd6e0bc212e127254c690d", "fields": {"cp": "75019", "nom_site": "BIBLIOTHEQUE FESSART", "arc_adresse": "6 RUE FESSART", "geo_point_2d": [48.8762687831, 2.38818422808], "nombre_de_borne_wifi": 1, "idpw": "PW0005", "geo_shape": {"type": "Point", "coordinates": [2.388184228076371, 48.87626878314262]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38818422808, 48.8762687831]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "909834caab281b4bf814c3bbbb7518bee2e433ca", "fields": {"cp": "75015", "nom_site": "CENTRE SPORTIF SUZANNE LENGLEN - TRIBUNE COUR DE TENNIS", "arc_adresse": "2 RUE LOUIS ARMAND", "geo_point_2d": [48.8329646707, 2.27683278955], "nombre_de_borne_wifi": 1, "idpw": "PW0173", "geo_shape": {"type": "Point", "coordinates": [2.276832789549165, 48.83296467067889]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.27683278955, 48.8329646707]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "38bca8ab289ff175292a8da588f354c696f331be", "fields": {"cp": "75004", "nom_site": "HOTEL DE VILLE SOUS SOL", "arc_adresse": "4 PLACE DE L'HOTEL DE VILLE", "geo_point_2d": [48.8567634421, 2.35264831302], "nombre_de_borne_wifi": 3, "idpw": "PW0122", "geo_shape": {"type": "Point", "coordinates": [2.352648313015423, 48.856763442143226]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35264831302, 48.8567634421]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "bcbdfd297637d5cef3c1ce4a3ff4516c3729b317", "fields": {"cp": "75016", "nom_site": "JARDIN D'ACCLIMATATION", "arc_adresse": "ALLEE DES ERABLES - BOIS DE BOULOGNE", "geo_point_2d": [48.8772644107, 2.26081219643], "nombre_de_borne_wifi": 8, "geo_shape": {"type": "Point", "coordinates": [2.260812196431798, 48.87726441066261]}, "etat2": "En \u00e9tude"}, "geometry": {"type": "Point", "coordinates": [2.26081219643, 48.8772644107]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "3e037ef20938c0118a554dca2982e926642d0071", "fields": {"cp": "75011", "nom_site": "SQUARE LA PETITE ROQUETTE", "arc_adresse": "4 RUE SERVAN - SQUARE DE LA ROQUETTE", "geo_point_2d": [48.8591243675, 2.38418763308], "nombre_de_borne_wifi": 1, "idpw": "PW0068", "geo_shape": {"type": "Point", "coordinates": [2.384187633080559, 48.859124367471]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38418763308, 48.8591243675]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "f7d04c2303aae75fafaed632a727a786892cda8c", "fields": {"cp": "75013", "nom_site": "MAIRIE DU 13 EME", "arc_adresse": "1 PLACE D ITALIE", "geo_point_2d": [48.8323144109, 2.35531334924], "nombre_de_borne_wifi": 2, "idpw": "PW0013", "geo_shape": {"type": "Point", "coordinates": [2.355313349237969, 48.832314410863745]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35531334924, 48.8323144109]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "e060220ee11dbb5637cf3fcc0958fb0e33e70308", "fields": {"cp": "75003", "nom_site": "MAIRIE DU 3 EME", "arc_adresse": "2 RUE EUGENE SPULLER", "geo_point_2d": [48.8639920263, 2.36153196157], "nombre_de_borne_wifi": 2, "idpw": "PW0019", "geo_shape": {"type": "Point", "coordinates": [2.361531961565591, 48.863992026300004]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36153196157, 48.8639920263]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "c4c3493637e4c339d7e63f710c369356597a9f3e", "fields": {"cp": "75007", "nom_site": "PARC CHAMPS DE MARS - 1", "arc_adresse": "AVENUE CHARLES RISLER", "geo_point_2d": [48.8569794103, 2.29333906348], "nombre_de_borne_wifi": 1, "idpw": "PW0165", "geo_shape": {"type": "Point", "coordinates": [2.293339063475273, 48.856979410315645]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.29333906348, 48.8569794103]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "497796a0efa8b76c0dcd962872636c001b09f5c1", "fields": {"cp": "75012", "nom_site": "PISCINE JEAN BOITEUX", "arc_adresse": "13 RUE HENARD", "geo_point_2d": [48.8421472127, 2.38939778901], "nombre_de_borne_wifi": 1, "idpw": "PW0106", "geo_shape": {"type": "Point", "coordinates": [2.389397789011499, 48.84214721269367]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38939778901, 48.8421472127]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "4697e05fa375cf94495d94149814bac55aed3858", "fields": {"cp": "75001", "nom_site": "BERGES RIVE DROITE - PONT NEUF", "arc_adresse": "BERGE DE SEINE RIVE DROITE - SORTIE TUNNEL TUILERIETUILERIES", "geo_point_2d": [48.8593733254, 2.33582235605], "nombre_de_borne_wifi": 1, "idpw": "PW0149", "geo_shape": {"type": "Point", "coordinates": [2.335822356054448, 48.85937332543368]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.33582235605, 48.8593733254]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "b2734434262c836a577bb99ee5ae366eb10e1a5a", "fields": {"cp": "75004", "nom_site": "BERGES RIVE DROITE - PONT NOTRE DAME", "arc_adresse": "BERGE DE SEINE RIVE DROITE - QUAI DE GESVRES 2", "geo_point_2d": [48.8566875709, 2.34892300033], "nombre_de_borne_wifi": 1, "idpw": "PW0181", "geo_shape": {"type": "Point", "coordinates": [2.3489230003257022, 48.85668757090018]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34892300033, 48.8566875709]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "03883743a4d442888f80640254bbe4a1d8ee1487", "fields": {"cp": "75014", "nom_site": "SQUARE ASPIRANT DUNAND", "arc_adresse": "RUE MOUTON DUVERNET", "geo_point_2d": [48.8321552307, 2.32688453686], "nombre_de_borne_wifi": 1, "idpw": "PW0063", "geo_shape": {"type": "Point", "coordinates": [2.326884536863806, 48.83215523073599]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.32688453686, 48.8321552307]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "059e2e7fd532b766c79d1b591d8412f75cf65b1c", "fields": {"cp": "75013", "nom_site": "SQUARE GEORGES DUHAMEL", "arc_adresse": "RUE JEAN ANOUILH", "geo_point_2d": [48.8319158284, 2.37761188927], "nombre_de_borne_wifi": 1, "idpw": "PW0171", "geo_shape": {"type": "Point", "coordinates": [2.377611889269577, 48.831915828448025]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.37761188927, 48.8319158284]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "8dd696dbb5038bcc84ee59e2921602837add6d88", "fields": {"cp": "75013", "nom_site": "CENTRE SPORTIF CHARLES MOUREU", "arc_adresse": "17 AVENUE EDISON", "geo_point_2d": [48.8278012364, 2.36413466138], "nombre_de_borne_wifi": 1, "idpw": "PW0074", "geo_shape": {"type": "Point", "coordinates": [2.36413466137506, 48.82780123635453]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36413466138, 48.8278012364]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "b5eb40bf85366ee16aa36e1aabe2169dd2e36c05", "fields": {"cp": "75018", "nom_site": "BUTTE MONTMARTRE", "arc_adresse": "6 PLACE SAINT-PIERRE", "geo_point_2d": [48.8844827328, 2.34387627415], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.34387627415176, 48.88448273278111]}, "etat2": "En \u00e9tude"}, "geometry": {"type": "Point", "coordinates": [2.34387627415, 48.8844827328]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "6c56b6435850e016810910723362794b828bdfcc", "fields": {"cp": "75010", "nom_site": "SQUARE FREDERIC LEMAITRE", "arc_adresse": "35 QUAI DE JEMMAPES", "geo_point_2d": [48.8788386316, 2.36711233025], "nombre_de_borne_wifi": 1, "idpw": "PW0197", "geo_shape": {"type": "Point", "coordinates": [2.367112330251715, 48.87883863164688]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36711233025, 48.8788386316]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "629d77f8e88a4ecd2cd56e04c816d108df857e5e", "fields": {"cp": "75011", "nom_site": "SQUARE MAURICE GARDETTE", "arc_adresse": "2 RUE DU GENERAL BLAISE RUE LACHARRIERE", "geo_point_2d": [48.8610851934, 2.37907251705], "nombre_de_borne_wifi": 1, "idpw": "PW0205", "geo_shape": {"type": "Point", "coordinates": [2.379072517053181, 48.86108519335693]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.37907251705, 48.8610851934]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "2045e15fb6463747fb5d9f0791b5533117688773", "fields": {"cp": "75001", "nom_site": "BIBLIOTHEQUE DU CINEMA FRANCOIS TRUFFAUT", "arc_adresse": "14 RUE DES PROUVAIRES", "geo_point_2d": [48.8614889106, 2.34415410951], "nombre_de_borne_wifi": 1, "idpw": "PW0112", "geo_shape": {"type": "Point", "coordinates": [2.344154109508663, 48.86148891058232]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34415410951, 48.8614889106]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "b62b847278ebc85346aeafd32589f845f624a26a", "fields": {"cp": "75020", "nom_site": "BIBLIOTHEQUE NAGUIB MAHFOUZ", "arc_adresse": "66 RUE DES COURONNES", "geo_point_2d": [48.870162555, 2.38521982606], "nombre_de_borne_wifi": 1, "idpw": "PW0048", "geo_shape": {"type": "Point", "coordinates": [2.385219826057544, 48.87016255501904]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38521982606, 48.870162555]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "14c99b8a3f5391a559bc3211e8fcdf9b6f2b150c", "fields": {"cp": "75013", "nom_site": "SQUARE DE LA RAFFINERIE SAY", "arc_adresse": "147 BOULEVARD VINCENT AURIOL", "geo_point_2d": [48.8325693774, 2.36204340104], "nombre_de_borne_wifi": 1, "idpw": "PW0174", "geo_shape": {"type": "Point", "coordinates": [2.3620434010445353, 48.83256937742216]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36204340104, 48.8325693774]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "1d6419c1054b4139c00ebd4f735d610d0148699d", "fields": {"cp": "75004", "nom_site": "LES BLANCS MANTEAUX", "arc_adresse": "48 RUE VIELLE DU TEMPLE", "geo_point_2d": [48.8582613252, 2.35839235718], "nombre_de_borne_wifi": 2, "idpw": "PW0121", "geo_shape": {"type": "Point", "coordinates": [2.358392357177399, 48.85826132515105]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35839235718, 48.8582613252]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "c98777820fa23289958047c90dc80e700dc77015", "fields": {"cp": "75004", "nom_site": "HOTEL DE VILLE PARVIS 9", "arc_adresse": "9 PLACE DE L HOTEL DE VILLE", "geo_point_2d": [48.8572732825, 2.35127761215], "nombre_de_borne_wifi": 1, "idpw": "PW0119", "geo_shape": {"type": "Point", "coordinates": [2.351277612149235, 48.85727328251876]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35127761215, 48.8572732825]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "97bcc7a59338faf3093d042dbb8e1236f59ceb28", "fields": {"cp": "75013", "nom_site": "SQUARE HENRI CADIOU", "arc_adresse": "69 BOULEVARD ARAGO", "geo_point_2d": [48.8346490481, 2.34222254283], "nombre_de_borne_wifi": 2, "idpw": "PW0172", "geo_shape": {"type": "Point", "coordinates": [2.342222542830243, 48.834649048099365]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34222254283, 48.8346490481]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "b5048436a03220839d783f5a9f1f61ec0f7c7a83", "fields": {"cp": "75004", "nom_site": "MAIRIE DU 4 EME", "arc_adresse": "2 PLACE BAUDOYER", "geo_point_2d": [48.8562716079, 2.35575690111], "nombre_de_borne_wifi": 2, "idpw": "PW0132", "geo_shape": {"type": "Point", "coordinates": [2.355756901105178, 48.856271607867846]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35575690111, 48.8562716079]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "b29a6b0c7535664637caef2ced2927c4888dbfb7", "fields": {"cp": "75013", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 13", "arc_adresse": "11 RUE CAILLAUX", "geo_point_2d": [48.8226333452, 2.36131811251], "nombre_de_borne_wifi": 1, "idpw": "PW0039", "geo_shape": {"type": "Point", "coordinates": [2.361318112511234, 48.82263334522024]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36131811251, 48.8226333452]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "13b0ed173f33e038680ae37cbcb3e917fbd3894d", "fields": {"cp": "75013", "nom_site": "PARC DE CHOISY", "arc_adresse": "160 AVENUE DE CHOISY", "geo_point_2d": [48.827750994, 2.35959561395], "nombre_de_borne_wifi": 2, "idpw": "PW0062", "geo_shape": {"type": "Point", "coordinates": [2.359595613946219, 48.82775099396245]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35959561395, 48.827750994]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "cb039d41d1321889316ddf38a2f5ecc8101f4636", "fields": {"cp": "75013", "nom_site": "PROMENADE PIED DE LA BNF", "arc_adresse": "QUAI FRANCOIS MAURIAC", "geo_point_2d": [48.8332986524, 2.37836823029], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.378368230286152, 48.83329865241758]}, "etat2": "En \u00e9tude"}, "geometry": {"type": "Point", "coordinates": [2.37836823029, 48.8332986524]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "f9f6196f1111f27e77d4d56065f0dd1d0b05bc04", "fields": {"cp": "75010", "nom_site": "SQUARE DES RECOLLETS", "arc_adresse": "88 QUAI DE VALMY", "geo_point_2d": [48.8732040203, 2.36361161798], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.363611617977897, 48.87320402026159]}, "etat2": "En \u00e9tude"}, "geometry": {"type": "Point", "coordinates": [2.36361161798, 48.8732040203]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "dae7f9ce48dbb48d7574f795c8e9fdec1da3e58f", "fields": {"cp": "75017", "nom_site": "BIBLIOTHEQUE COLETTE VIVIER", "arc_adresse": "6 RUE FOURNEYRON", "geo_point_2d": [48.889783335, 2.31964337344], "nombre_de_borne_wifi": 1, "idpw": "PW0003", "geo_shape": {"type": "Point", "coordinates": [2.31964337343766, 48.88978333501903]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.31964337344, 48.889783335]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "c601f7b1d1fa800ed559d49349f305864903f275", "fields": {"cp": "75020", "nom_site": "BIBLIOTHEQUE SORBIER", "arc_adresse": "17 RUE SORBIER", "geo_point_2d": [48.8659615824, 2.39285197457], "nombre_de_borne_wifi": 2, "idpw": "PW0129", "geo_shape": {"type": "Point", "coordinates": [2.392851974569113, 48.86596158237579]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.39285197457, 48.8659615824]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "ec983d46e885bd6e7027bdfa83a5bcc58c39b2c2", "fields": {"cp": "75018", "nom_site": "JARDIN D EOLE - 1", "arc_adresse": "18B RUE DU DEPARTEMENT", "geo_point_2d": [48.8864505694, 2.36547579719], "nombre_de_borne_wifi": 2, "idpw": "PW0170", "geo_shape": {"type": "Point", "coordinates": [2.36547579719454, 48.88645056943661]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36547579719, 48.8864505694]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "5498e8c47476e600e1185d35b8ca02f1ab12f9b6", "fields": {"cp": "75012", "nom_site": "PARC DE BERCY (ORANGERIE)", "arc_adresse": "1 COUR CHAMONARD", "geo_point_2d": [48.836091766, 2.38325225953], "nombre_de_borne_wifi": 2, "idpw": "PW0058-2", "geo_shape": {"type": "Point", "coordinates": [2.383252259533802, 48.836091766026286]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38325225953, 48.836091766]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "da3ac4699d4a5104764839a3431a426b547f1e8d", "fields": {"cp": "75014", "nom_site": "SQUARE FERDINAND BRUNOT", "arc_adresse": "PLACE FERDINAND BRUNOT", "geo_point_2d": [48.832851161, 2.32676722614], "nombre_de_borne_wifi": 1, "idpw": "PW0065", "geo_shape": {"type": "Point", "coordinates": [2.326767226137216, 48.83285116095279]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.32676722614, 48.832851161]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "376766dab5c5e41e2b5930e0a5115313f5210587", "fields": {"cp": "75015", "nom_site": "BIBLIOTHEQUE GUTENBERG", "arc_adresse": "8 RUE DE LA MONTAGNE D AULAS", "geo_point_2d": [48.8402076064, 2.27870642421], "nombre_de_borne_wifi": 1, "idpw": "PW0145", "geo_shape": {"type": "Point", "coordinates": [2.278706424214254, 48.84020760641956]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.27870642421, 48.8402076064]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "d1c28367a22977dd0091915048fd6fc09da74d42", "fields": {"cp": "75013", "nom_site": "PROMENADE QUAI FRANCOIS MAURIAC", "arc_adresse": "QUAI FRANCOIS MAURIAC", "geo_point_2d": [48.8327478739, 2.37989455046], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.379894550461982, 48.832747873890305]}, "etat2": "En \u00e9tude"}, "geometry": {"type": "Point", "coordinates": [2.37989455046, 48.8327478739]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "3ce00faa6ff1470c1f1adfcef2386cf9f206debd", "fields": {"cp": "75007", "nom_site": "BIBLIOTHEQUE AMELIE", "arc_adresse": "164 RUE DE GRENELLE", "geo_point_2d": [48.8580688977, 2.30898988281], "nombre_de_borne_wifi": 1, "idpw": "PW0059", "geo_shape": {"type": "Point", "coordinates": [2.308989882814166, 48.85806889772535]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.30898988281, 48.8580688977]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "7359c634b2afa4af034a4103dbdc98a0cb646061", "fields": {"cp": "75005", "nom_site": "BIBLIOTHEQUE RAINER MARIA RILKE", "arc_adresse": "88 T BOULEVARD DE PORT-ROYAL", "geo_point_2d": [48.8393069888, 2.33878167349], "nombre_de_borne_wifi": 2, "idpw": "PW0115", "geo_shape": {"type": "Point", "coordinates": [2.338781673488587, 48.83930698880458]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.33878167349, 48.8393069888]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "e7c5ba08e2b4147821ffd90121148f64a2b18179", "fields": {"cp": "75010", "nom_site": "BIBLIOTHEQUE FRANCOIS VILLON", "arc_adresse": "81 BOULEVARD DE LA VILLETTE", "geo_point_2d": [48.8772054342, 2.37079691969], "nombre_de_borne_wifi": 2, "idpw": "PW0116", "geo_shape": {"type": "Point", "coordinates": [2.37079691969116, 48.87720543415444]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.37079691969, 48.8772054342]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "7bd75fc5fee76851194bfc072526f6a44918ffa2", "fields": {"cp": "75009", "nom_site": "BIBLIOTHEQUE DROUOT", "arc_adresse": "11 RUE DROUOT", "geo_point_2d": [48.8733902739, 2.34045205645], "nombre_de_borne_wifi": 1, "idpw": "PW0060", "geo_shape": {"type": "Point", "coordinates": [2.34045205644628, 48.87339027391682]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34045205645, 48.8733902739]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "73d7592d29a38bda64a5ce178465ad2584d450b5", "fields": {"cp": "75013", "nom_site": "CENTRE SPORTIF GEORGES CARPENTIER", "arc_adresse": "81 BOULEVARD MASSENA", "geo_point_2d": [48.8202371888, 2.36812515131], "nombre_de_borne_wifi": 3, "idpw": "PW0103", "geo_shape": {"type": "Point", "coordinates": [2.368125151306786, 48.82023718884467]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36812515131, 48.8202371888]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "538c6a75480b58063a614ca69112956f20ecc66f", "fields": {"cp": "75005", "nom_site": "SQUARE THEODORE MONOD", "arc_adresse": "8 RUE SCIPION", "geo_point_2d": [48.8383992161, 2.35377753667], "nombre_de_borne_wifi": 1, "idpw": "PW0155", "geo_shape": {"type": "Point", "coordinates": [2.353777536666722, 48.83839921606968]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35377753667, 48.8383992161]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "612da832cfb2feb7d7559790ca48e1976150c4a7", "fields": {"cp": "75016", "nom_site": "SERRES D AUTEUIL", "arc_adresse": "3 AVENUE DE LA PORTE D AUTEUIL", "geo_point_2d": [48.8477665615, 2.25227552793], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.252275527930085, 48.84776656145009]}, "etat2": "En \u00e9tude"}, "geometry": {"type": "Point", "coordinates": [2.25227552793, 48.8477665615]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "b7ad2293f5a36a3bf5c96a209f42889570ec0543", "fields": {"cp": "75008", "nom_site": "BIBLIOTHEQUE EUROPE", "arc_adresse": "3 RUE DE LISBONNE", "geo_point_2d": [48.877751384, 2.31748647872], "nombre_de_borne_wifi": 2, "idpw": "PW0124", "geo_shape": {"type": "Point", "coordinates": [2.317486478723445, 48.87775138401691]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.31748647872, 48.877751384]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "ab2223d4fd2fc868dfb52b52781939e713403480", "fields": {"cp": "75012", "nom_site": "PARC DE BERCY (TERRASSE BERCY)", "arc_adresse": "1 COUR CHAMONARD", "geo_point_2d": [48.8368107135, 2.3823502437], "nombre_de_borne_wifi": 2, "idpw": "PW0058-3", "geo_shape": {"type": "Point", "coordinates": [2.382350243699965, 48.83681071348854]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3823502437, 48.8368107135]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "49613aa66ddeb775bedcc94606628e53d3233e58", "fields": {"cp": "75013", "nom_site": "SQUARE GUSTAVE MESUREUR", "arc_adresse": "105 RUE JEANNE D ARC", "geo_point_2d": [48.8338461546, 2.3627918953], "nombre_de_borne_wifi": 1, "idpw": "PW0178", "geo_shape": {"type": "Point", "coordinates": [2.362791895302856, 48.83384615455623]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3627918953, 48.8338461546]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "87e13316f659b57711b72413d6fef5317d4eccb1", "fields": {"cp": "75004", "nom_site": "HOTEL DE VILLE RDC", "arc_adresse": "4 PLACE DE L'HOTEL DE VILLE", "geo_point_2d": [48.856389683, 2.35238826701], "nombre_de_borne_wifi": 2, "idpw": "PW0122-1", "geo_shape": {"type": "Point", "coordinates": [2.352388267005781, 48.856389682987924]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35238826701, 48.856389683]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "ca089006a6003a3effd64eeb7f725274dd955994", "fields": {"cp": "75004", "nom_site": "HOTEL DE VILLE 2EME", "arc_adresse": "4 PLACE DE L HOTEL DE VILLE", "geo_point_2d": [48.8560260905, 2.35268578589], "nombre_de_borne_wifi": 6, "idpw": "PW0122-3", "geo_shape": {"type": "Point", "coordinates": [2.352685785891045, 48.856026090464944]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35268578589, 48.8560260905]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "fd1141789d5bc7530df5f40a9052cc40cc5da37a", "fields": {"cp": "75019", "nom_site": "MAIRIE DU 19 EME", "arc_adresse": "5 PLACE ARMAND CARREL", "geo_point_2d": [48.8827945783, 2.38191797413], "nombre_de_borne_wifi": 1, "idpw": "PW0017", "geo_shape": {"type": "Point", "coordinates": [2.381917974125571, 48.88279457828255]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38191797413, 48.8827945783]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "100a95bb264dd4c3eab5ecde8bd6a5d49681aeba", "fields": {"cp": "75009", "nom_site": "SQUARE MONTHOLON", "arc_adresse": "RUE LA FAYETTE", "geo_point_2d": [48.8769016573, 2.34640500313], "nombre_de_borne_wifi": 1, "idpw": "PW0186", "geo_shape": {"type": "Point", "coordinates": [2.346405003129445, 48.87690165728509]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34640500313, 48.8769016573]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "fbd5dd17a10413f34281eb745597c60fcffe2479", "fields": {"cp": "75009", "nom_site": "SQUARE TRINITE D ESTIENNE D ORVES", "arc_adresse": "1 PLACE D ESTIENNES D ORVES", "geo_point_2d": [48.8765956695, 2.33179827521], "nombre_de_borne_wifi": 1, "idpw": "PW0176", "geo_shape": {"type": "Point", "coordinates": [2.331798275213253, 48.87659566954103]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.33179827521, 48.8765956695]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "87ebbe9e1f1554392344735155ce50949c57054d", "fields": {"cp": "75016", "nom_site": "STADE PIERRE DE COUBERTIN", "arc_adresse": "82 AVENUE GEORGES LAFONT", "geo_point_2d": [48.8354989458, 2.25576069335], "nombre_de_borne_wifi": 4, "idpw": "PW0108", "geo_shape": {"type": "Point", "coordinates": [2.255760693346942, 48.83549894578004]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.25576069335, 48.8354989458]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "cef2c6fe0112911ce0037b8652714b98d5acbbe3", "fields": {"cp": "75014", "nom_site": "BIBLIOTHEQUE AIME CESAIRE", "arc_adresse": "5 RUE DE RIDDER", "geo_point_2d": [48.8312312482, 2.31166233211], "nombre_de_borne_wifi": 2, "idpw": "PW0053", "geo_shape": {"type": "Point", "coordinates": [2.311662332111938, 48.83123124818045]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.31166233211, 48.8312312482]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "0129bcc75b6cd1b383a6213e96b69eeb8a02130f", "fields": {"cp": "75015", "nom_site": "CENTRE SPORTIF CHARLES RIGOULOT", "arc_adresse": "18 AVENUE DE LA PORTE BRANCION", "geo_point_2d": [48.8266335927, 2.30041746551], "nombre_de_borne_wifi": 1, "idpw": "PW0075", "geo_shape": {"type": "Point", "coordinates": [2.300417465508701, 48.826633592748095]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.30041746551, 48.8266335927]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "aff282416e275e0bb93cb3951857689c6f3f33c6", "fields": {"cp": "75019", "nom_site": "ARCHIVES DE PARIS", "arc_adresse": "18 BOULEVARD SERURIER", "geo_point_2d": [48.8780382168, 2.40580812486], "nombre_de_borne_wifi": 1, "idpw": "PW0136", "geo_shape": {"type": "Point", "coordinates": [2.4058081248559793, 48.878038216825445]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.40580812486, 48.8780382168]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "d76655edb9fd6f3031eda602c670882e2392555e", "fields": {"cp": "75007", "nom_site": "BIBLIOTHEQUE SAINT SIMON", "arc_adresse": "116 RUE DE GRENELLE", "geo_point_2d": [48.8568664767, 2.32004369744], "nombre_de_borne_wifi": 1, "idpw": "PW0022-1", "geo_shape": {"type": "Point", "coordinates": [2.320043697435677, 48.85686647665856]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.32004369744, 48.8568664767]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "af0e0eb9fd9045096b3ce22c3018bdb764624123", "fields": {"cp": "75006", "nom_site": "MAISON DES INITIATIVES ETUDIANTES LABO6", "arc_adresse": "76B RUE DE RENNES", "geo_point_2d": [48.8512426095, 2.33044362302], "nombre_de_borne_wifi": 4, "idpw": "PW0146", "geo_shape": {"type": "Point", "coordinates": [2.330443623016365, 48.851242609525265]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.33044362302, 48.8512426095]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "70c7b35f709c8751f27877d61aa5391cf7c4b745", "fields": {"cp": "75014", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 14", "arc_adresse": "22 RUE DEPARCIEUX", "geo_point_2d": [48.83559168, 2.3258213932], "nombre_de_borne_wifi": 2, "idpw": "PW0040", "geo_shape": {"type": "Point", "coordinates": [2.325821393195147, 48.83559167995911]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3258213932, 48.83559168]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "db3741bc0294b1a06eb1adad35fdf21e8f5f0953", "fields": {"cp": "75004", "nom_site": "HOTEL DE VILLE PARVIS SEINE", "arc_adresse": "4 PLACE DE L'HOTEL DE VILLE", "geo_point_2d": [48.8563193139, 2.35175507673], "nombre_de_borne_wifi": 1, "idpw": "PW0123", "geo_shape": {"type": "Point", "coordinates": [2.35175507673093, 48.85631931393781]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35175507673, 48.8563193139]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "e4439033f1e18cb71c41f1f3f9889b5acc64e1f2", "fields": {"cp": "75006", "nom_site": "MAIRIE DU 6 EME", "arc_adresse": "78 RUE BONAPARTE", "geo_point_2d": [48.8505365269, 2.33261137019], "nombre_de_borne_wifi": 1, "idpw": "PW0128", "geo_shape": {"type": "Point", "coordinates": [2.33261137019337, 48.850536526897756]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.33261137019, 48.8505365269]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "ea46212be04d268aff6f38e0aa355f8069812da6", "fields": {"cp": "75008", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 8", "arc_adresse": "28 RUE LAURE DIEBOLD", "geo_point_2d": [48.8760292839, 2.30478482557], "nombre_de_borne_wifi": 2, "idpw": "PW0047", "geo_shape": {"type": "Point", "coordinates": [2.304784825574433, 48.87602928391506]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.30478482557, 48.8760292839]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "2fdd000854f0a6aae480d9418c9bb956784f0964", "fields": {"cp": "75020", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 20", "arc_adresse": "18 RUE RAMUS", "geo_point_2d": [48.8627043264, 2.39878906422], "nombre_de_borne_wifi": 2, "idpw": "PW0187", "geo_shape": {"type": "Point", "coordinates": [2.398789064219767, 48.86270432644074]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.39878906422, 48.8627043264]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "0276e952eb5ed588c6f74e26ea0d96f4aabfd66b", "fields": {"cp": "75004", "nom_site": "BIBLIOTHEQUE FORNEY", "arc_adresse": "1 RUE DU FIGUIER", "geo_point_2d": [48.853423534, 2.35917923727], "nombre_de_borne_wifi": 2, "idpw": "PW0050", "geo_shape": {"type": "Point", "coordinates": [2.359179237268959, 48.85342353398947]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35917923727, 48.853423534]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "d0434100eedeccca197f73adfe44c5fbde5cd410", "fields": {"cp": "75020", "nom_site": "GYMNASE PAUL MEURICE", "arc_adresse": "1 RUE PAUL MEURICE", "geo_point_2d": [48.8740265007, 2.41213767973], "nombre_de_borne_wifi": 1, "idpw": "PW0085", "geo_shape": {"type": "Point", "coordinates": [2.412137679731794, 48.87402650073302]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.41213767973, 48.8740265007]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "5d35f598b51afd3e9773ea0a33c83001e3274a8f", "fields": {"cp": "75011", "nom_site": "CENTRE SPORTIF GEORGES RIGAL", "arc_adresse": "115 BOULEVARD DE CHARONNE", "geo_point_2d": [48.8566034181, 2.39386877243], "nombre_de_borne_wifi": 1, "idpw": "PW0080", "geo_shape": {"type": "Point", "coordinates": [2.393868772427969, 48.85660341812767]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.39386877243, 48.8566034181]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "c07c4b2dcef447222283d272eca01260756bb2b5", "fields": {"cp": "75011", "nom_site": "MEDIATHEQUE VIOLETTE LEDUC", "arc_adresse": "18 RUE FAIDHERBE", "geo_point_2d": [48.8515955528, 2.38396007097], "nombre_de_borne_wifi": 4, "idpw": "PW0049", "geo_shape": {"type": "Point", "coordinates": [2.383960070968056, 48.85159555284071]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38396007097, 48.8515955528]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "07083fbabe92da75689eb2414e2baec1b9d8e6cc", "fields": {"cp": "75005", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE QUARTIER LATIN 5", "arc_adresse": "4 RUE DES ARENES", "geo_point_2d": [48.8451121922, 2.3542064419], "nombre_de_borne_wifi": 2, "idpw": "PW0026", "geo_shape": {"type": "Point", "coordinates": [2.3542064419028152, 48.84511219216891]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3542064419, 48.8451121922]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "72d7ff5c9198a14a584dbff3d32149d8224c40ef", "fields": {"cp": "75010", "nom_site": "JARDIN DES BERGES DU CANAL SAINT MARTIN", "arc_adresse": "150 QUAI DE VALMY", "geo_point_2d": [48.8801112154, 2.36720666871], "nombre_de_borne_wifi": 1, "idpw": "PW0194", "geo_shape": {"type": "Point", "coordinates": [2.3672066687098132, 48.8801112154069]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36720666871, 48.8801112154]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "eae224a3288d036c73e4c385f04cc4db5bca4db0", "fields": {"cp": "75020", "nom_site": "BIBLIOTHEQUE OSCAR WILDE", "arc_adresse": "12 RUE DU TELEGRAPHE", "geo_point_2d": [48.8720261058, 2.39981629322], "nombre_de_borne_wifi": 1, "idpw": "PW0061", "geo_shape": {"type": "Point", "coordinates": [2.399816293218798, 48.87202610578211]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.39981629322, 48.8720261058]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "1b12415bcdcd6020552225f3e5759b1dcc77980c", "fields": {"cp": "75012", "nom_site": "MAIRIE DU 12 EME", "arc_adresse": "130 AVENUE DAUMESNIL", "geo_point_2d": [48.8411040785, 2.3883374877], "nombre_de_borne_wifi": 1, "idpw": "PW0012", "geo_shape": {"type": "Point", "coordinates": [2.388337487704946, 48.841104078480036]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3883374877, 48.8411040785]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "8badc39567ff0a04bf8e51585c6b86f5a84769fe", "fields": {"cp": "75004", "nom_site": "JARDIN FREDERICO GARCIA LORCA - SQUARE HDV", "arc_adresse": "QUAI DE L'HOTEL DE VILLE", "geo_point_2d": [48.8547105055, 2.35324093401], "nombre_de_borne_wifi": 1, "idpw": "PW0191", "geo_shape": {"type": "Point", "coordinates": [2.353240934008802, 48.85471050547105]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35324093401, 48.8547105055]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "55f12b6745e3284cd82448b3bb717ddb55ad7d37", "fields": {"cp": "75014", "nom_site": "SQUARE SERMENT DE KOUFRA", "arc_adresse": "30 AVENUE ERNEST REYER", "geo_point_2d": [48.8215934539, 2.32303498218], "nombre_de_borne_wifi": 1, "idpw": "PW0188", "geo_shape": {"type": "Point", "coordinates": [2.323034982175869, 48.821593453909365]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.32303498218, 48.8215934539]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "e6a11955a35194388707f1d56dc73253e48ba38b", "fields": {"cp": "75001", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 1", "arc_adresse": "5B RUE DU LOUVRE", "geo_point_2d": [48.8618833615, 2.341156755], "nombre_de_borne_wifi": 2, "idpw": "PW0148", "geo_shape": {"type": "Point", "coordinates": [2.34115675500317, 48.861883361502315]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.341156755, 48.8618833615]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "a7b673dca3c593fa624aeec5db16490ed501ac0c", "fields": {"cp": "75015", "nom_site": "CENTRE SPORTIF PLAINE", "arc_adresse": "13 RUE DU GENERAL GUILLAUMAT", "geo_point_2d": [48.8280331741, 2.29332761077], "nombre_de_borne_wifi": 1, "idpw": "PW0088", "geo_shape": {"type": "Point", "coordinates": [2.293327610769408, 48.828033174092695]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.29332761077, 48.8280331741]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "4db99b6b71c80d199f9e0138c70994719acf9072", "fields": {"cp": "75012", "nom_site": "CENTRE SPORTIF LEO LAGRANGE", "arc_adresse": "68 BOULEVARD PONIATOWSKI", "geo_point_2d": [48.8321648675, 2.39933433594], "nombre_de_borne_wifi": 1, "idpw": "PW0084", "geo_shape": {"type": "Point", "coordinates": [2.399334335935606, 48.832164867528206]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.39933433594, 48.8321648675]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "92572607ae26458cb3d48c7070a0834ae07945a1", "fields": {"cp": "75014", "nom_site": "GYMNASE ALICE MILLIAT", "arc_adresse": "11 T RUE D ALESIA", "geo_point_2d": [48.8271609094, 2.33626383901], "nombre_de_borne_wifi": 1, "idpw": "PW0094", "geo_shape": {"type": "Point", "coordinates": [2.336263839006832, 48.82716090943828]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.33626383901, 48.8271609094]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "774176f9dd51e77c3681eb424b6f0e5eb9ddc6e7", "fields": {"cp": "75012", "nom_site": "GYMNASE REUILLY", "arc_adresse": "11 RUE ANTOINE JULIEN HENARD", "geo_point_2d": [48.8417054788, 2.38917144192], "nombre_de_borne_wifi": 1, "idpw": "PW0099", "geo_shape": {"type": "Point", "coordinates": [2.389171441921968, 48.84170547884535]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38917144192, 48.8417054788]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "2ccea987be3091d659daf4dc10765115d4cf8862", "fields": {"cp": "75017", "nom_site": "PISCINE BERNARD LAFAY", "arc_adresse": "79 RUE DE LA JONQUIERE", "geo_point_2d": [48.8946479903, 2.31881724233], "nombre_de_borne_wifi": 1, "idpw": "PW0100", "geo_shape": {"type": "Point", "coordinates": [2.318817242332568, 48.89464799028461]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.31881724233, 48.8946479903]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "c6f26b042e4c3cdc13aaa49b791a7b83d365764c", "fields": {"cp": "75012", "nom_site": "PROMENADE PLANTEE VERS BASTILLE", "arc_adresse": "0 AVENUE DAUMESNIL - RUE DE LYON", "geo_point_2d": [48.8494425874, 2.37138229891], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.371382298907526, 48.84944258739955]}, "etat2": "En \u00e9tude"}, "geometry": {"type": "Point", "coordinates": [2.37138229891, 48.8494425874]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "62a716440a7e807f979a931a32856aa0faf2c121", "fields": {"cp": "75009", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 9 ANNEXE", "arc_adresse": "35 RUE VICTOR MASSE", "geo_point_2d": [48.8809409831, 2.33701088306], "nombre_de_borne_wifi": 1, "idpw": "PW0038", "geo_shape": {"type": "Point", "coordinates": [2.337010883062689, 48.88094098309761]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.33701088306, 48.8809409831]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "ae3421c44c5a5450adc10599c1a2afcd0dfd5441", "fields": {"cp": "75004", "nom_site": "HOTEL DE VILLE 4EME", "arc_adresse": "4 PLACE DE L'HOTEL DE VILLE", "geo_point_2d": [48.8568665354, 2.35317182328], "nombre_de_borne_wifi": 6, "idpw": "PW0122-5", "geo_shape": {"type": "Point", "coordinates": [2.353171823279209, 48.85686653543353]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35317182328, 48.8568665354]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "c65f23f28a3972fa2cc7359cf757e3cb542b6536", "fields": {"cp": "75020", "nom_site": "PARC DE BELLEVILLE - 2", "arc_adresse": "45-47 RUE DES COURONNES", "geo_point_2d": [48.8703088766, 2.38480663231], "nombre_de_borne_wifi": 1, "idpw": "PW0204", "geo_shape": {"type": "Point", "coordinates": [2.384806632308035, 48.870308876631796]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38480663231, 48.8703088766]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "238985bdb602829cc4de1a23aa56c71c5fcb95fe", "fields": {"cp": "75018", "nom_site": "MAIRIE DU 18 EME", "arc_adresse": "1 PLACE JULES JOFFRIN", "geo_point_2d": [48.8923035579, 2.34468721296], "nombre_de_borne_wifi": 1, "idpw": "PW0023", "geo_shape": {"type": "Point", "coordinates": [2.3446872129632013, 48.892303557851214]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34468721296, 48.8923035579]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "b69f93d14bef37ec8e62fa4a2a4c9f89eaebbd39", "fields": {"cp": "75004", "nom_site": "BERGES RIVE DROITE - PONT D ARCOLE", "arc_adresse": "BERGE DE SEINE RIVE DROITE - QUAI DE GESVRES", "geo_point_2d": [48.8558319848, 2.35083466129], "nombre_de_borne_wifi": 1, "idpw": "PW0156", "geo_shape": {"type": "Point", "coordinates": [2.350834661285838, 48.85583198477931]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35083466129, 48.8558319848]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "1b940e19363ba63a27acc9e6a31797a4e354245b", "fields": {"cp": "75004", "nom_site": "SQUARE DE LA TOUR SAINT JACQUES", "arc_adresse": "88 RUE DE RIVOLI", "geo_point_2d": [48.8580407243, 2.34922010145], "nombre_de_borne_wifi": 1, "idpw": "PW0153", "geo_shape": {"type": "Point", "coordinates": [2.349220101454865, 48.85804072427662]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34922010145, 48.8580407243]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "d20cdd3f6e99995cbc018253a9fcf7743fa10587", "fields": {"cp": "75019", "nom_site": "SQUARE MARCEL MOULOUDJI", "arc_adresse": "2 RUE PIERRE REVERDY", "geo_point_2d": [48.8852754048, 2.37635419105], "nombre_de_borne_wifi": 1, "idpw": "PW0167", "geo_shape": {"type": "Point", "coordinates": [2.376354191052254, 48.88527540480054]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.37635419105, 48.8852754048]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "0095035b13401fc020729b348ed6a376aa466504", "fields": {"cp": "75020", "nom_site": "CENTRE SPORTIF ALFRED NAKACHE", "arc_adresse": "4/12 RUE DENOYEZ", "geo_point_2d": [48.8714830648, 2.37867703535], "nombre_de_borne_wifi": 1, "idpw": "PW0071", "geo_shape": {"type": "Point", "coordinates": [2.378677035345246, 48.8714830647833]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.37867703535, 48.8714830648]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "2b5bef0db9519c368b75fc50ec76b5ed98542819", "fields": {"cp": "75006", "nom_site": "JARDIN DES GRANDS EXPLORATEURS", "arc_adresse": "5 RUE MICHELET", "geo_point_2d": [48.8413885661, 2.33670570395], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.336705703948916, 48.841388566111874]}, "etat2": "En \u00e9tude"}, "geometry": {"type": "Point", "coordinates": [2.33670570395, 48.8413885661]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "402ff03c5334dfdc4e10358f24ec1c0ecbdc6be7", "fields": {"cp": "75004", "nom_site": "SQUARE JEAN XXIII - 1", "arc_adresse": "RUE DU CLOITRE NOTRE DAME", "geo_point_2d": [48.8524420013, 2.35067060781], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.350670607814153, 48.85244200134776]}, "etat2": "En d\u00e9ploiement"}, "geometry": {"type": "Point", "coordinates": [2.35067060781, 48.8524420013]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "cb66412e470e1ebd3d4c71946babc7c76bf0be19", "fields": {"cp": "75017", "nom_site": "MAIRIE DU 17 EME", "arc_adresse": "16/20 RUE DES BATIGNOLLES", "geo_point_2d": [48.8844937686, 2.32183436031], "nombre_de_borne_wifi": 2, "idpw": "PW0016", "geo_shape": {"type": "Point", "coordinates": [2.321834360309547, 48.88449376861104]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.32183436031, 48.8844937686]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "1582ff9f621ffcd9fe79faabf78f8a38a4633411", "fields": {"cp": "75009", "nom_site": "SQUARE D'ANVERS", "arc_adresse": "PLACE D'ANVERS", "geo_point_2d": [48.88231743, 2.34452051997], "nombre_de_borne_wifi": 1, "idpw": "PW0184", "geo_shape": {"type": "Point", "coordinates": [2.344520519971863, 48.882317429953154]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34452051997, 48.88231743]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "421a32c7bbbd1f1df49a9f28a614f90d9bdab338", "fields": {"cp": "75016", "nom_site": "JARDIN MUSEE GALLIERA", "arc_adresse": "10 AVENUE PIERRE IER DE SERBIE", "geo_point_2d": [48.8658585587, 2.29699237535], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.296992375354935, 48.865858558661564]}, "etat2": "Ferm\u00e9 pour travaux"}, "geometry": {"type": "Point", "coordinates": [2.29699237535, 48.8658585587]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "c16ca9911b5719dd19226922ec2df3db8f154995", "fields": {"cp": "75016", "nom_site": "CENTRE SPORTIF HENRY DE MONTHERLAND", "arc_adresse": "30-32 BOULEVARD LANNES", "geo_point_2d": [48.8675228068, 2.27212085381], "nombre_de_borne_wifi": 1, "idpw": "PW0101", "geo_shape": {"type": "Point", "coordinates": [2.27212085380691, 48.86752280679387]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.27212085381, 48.8675228068]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "56006338f49e18d8f55cbfe822e55d2866ab1100", "fields": {"cp": "75013", "nom_site": "PROMENADE PISCINE JOSEPHINE BAKER", "arc_adresse": "QUAI FRANCOIS MAURIAC", "geo_point_2d": [48.836030316, 2.37589085119], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.375890851188937, 48.83603031598058]}, "etat2": "En \u00e9tude"}, "geometry": {"type": "Point", "coordinates": [2.37589085119, 48.836030316]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "320ef2257618b3fce5395ec82f73ef59e8664d8f", "fields": {"cp": "75011", "nom_site": "SQUARE RICHARD LENOIR", "arc_adresse": "67 BOULEVARD RICHARD LENOIR", "geo_point_2d": [48.8605127941, 2.37222141682], "nombre_de_borne_wifi": 1, "idpw": "PW0206", "geo_shape": {"type": "Point", "coordinates": [2.372221416816595, 48.860512794097644]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.37222141682, 48.8605127941]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "1a3def1ddcdb7fe065c368c1e3a28b3f421bd839", "fields": {"cp": "75005", "nom_site": "BIBLIOTHEQUE DES LITTERATURES POLICIERES", "arc_adresse": "48-50 RUE DU CARDINAL LEMOINE", "geo_point_2d": [48.84643023, 2.35118103072], "nombre_de_borne_wifi": 2, "idpw": "PW0138", "geo_shape": {"type": "Point", "coordinates": [2.351181030723315, 48.84643022998531]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35118103072, 48.84643023]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "39c3dbdce2368fd4f03194d88b97eec9032a5b3d", "fields": {"cp": "75019", "nom_site": "BIBLIOTHEQUE HERGE", "arc_adresse": "2 RUE DU DEPARTEMENT", "geo_point_2d": [48.8850136264, 2.36723501408], "nombre_de_borne_wifi": 1, "idpw": "PW0139", "geo_shape": {"type": "Point", "coordinates": [2.367235014082818, 48.88501362640926]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36723501408, 48.8850136264]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "893d5b1e1405a0888a4cf9ef591faa9acd65dd7c", "fields": {"cp": "75005", "nom_site": "BIBLIOTHEQUE BUFFON", "arc_adresse": "15 B RUE BUFFON", "geo_point_2d": [48.842546608, 2.3618682436], "nombre_de_borne_wifi": 3, "idpw": "PW0111", "geo_shape": {"type": "Point", "coordinates": [2.361868243596555, 48.84254660801997]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3618682436, 48.842546608]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "466e78754b70f24c810e74dc03cfab7e601a69d8", "fields": {"cp": "75008", "nom_site": "PARC MONCEAU - ALLEE CONTESSE DE SEGUR", "arc_adresse": "1-3 PLACE DE LA REPUBLIQUE DOMINICAINE", "geo_point_2d": [48.8802623407, 2.30983989697], "nombre_de_borne_wifi": 4, "idpw": "PW0151", "geo_shape": {"type": "Point", "coordinates": [2.309839896973783, 48.8802623407297]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.30983989697, 48.8802623407]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "ad87853e3eb986479a350a6fa77dd4087fcf4dad", "fields": {"cp": "75013", "nom_site": "SQUARE HELOISE ET ABELARD - PARIS NATURE MAISON DES 5 SENS", "arc_adresse": "22 RUE PIERRE GOURDAULT", "geo_point_2d": [48.8309190436, 2.37010695364], "nombre_de_borne_wifi": 1, "idpw": "PW0066", "geo_shape": {"type": "Point", "coordinates": [2.370106953637174, 48.83091904359557]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.37010695364, 48.8309190436]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "d453fb37cb95d259d9e8f943ae5d91dbb243fb3a", "fields": {"cp": "75001", "nom_site": "BERGES RIVE DROITE - PONT AU CHANGE", "arc_adresse": "BERGE DE SEINE RIVE DROITE - VIA FERRATA", "geo_point_2d": [48.8575127839, 2.34656304265], "nombre_de_borne_wifi": 1, "idpw": "PW0158", "geo_shape": {"type": "Point", "coordinates": [2.346563042652777, 48.85751278386863]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34656304265, 48.8575127839]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "a4d76e829b0984fc35ce839ad00660ac3a4aba8c", "fields": {"cp": "75008", "nom_site": "MUSEE CERNUSCHI", "arc_adresse": "7 AVENUE VELASQUEZ", "geo_point_2d": [48.8794445126, 2.31252309998], "nombre_de_borne_wifi": 17, "idpw": "PW0144", "geo_shape": {"type": "Point", "coordinates": [2.312523099981508, 48.879444512607904]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.31252309998, 48.8794445126]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "80545f8fae4ce6dcec4058072be9a6e19b34789f", "fields": {"cp": "75012", "nom_site": "CENTRE PARIS ANIM'MAURICE RAVEL", "arc_adresse": "6 RUE MAURICE RAVEL", "geo_point_2d": [48.8418039259, 2.41166835606], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.411668356058277, 48.84180392592807]}, "etat2": "En d\u00e9ploiement"}, "geometry": {"type": "Point", "coordinates": [2.41166835606, 48.8418039259]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "8f95db38e945761f228c00067d311e1ee95a873d", "fields": {"cp": "75020", "nom_site": "MAIRIE DU 20 EME", "arc_adresse": "6 PLACE GAMBETTA", "geo_point_2d": [48.8650911391, 2.39899770026], "nombre_de_borne_wifi": 1, "idpw": "PW0018", "geo_shape": {"type": "Point", "coordinates": [2.3989977002640392, 48.865091139066706]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.39899770026, 48.8650911391]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "aeac267a4d3d55e3c9e16a2a64775b2c42a94f0f", "fields": {"cp": "75019", "nom_site": "PARC DES BUTTES CHAUMONT - FESSARD", "arc_adresse": "3 RUE BOTZARIS", "geo_point_2d": [48.8779490326, 2.38109010003], "nombre_de_borne_wifi": 3, "idpw": "PW0159-2", "geo_shape": {"type": "Point", "coordinates": [2.381090100033082, 48.8779490325857]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38109010003, 48.8779490326]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "46c15817e426f4e0064ffdc32e5fa06d092f15cf", "fields": {"cp": "75014", "nom_site": "SQUARE CLAUDE NICOLAS LEDOUX", "arc_adresse": "2 PLACE DENFERT ROCHEREAU", "geo_point_2d": [48.8342318805, 2.33212851833], "nombre_de_borne_wifi": 2, "idpw": "PW0199", "geo_shape": {"type": "Point", "coordinates": [2.332128518332322, 48.83423188051034]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.33212851833, 48.8342318805]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "6eba372956b21538077be632700556a67e1a97a5", "fields": {"cp": "75011", "nom_site": "SQUARE DES JARDINIERS", "arc_adresse": "2 PASSAGE DUMAS", "geo_point_2d": [48.8520900215, 2.39025008686], "nombre_de_borne_wifi": 1, "idpw": "PW0203", "geo_shape": {"type": "Point", "coordinates": [2.390250086858031, 48.85209002148713]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.39025008686, 48.8520900215]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "f8b9e67e35e94827773c8dd407e1ccc5ef24fcb3", "fields": {"cp": "75009", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 9", "arc_adresse": "54 RUE PIGALLE", "geo_point_2d": [48.8809781342, 2.33593661121], "nombre_de_borne_wifi": 1, "idpw": "PW0037", "geo_shape": {"type": "Point", "coordinates": [2.335936611209823, 48.88097813417974]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.33593661121, 48.8809781342]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "98eb82278e9c2150461b44bc18626904c540739b", "fields": {"cp": "75015", "nom_site": "BIBLIOTHEQUE VAUGIRARD", "arc_adresse": "154 RUE LECOURBE", "geo_point_2d": [48.8417075067, 2.299350322], "nombre_de_borne_wifi": 2, "idpw": "PW0137", "geo_shape": {"type": "Point", "coordinates": [2.299350321997608, 48.84170750668818]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.299350322, 48.8417075067]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "6df1245b1fc67db20b876893998f506660463d78", "fields": {"cp": "75018", "nom_site": "CENTRE SPORTIF POISSONNIERS", "arc_adresse": "2 RUE JEAN COCTEAU", "geo_point_2d": [48.8996859262, 2.35199197527], "nombre_de_borne_wifi": 1, "idpw": "PW0091", "geo_shape": {"type": "Point", "coordinates": [2.351991975265799, 48.89968592616539]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35199197527, 48.8996859262]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "9566f30038abef4d6efe29e2fc05e7a75827b271", "fields": {"cp": "75019", "nom_site": "SQUARE DE LA SEINE", "arc_adresse": "40 QUAI DE LA SEINE", "geo_point_2d": [48.88675044, 2.37486211511], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.3748621151082, 48.886750439982144]}, "etat2": "En \u00e9tude"}, "geometry": {"type": "Point", "coordinates": [2.37486211511, 48.88675044]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "c336f0af059bcd2794ce46584303c697fc9f7018", "fields": {"cp": "75020", "nom_site": "CENTRE SPORTIF LOUIS LUMIERE", "arc_adresse": "30 RUE LOUIS LUMIERE", "geo_point_2d": [48.8591982131, 2.41164568454], "nombre_de_borne_wifi": 1, "idpw": "PW0105", "geo_shape": {"type": "Point", "coordinates": [2.411645684536093, 48.859198213081555]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.41164568454, 48.8591982131]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "88367089ec4a7dc506941a188865f9590d7aef50", "fields": {"cp": "75010", "nom_site": "CENTRE SPORTIF DE LA GRANGE AUX BELLES", "arc_adresse": "17 RUE BOY ZELENSKI", "geo_point_2d": [48.8774306165, 2.36839034022], "nombre_de_borne_wifi": 1, "idpw": "PW0077", "geo_shape": {"type": "Point", "coordinates": [2.368390340217362, 48.87743061654489]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36839034022, 48.8774306165]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "1cdf1e401ffc958f0f1ebe0fb4bb6038090d2489", "fields": {"cp": "75005", "nom_site": "CENTRE SPORTIF POLIVEAU", "arc_adresse": "39 B RUE POLIVEAU", "geo_point_2d": [48.8398121461, 2.35748075184], "nombre_de_borne_wifi": 1, "idpw": "PW0090", "geo_shape": {"type": "Point", "coordinates": [2.357480751841143, 48.839812146078]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35748075184, 48.8398121461]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "0e5bc8a550ce85991ac796ff2289efd95bffcf2f", "fields": {"cp": "75013", "nom_site": "STADE CHARLETY", "arc_adresse": "99 BOULEVARD KELLERMANN", "geo_point_2d": [48.8190213359, 2.34509522033], "nombre_de_borne_wifi": 5, "idpw": "PW0169-1", "geo_shape": {"type": "Point", "coordinates": [2.345095220326007, 48.819021335918535]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34509522033, 48.8190213359]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "e395e77aa4d1cd28e99cd1b6692b2aad8a85e3d3", "fields": {"cp": "75008", "nom_site": "MAIRIE DU 8 EME", "arc_adresse": "3 RUE DE LISBONNE", "geo_point_2d": [48.877751384, 2.31748647872], "nombre_de_borne_wifi": 1, "idpw": "PW0024", "geo_shape": {"type": "Point", "coordinates": [2.317486478723445, 48.87775138401691]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.31748647872, 48.877751384]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "834dd2cd04402f0b5862711aa304eda17d572fe4", "fields": {"cp": "75018", "nom_site": "CENTRE SPORTIF BERTRAND DAUVIN", "arc_adresse": "12 RUE RENE BINET", "geo_point_2d": [48.8994866387, 2.34205409809], "nombre_de_borne_wifi": 1, "idpw": "PW0089", "geo_shape": {"type": "Point", "coordinates": [2.342054098091889, 48.8994866387355]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34205409809, 48.8994866387]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "94825b16f22aa0cffb2f158d5bebc38c4ffd2adc", "fields": {"cp": "75002", "nom_site": "BIBLIOTHEQUE CHARLOTTE DELBO", "arc_adresse": "2 PASSAGE DES PETITS PERES", "geo_point_2d": [48.8665075801, 2.34043449149], "nombre_de_borne_wifi": 2, "idpw": "PW0134", "geo_shape": {"type": "Point", "coordinates": [2.340434491489432, 48.86650758005406]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34043449149, 48.8665075801]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "50b7d6775497b366fc18702788c2cfac84b38f89", "fields": {"cp": "75018", "nom_site": "BIBLIOTHEQUE VACLAV HAVEL", "arc_adresse": "26B RUE PAJOL", "geo_point_2d": [48.8901061541, 2.36320997363], "nombre_de_borne_wifi": 4, "idpw": "PW0009", "geo_shape": {"type": "Point", "coordinates": [2.363209973631121, 48.890106154134955]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36320997363, 48.8901061541]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "5945ab54e70223d3ef240a7294911c9a65cf8263", "fields": {"cp": "75019", "nom_site": "CENTRE SPORTIF JULES LADOUMEGUE", "arc_adresse": "37 ROUTE DES PETITS PONTS", "geo_point_2d": [48.893005177, 2.39778750696], "nombre_de_borne_wifi": 1, "idpw": "PW0083", "geo_shape": {"type": "Point", "coordinates": [2.397787506964459, 48.893005176977596]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.39778750696, 48.893005177]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "938fb0839ae8e2a5495a6fa68fe69e5a9b454bf6", "fields": {"cp": "75012", "nom_site": "ACTIVITES ARTISANALES ET CREATION DU 12EME", "arc_adresse": "30 RUE DU FAUBOURG SAINT ANTOINE", "geo_point_2d": [48.8524066125, 2.37164543506], "nombre_de_borne_wifi": 3, "idpw": "PW0120", "geo_shape": {"type": "Point", "coordinates": [2.371645435064271, 48.85240661248836]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.37164543506, 48.8524066125]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "7d6fbee334024ed7b2e4207babe1f330d0f68a69", "fields": {"cp": "75006", "nom_site": "BIBLIOTHEQUE ANDRE MALRAUX", "arc_adresse": "78 BOULEVARD RASPAIL", "geo_point_2d": [48.8481097373, 2.32759433608], "nombre_de_borne_wifi": 2, "idpw": "PW0118", "geo_shape": {"type": "Point", "coordinates": [2.327594336081364, 48.848109737334205]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.32759433608, 48.8481097373]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "b99c194d8d389ba625d9129017c7e782b78d73ff", "fields": {"cp": "75004", "nom_site": "BIBLIOTHEQUE HISTORIQUE DE LA VILLE DE PARIS (BHVP)", "arc_adresse": "24 RUE PAVEE", "geo_point_2d": [48.8570654279, 2.36169590439], "nombre_de_borne_wifi": 1, "idpw": "PW0043", "geo_shape": {"type": "Point", "coordinates": [2.3616959043904773, 48.85706542792421]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36169590439, 48.8570654279]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "fd012d2daa7bf6c8c59985568ecfcf229d1840d7", "fields": {"cp": "75001", "nom_site": "JARDIN NELSON MANDELA", "arc_adresse": "32 RUE BERGER", "geo_point_2d": [48.8614694222, 2.34630372401], "nombre_de_borne_wifi": 2, "idpw": "PW0110", "geo_shape": {"type": "Point", "coordinates": [2.34630372400731, 48.861469422154464]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34630372401, 48.8614694222]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "8e05c685390f65d7e83c7d42f8c7499d38f1397d", "fields": {"cp": "75015", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 15", "arc_adresse": "22 RUE DE LA SAIDA", "geo_point_2d": [48.8318321726, 2.29575609576], "nombre_de_borne_wifi": 2, "idpw": "PW0031", "geo_shape": {"type": "Point", "coordinates": [2.295756095762723, 48.83183217258378]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.29575609576, 48.8318321726]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "a6b8f217121a206daa0d67dedf1e7bd31e881a77", "fields": {"cp": "75017", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 17", "arc_adresse": "25 RUE LANTIEZ", "geo_point_2d": [48.8950306662, 2.32375142311], "nombre_de_borne_wifi": 1, "idpw": "PW0042", "geo_shape": {"type": "Point", "coordinates": [2.323751423106822, 48.89503066621169]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.32375142311, 48.8950306662]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "7074de848c713a3fe9bd31c9bad8f4718801b9f1", "fields": {"cp": "75018", "nom_site": "CENTRE SPORTIF ZAC PAJOL", "arc_adresse": "22T RUE PAJOL", "geo_point_2d": [48.8895947972, 2.36306760121], "nombre_de_borne_wifi": 1, "idpw": "PW0092", "geo_shape": {"type": "Point", "coordinates": [2.3630676012052962, 48.88959479724705]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36306760121, 48.8895947972]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "a3e4bf325f548fcaa8bec7f94ec14bfe88791867", "fields": {"cp": "75012", "nom_site": "BIBLIOTHEQUE DIDEROT", "arc_adresse": "42 AVENUE DAUMESNIL", "geo_point_2d": [48.8459667166, 2.37771613956], "nombre_de_borne_wifi": 1, "idpw": "PW0135", "geo_shape": {"type": "Point", "coordinates": [2.377716139560768, 48.8459667165727]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.37771613956, 48.8459667166]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "7ede8dcaa61aa259eb48c96eae0586f1de96b2b9", "fields": {"cp": "75011", "nom_site": "BIBLIOTHEQUE PARMENTIER", "arc_adresse": "20 AVENUE PARMENTIER", "geo_point_2d": [48.860096294, 2.3790349615], "nombre_de_borne_wifi": 1, "idpw": "PW0052", "geo_shape": {"type": "Point", "coordinates": [2.379034961498105, 48.8600962940483]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3790349615, 48.860096294]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "c8acf726b2e0237267d0ccc3734fede8319627ff", "fields": {"cp": "75016", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 16", "arc_adresse": "14-16 AVENUE RENE BOYLESVE", "geo_point_2d": [48.8567504745, 2.28383673376], "nombre_de_borne_wifi": 2, "idpw": "PW0041", "geo_shape": {"type": "Point", "coordinates": [2.283836733756715, 48.8567504744646]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.28383673376, 48.8567504745]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "81700c8f96f2e3f33b64d87a87fd2edf9bf3aa2b", "fields": {"cp": "75019", "nom_site": "CENTRE SPORTIF DES LILAS", "arc_adresse": "5 RUE DES LILAS", "geo_point_2d": [48.8779068008, 2.39542126695], "nombre_de_borne_wifi": 1, "idpw": "PW0081", "geo_shape": {"type": "Point", "coordinates": [2.395421266947553, 48.8779068008442]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.39542126695, 48.8779068008]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "2fbdb42fc25b2eda06752cfd45890a60168c000c", "fields": {"cp": "75017", "nom_site": "SQUARE ANDRE ULMANN", "arc_adresse": "17 BOULEVARD DE REIMS", "geo_point_2d": [48.8899003976, 2.29894138948], "nombre_de_borne_wifi": 1, "idpw": "PW0166", "geo_shape": {"type": "Point", "coordinates": [2.298941389477171, 48.88990039760424]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.29894138948, 48.8899003976]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "75582caff99cc3f0f826c859157e785e9407c6b5", "fields": {"cp": "75008", "nom_site": "PROMENADE DES CHAMPS ELYSEES - KIOSQUE A MUSIQUE", "arc_adresse": "AVENUE EDWARD TUCK", "geo_point_2d": [48.8652873059, 2.31783976898], "nombre_de_borne_wifi": 2, "idpw": "PW0196", "geo_shape": {"type": "Point", "coordinates": [2.317839768979231, 48.86528730587916]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.31783976898, 48.8652873059]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "18ea9bad88b741d5581f75cd3db564357cd33e57", "fields": {"cp": "75013", "nom_site": "STADE CHARLETY", "arc_adresse": "99 BOULEVARD KELLERMANN", "geo_point_2d": [48.819334381, 2.34670165273], "nombre_de_borne_wifi": 6, "idpw": "PW0169", "geo_shape": {"type": "Point", "coordinates": [2.346701652733019, 48.81933438097507]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34670165273, 48.819334381]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "95acab923ca50f92c1b3bafaf771bc7ee02d87fd", "fields": {"cp": "75004", "nom_site": "HOTEL DE VILLE 1ER", "arc_adresse": "PLACE DE L HOTEL DE VILLE", "geo_point_2d": [48.856082874, 2.35226185907], "nombre_de_borne_wifi": 3, "idpw": "PW0122-2", "geo_shape": {"type": "Point", "coordinates": [2.352261859070026, 48.85608287395023]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35226185907, 48.856082874]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "66e3d546d1df6574c07d2f546daad7e80b3eaa09", "fields": {"cp": "75009", "nom_site": "MAIRIE DU 9 EME", "arc_adresse": "6 RUE DROUOT", "geo_point_2d": [48.8725916024, 2.34048060215], "nombre_de_borne_wifi": 1, "idpw": "PW0131", "geo_shape": {"type": "Point", "coordinates": [2.340480602150851, 48.872591602361155]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34048060215, 48.8725916024]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "3dbb4a17d082bade236676022e196d6f9f3cb128", "fields": {"cp": "75015", "nom_site": "ESPACE PARISIEN POUR L INSERTION 7 15 16", "arc_adresse": "14 RUE MOISANT", "geo_point_2d": [48.8423101169, 2.3172057616], "nombre_de_borne_wifi": 1, "idpw": "PW0162", "geo_shape": {"type": "Point", "coordinates": [2.317205761596205, 48.842310116893366]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3172057616, 48.8423101169]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "750c741c4f4b6ff98510c15a13083797173d66cb", "fields": {"cp": "75004", "nom_site": "MAISON DES ACTEURS DU PARIS DURABLE", "arc_adresse": "21 RUE BLANCS MANTEAUX", "geo_point_2d": [48.8590496567, 2.35687277554], "nombre_de_borne_wifi": 3, "idpw": "PW0192", "geo_shape": {"type": "Point", "coordinates": [2.356872775538012, 48.8590496567407]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35687277554, 48.8590496567]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "0361ba6dd25d5d585e09af43067658799fe84488", "fields": {"cp": "75020", "nom_site": "JARDIN GARE DE CHARONNE", "arc_adresse": "59 BOULEVARD DAVOUT", "geo_point_2d": [48.8523121522, 2.41056064416], "nombre_de_borne_wifi": 1, "idpw": "PW0055", "geo_shape": {"type": "Point", "coordinates": [2.4105606441583802, 48.852312152208874]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.41056064416, 48.8523121522]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "f3e1de5329f62df26d335ccbc59c4f469849a250", "fields": {"cp": "75011", "nom_site": "MAIRIE DU 11 EME", "arc_adresse": "2 PLACE LEON BLUM", "geo_point_2d": [48.8580799315, 2.38100340048], "nombre_de_borne_wifi": 1, "idpw": "PW0011", "geo_shape": {"type": "Point", "coordinates": [2.381003400476269, 48.85807993154854]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38100340048, 48.8580799315]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "a42a8248cafc7f7898d053d43b8ab90344df6ed1", "fields": {"cp": "75016", "nom_site": "MAIRIE DU 16 EME", "arc_adresse": "71 AVENUE HENRI-MARTIN", "geo_point_2d": [48.8639407702, 2.2766525219], "nombre_de_borne_wifi": 1, "idpw": "PW0015", "geo_shape": {"type": "Point", "coordinates": [2.276652521898563, 48.86394077019893]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.2766525219, 48.8639407702]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "7cf789d4b3995b0ec8ded57f31dc8b4ba0b8b676", "fields": {"cp": "75012", "nom_site": "PARC FLORAL", "arc_adresse": "ROUTE DE LA PYRAMIDE", "geo_point_2d": [48.8401255449, 2.43983524718], "nombre_de_borne_wifi": 5, "idpw": "PW0200", "geo_shape": {"type": "Point", "coordinates": [2.439835247184326, 48.84012554493613]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.43983524718, 48.8401255449]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "b0ae460819e437fffbd34fa4497f670f8cb51bb3", "fields": {"cp": "75004", "nom_site": "HOTEL DE VILLE PARVIS RIVOLI", "arc_adresse": "4 PLACE DE L HOTEL DE VILLE", "geo_point_2d": [48.8570518501, 2.35235172421], "nombre_de_borne_wifi": 1, "idpw": "PW0123-1", "geo_shape": {"type": "Point", "coordinates": [2.352351724212447, 48.85705185006895]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.35235172421, 48.8570518501]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "334ff9b74a432691063b8af7ca20b6f4cd5d81a7", "fields": {"cp": "75011", "nom_site": "SQUARE BREGUET SABIN", "arc_adresse": "25 BOULEVARD RICHARD LENOIR", "geo_point_2d": [48.8570974891, 2.3704796611], "nombre_de_borne_wifi": 2, "idpw": "PW0177", "geo_shape": {"type": "Point", "coordinates": [2.370479661100423, 48.8570974891207]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3704796611, 48.8570974891]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "ed65ddc9eef085eaddf84ad53810561753859329", "fields": {"cp": "75019", "nom_site": "SQUARE CLAUDE BERNARD", "arc_adresse": "176 BOULEVARD MACDONALD", "geo_point_2d": [48.8982958877, 2.38158352816], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.381583528155401, 48.898295887695575]}, "etat2": "En \u00e9tude"}, "geometry": {"type": "Point", "coordinates": [2.38158352816, 48.8982958877]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "9e75939cddb21b086f2425f8d5a1f8331ae1db49", "fields": {"cp": "75013", "nom_site": "SQUARE GANDON", "arc_adresse": "211 BOULEVARD MASSENA", "geo_point_2d": [48.8190456397, 2.36659934112], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.3665993411190263, 48.81904563968323]}, "etat2": "En \u00e9tude"}, "geometry": {"type": "Point", "coordinates": [2.36659934112, 48.8190456397]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "2142f74a6d72acbbf63462d6dd7ed196c7ffb427", "fields": {"cp": "75011", "nom_site": "SQUARE JEAN AICARD", "arc_adresse": "5 AVENUE JEAN AICARD", "geo_point_2d": [48.8649086244, 2.38127231697], "nombre_de_borne_wifi": 1, "idpw": "PW0152", "geo_shape": {"type": "Point", "coordinates": [2.381272316972541, 48.86490862442903]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.38127231697, 48.8649086244]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "62bdbbe0c334c5f704a326ae926ca59f19f244cd", "fields": {"cp": "75013", "nom_site": "SQUARE JEAN CLAUDE NICOLAS FORESTIER", "arc_adresse": "79 BOULEVARD KELLERMANN", "geo_point_2d": [48.8198305601, 2.34775475511], "nombre_de_borne_wifi": 2, "idpw": "PW0179", "geo_shape": {"type": "Point", "coordinates": [2.347754755107914, 48.81983056005853]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34775475511, 48.8198305601]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "0d4268af40419d80e0181e1cc5333cc784e13121", "fields": {"cp": "75014", "nom_site": "SQUARE JULIA BARTET", "arc_adresse": "1 RUE JULIA BARTET", "geo_point_2d": [48.8256855011, 2.30282480885], "nombre_de_borne_wifi": 1, "idpw": "PW0183", "geo_shape": {"type": "Point", "coordinates": [2.302824808848508, 48.82568550112752]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.30282480885, 48.8256855011]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "f74c6ce27dfd9a02dbad70eb69eb55e3518aa0c9", "fields": {"cp": "75012", "nom_site": "CENTRE SPORTIF PAUL VALERY", "arc_adresse": "15 RUE DE LA NOUVELLE CALEDONIE", "geo_point_2d": [48.8380025291, 2.41042916157], "nombre_de_borne_wifi": 1, "idpw": "PW0087", "geo_shape": {"type": "Point", "coordinates": [2.410429161569747, 48.83800252906541]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.41042916157, 48.8380025291]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "8f006f52319b7cebdc28541e8cea6beebc7044b9", "fields": {"cp": "75019", "nom_site": "BIBLIOTHEQUE BENJAMIN RABIER", "arc_adresse": "141 AVENUE DE FLANDRE", "geo_point_2d": [48.8927610937, 2.37912283946], "nombre_de_borne_wifi": 2, "idpw": "PW0001", "geo_shape": {"type": "Point", "coordinates": [2.379122839458274, 48.89276109370963]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.37912283946, 48.8927610937]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "984c6077f93918583f4438b792199fb5e514b390", "fields": {"cp": "75017", "nom_site": "BIBLIOTHEQUE EDMOND ROSTAND", "arc_adresse": "11 RUE NICOLAS CHUQUET", "geo_point_2d": [48.8883943592, 2.30308970568], "nombre_de_borne_wifi": 2, "idpw": "PW0104", "geo_shape": {"type": "Point", "coordinates": [2.303089705679942, 48.888394359208995]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.30308970568, 48.8883943592]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "5b5c2549521c8295010e8166b6ae3bd4b667a103", "fields": {"cp": "75005", "nom_site": "BIBLIOTHEQUE MOHAMMED ARKOUN", "arc_adresse": "74 RUE MOUFFETARD", "geo_point_2d": [48.8424935285, 2.34967376066], "nombre_de_borne_wifi": 2, "idpw": "PW0126", "geo_shape": {"type": "Point", "coordinates": [2.349673760661308, 48.842493528521935]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34967376066, 48.8424935285]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "555b6ee29fe16a3fb79555ed047d15367926ac53", "fields": {"cp": "75007", "nom_site": "BERGES RIVE GAUCHE - LA HALLE", "arc_adresse": "PORT DE SOLFERINO", "geo_point_2d": [48.8611484589, 2.32506543396], "nombre_de_borne_wifi": 2, "idpw": "PW0190", "geo_shape": {"type": "Point", "coordinates": [2.32506543396433, 48.86114845894019]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.32506543396, 48.8611484589]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "06591f9f908cd914f98853e65d37b19f10604d43", "fields": {"cp": "75009", "nom_site": "BIBLIOTHEQUE CHAPTAL", "arc_adresse": "26 RUE CHAPTAL", "geo_point_2d": [48.8811113359, 2.33234555983], "nombre_de_borne_wifi": 2, "idpw": "PW0109", "geo_shape": {"type": "Point", "coordinates": [2.332345559826884, 48.8811113359397]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.33234555983, 48.8811113359]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "6c0d97b6cef0b1fd03e4991a78d570fbe9216fdf", "fields": {"cp": "75019", "nom_site": "BIBLIOTHEQUE CLAUDE LEVI STRAUSS", "arc_adresse": "35-45 AVENUE DE FLANDRE", "geo_point_2d": [48.8867669709, 2.37147305047], "nombre_de_borne_wifi": 2, "idpw": "PW0002", "geo_shape": {"type": "Point", "coordinates": [2.371473050466415, 48.88676697087047]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.37147305047, 48.8867669709]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "fde69098a22cd84469dd4e6f275d764513bff194", "fields": {"cp": "75020", "nom_site": "BIBLIOTHEQUE MARGUERITE DURAS", "arc_adresse": "109-115 RUE DE BAGNOLET", "geo_point_2d": [48.8598387687, 2.40322699854], "nombre_de_borne_wifi": 11, "idpw": "PW0045", "geo_shape": {"type": "Point", "coordinates": [2.403226998544119, 48.859838768718134]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.40322699854, 48.8598387687]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "3f3283db8cc2d7ff0c3536b80ef1402d80dbd336", "fields": {"cp": "75009", "nom_site": "BIBLIOTHEQUE VALEYRE", "arc_adresse": "24 RUE DE ROCHECHOUART", "geo_point_2d": [48.8779672649, 2.34502151234], "nombre_de_borne_wifi": 2, "idpw": "PW0142", "geo_shape": {"type": "Point", "coordinates": [2.34502151233773, 48.87796726487003]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34502151234, 48.8779672649]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "43f8d21b44af9890bc0fcef211083414a389aafb", "fields": {"cp": "75018", "nom_site": "JARDIN D EOLE - 2", "arc_adresse": "18B RUE DU DEPARTEMENT", "geo_point_2d": [48.8858336546, 2.36504782956], "nombre_de_borne_wifi": 1, "idpw": "PW0170-1", "geo_shape": {"type": "Point", "coordinates": [2.365047829562392, 48.885833654570234]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36504782956, 48.8858336546]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "c782ae268088214736e8266cd8d4fdeb3d50c9ae", "fields": {"cp": "75015", "nom_site": "BIBLIOTHEQUE ANDR\u00c9E CHEDID", "arc_adresse": "36-40 RUE EMERIAU", "geo_point_2d": [48.8497413105, 2.28613674375], "nombre_de_borne_wifi": 3, "idpw": "PW0117", "geo_shape": {"type": "Point", "coordinates": [2.286136743745502, 48.84974131047438]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.28613674375, 48.8497413105]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "ca4b59da0eab711d2cc4a3fe2aa0dbe043e6547c", "fields": {"cp": "75020", "nom_site": "BIBLIOTHEQUE LOUISE MICHEL", "arc_adresse": "29/35 RUE DES HAIES", "geo_point_2d": [48.8532955464, 2.40121278827], "nombre_de_borne_wifi": 2, "idpw": "PW0130", "geo_shape": {"type": "Point", "coordinates": [2.401212788267677, 48.853295546389774]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.40121278827, 48.8532955464]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "c1d135891ad3a7b1b582f76c872e380e8ca36153", "fields": {"cp": "75017", "nom_site": "BIBLIOTHEQUE BATIGNOLLES", "arc_adresse": "18 RUE DES BATIGNOLLES", "geo_point_2d": [48.884754514, 2.32212094544], "nombre_de_borne_wifi": 1, "idpw": "PW0133", "geo_shape": {"type": "Point", "coordinates": [2.322120945442447, 48.88475451404929]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.32212094544, 48.884754514]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "6aeb9d29ff40e1c76ac661bb142c0d007237e9d2", "fields": {"cp": "75018", "nom_site": "BIBLIOTHEQUE MAURICE GENEVOIX", "arc_adresse": "19 RUE TRISTAN TZARA", "geo_point_2d": [48.894964593, 2.36390071349], "nombre_de_borne_wifi": 1, "idpw": "PW0007", "geo_shape": {"type": "Point", "coordinates": [2.363900713494337, 48.8949645929562]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36390071349, 48.894964593]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "5703c83e8acc28f08a675717114508a6bc6671b7", "fields": {"cp": "75015", "nom_site": "CENTRE SPORTIF SUZANNE LENGLEN - STADE DE RUDBY", "arc_adresse": "2 RUE LOUIS ARMAND", "geo_point_2d": [48.8328810737, 2.27660615944], "nombre_de_borne_wifi": 1, "idpw": "PW0173-2", "geo_shape": {"type": "Point", "coordinates": [2.276606159443164, 48.832881073674926]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.27660615944, 48.8328810737]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "9413d6939fe186842baeeeaebc545b60eca74a21", "fields": {"cp": "75013", "nom_site": "CENTRE SPORTIF GEORGES CARPENTIER - BUREAU", "arc_adresse": "81 BOULEVARD MASSENA (BUREAU CENTRE SPORTIF)", "geo_point_2d": [48.8209032702, 2.36844617431], "nombre_de_borne_wifi": 2, "idpw": "PW0103-1", "geo_shape": {"type": "Point", "coordinates": [2.368446174308279, 48.82090327022334]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36844617431, 48.8209032702]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "db63d62902decd33847fda8eb1556223125df047", "fields": {"cp": "75016", "nom_site": "BIBLIOTHEQUE MUSSET", "arc_adresse": "20 RUE MUSSET", "geo_point_2d": [48.8420822374, 2.26353969865], "nombre_de_borne_wifi": 1, "idpw": "PW0140", "geo_shape": {"type": "Point", "coordinates": [2.263539698646935, 48.84208223736807]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.26353969865, 48.8420822374]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "282426a78389f4404af6887792b76036ee2dcd47", "fields": {"cp": "75013", "nom_site": "CENTRE SPORTIF GEORGES CARPENTIER - BATIMENT TENNIS", "arc_adresse": "81 BOULEVARD MASSENA", "geo_point_2d": [48.8204906699, 2.3673087496], "nombre_de_borne_wifi": 1, "idpw": "PW0103-2", "geo_shape": {"type": "Point", "coordinates": [2.367308749603462, 48.82049066987804]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3673087496, 48.8204906699]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "ab8cd4f3323d1a1b10e1ccabf383fdf9981332fd", "fields": {"cp": "75007", "nom_site": "BERGES RIVE GAUCHE - EMMARCHEMENT", "arc_adresse": "PORT DE SOLFERINO", "geo_point_2d": [48.8614166418, 2.32435657002], "nombre_de_borne_wifi": 2, "idpw": "PW0207", "geo_shape": {"type": "Point", "coordinates": [2.324356570020386, 48.86141664184819]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.32435657002, 48.8614166418]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "edb8d01790b82baa3b4946cc14b746adabc913b4", "fields": {"cp": "75016", "nom_site": "MUSEE BALZAC", "arc_adresse": "47 RUE RAYNOUARD", "geo_point_2d": [48.8553935976, 2.2807177166], "nombre_de_borne_wifi": 10, "idpw": "PW0202", "geo_shape": {"type": "Point", "coordinates": [2.280717716603592, 48.855393597560735]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.2807177166, 48.8553935976]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "d4deea6c901eb4c57bcc877d43896ff320e87e04", "fields": {"cp": "75003", "nom_site": "MAISON DES INITIATIVES ETUDIANTES", "arc_adresse": "50 RUE DES TOURNELLES", "geo_point_2d": [48.8562219571, 2.36739182013], "nombre_de_borne_wifi": 8, "idpw": "PW0070", "geo_shape": {"type": "Point", "coordinates": [2.36739182012952, 48.856221957138]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36739182013, 48.8562219571]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "f4d150d7faf4c3a979f8c3130d8c11babd07ec85", "fields": {"cp": "75001", "nom_site": "BERGES RIVE DROITE - PONT AU CHANGE", "arc_adresse": "BERGE DE SEINE RIVE DROITE - SORTIE CHATELET", "geo_point_2d": [48.8574278537, 2.34701992447], "nombre_de_borne_wifi": 1, "idpw": "PW0193", "geo_shape": {"type": "Point", "coordinates": [2.347019924471973, 48.857427853737875]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34701992447, 48.8574278537]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "3dbf3dca3f156c46b6e5463c584e2efd6af84e02", "fields": {"cp": "75013", "nom_site": "SQUARE PAUL GRIMAULT", "arc_adresse": "20 RUE DE LA FONTAINE A MULARD", "geo_point_2d": [48.8230435797, 2.3487751246], "nombre_de_borne_wifi": 1, "idpw": "PW0180", "geo_shape": {"type": "Point", "coordinates": [2.348775124598702, 48.82304357972497]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3487751246, 48.8230435797]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "60a3d22c73f2c9ea3f1b5ccfafa167be96a609c2", "fields": {"cp": "75002", "nom_site": "CENTRE SPORTIF JEAN DAME", "arc_adresse": "17 RUE LEOPOLD BELLAN", "geo_point_2d": [48.8665683485, 2.34550650532], "nombre_de_borne_wifi": 1, "idpw": "PW0082", "geo_shape": {"type": "Point", "coordinates": [2.345506505320458, 48.866568348499094]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.34550650532, 48.8665683485]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "487eb1020e42f15721013e8c9a2efe2322819aa8", "fields": {"cp": "75003", "nom_site": "BIBLIOTHEQUE MARGUERITE AUDOUX", "arc_adresse": "8-12 RUE PORTEFOIN", "geo_point_2d": [48.8637689236, 2.3598462566], "nombre_de_borne_wifi": 2, "idpw": "PW0044", "geo_shape": {"type": "Point", "coordinates": [2.359846256600825, 48.86376892355015]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.3598462566, 48.8637689236]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "e109576a0ee5506208265a1dc19b72465e21cb4f", "fields": {"cp": "75007", "nom_site": "MAIRIE DU 7 EME", "arc_adresse": "116 RUE DE GRENELLE", "geo_point_2d": [48.8568664767, 2.32004369744], "nombre_de_borne_wifi": 1, "idpw": "PW0022", "geo_shape": {"type": "Point", "coordinates": [2.320043697435677, 48.85686647665856]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.32004369744, 48.8568664767]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "70d367e606e003718963561589cfdcd3330a9d15", "fields": {"cp": "75014", "nom_site": "BIBLIOTHEQUE VANDAMME", "arc_adresse": "80 AVENUE DU MAINE", "geo_point_2d": [48.8385647684, 2.32204651708], "nombre_de_borne_wifi": 1, "geo_shape": {"type": "Point", "coordinates": [2.322046517079715, 48.838564768416234]}, "etat2": "Ferm\u00e9 pour travaux"}, "geometry": {"type": "Point", "coordinates": [2.32204651708, 48.8385647684]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "47b96a3f8bc4b8a2b0a8f7bd920127ac8683ede0", "fields": {"cp": "75020", "nom_site": "BIBLIOTHEQUE ASSIA DJEBARD", "arc_adresse": "1 RUE REYNALDO HAHN", "geo_point_2d": [48.8492339972, 2.41209815834], "nombre_de_borne_wifi": 6, "idpw": "PW0144", "geo_shape": {"type": "Point", "coordinates": [2.412098158335316, 48.8492339971869]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.41209815834, 48.8492339972]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "0ee49cd420dbad4e10101fee39792003d5fd6f77", "fields": {"cp": "75010", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 10", "arc_adresse": "206 QUAI DE VALMY", "geo_point_2d": [48.8817841102, 2.36872006696], "nombre_de_borne_wifi": 1, "idpw": "PW0028", "geo_shape": {"type": "Point", "coordinates": [2.368720066964892, 48.88178411021711]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.36872006696, 48.8817841102]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}, {"datasetid": "sites-disposant-du-service-paris-wi-fi", "recordid": "8f862cc7b785a75c8bd390654098e26eeeac2e27", "fields": {"cp": "75007", "nom_site": "MAISON DE LA VIE ASSOCIATIVE ET CITOYENNE 7", "arc_adresse": "93 RUE SAINT DOMINIQUE", "geo_point_2d": [48.8595702097, 2.30722648326], "nombre_de_borne_wifi": 1, "idpw": "PW0027", "geo_shape": {"type": "Point", "coordinates": [2.3072264832610783, 48.859570209736724]}, "etat2": "Op\u00e9rationnel"}, "geometry": {"type": "Point", "coordinates": [2.30722648326, 48.8595702097]}, "record_timestamp": "2019-10-08T07:01:10.494000+00:00"}], "facet_groups": [{"facets": [{"count": 28, "path": "75013", "state": "displayed", "name": "75013"}, {"count": 23, "path": "75004", "state": "displayed", "name": "75004"}, {"count": 20, "path": "75019", "state": "displayed", "name": "75019"}, {"count": 19, "path": "75012", "state": "displayed", "name": "75012"}, {"count": 17, "path": "75020", "state": "displayed", "name": "75020"}, {"count": 15, "path": "75011", "state": "displayed", "name": "75011"}, {"count": 14, "path": "75014", "state": "displayed", "name": "75014"}, {"count": 14, "path": "75018", "state": "displayed", "name": "75018"}, {"count": 13, "path": "75016", "state": "displayed", "name": "75016"}, {"count": 12, "path": "75015", "state": "displayed", "name": "75015"}, {"count": 10, "path": "75005", "state": "displayed", "name": "75005"}, {"count": 10, "path": "75007", "state": "displayed", "name": "75007"}, {"count": 10, "path": "75010", "state": "displayed", "name": "75010"}, {"count": 9, "path": "75001", "state": "displayed", "name": "75001"}, {"count": 9, "path": "75009", "state": "displayed", "name": "75009"}, {"count": 8, "path": "75008", "state": "displayed", "name": "75008"}, {"count": 8, "path": "75017", "state": "displayed", "name": "75017"}, {"count": 5, "path": "75006", "state": "displayed", "name": "75006"}, {"count": 4, "path": "75002", "state": "displayed", "name": "75002"}, {"count": 4, "path": "75003", "state": "displayed", "name": "75003"}], "name": "cp"}, {"facets": [{"count": 2, "path": "PW0136", "state": "displayed", "name": "PW0136"}, {"count": 2, "path": "PW0144", "state": "displayed", "name": "PW0144"}, {"count": 1, "path": "PW0001", "state": "displayed", "name": "PW0001"}, {"count": 1, "path": "PW0002", "state": "displayed", "name": "PW0002"}, {"count": 1, "path": "PW0003", "state": "displayed", "name": "PW0003"}, {"count": 1, "path": "PW0004", "state": "displayed", "name": "PW0004"}, {"count": 1, "path": "PW0005", "state": "displayed", "name": "PW0005"}, {"count": 1, "path": "PW0006", "state": "displayed", "name": "PW0006"}, {"count": 1, "path": "PW0007", "state": "displayed", "name": "PW0007"}, {"count": 1, "path": "PW0008", "state": "displayed", "name": "PW0008"}, {"count": 1, "path": "PW0009", "state": "displayed", "name": "PW0009"}, {"count": 1, "path": "PW0010", "state": "displayed", "name": "PW0010"}, {"count": 1, "path": "PW0011", "state": "displayed", "name": "PW0011"}, {"count": 1, "path": "PW0012", "state": "displayed", "name": "PW0012"}, {"count": 1, "path": "PW0013", "state": "displayed", "name": "PW0013"}, {"count": 1, "path": "PW0014", "state": "displayed", "name": "PW0014"}, {"count": 1, "path": "PW0015", "state": "displayed", "name": "PW0015"}, {"count": 1, "path": "PW0016", "state": "displayed", "name": "PW0016"}, {"count": 1, "path": "PW0017", "state": "displayed", "name": "PW0017"}, {"count": 1, "path": "PW0018", "state": "displayed", "name": "PW0018"}, {"count": 1, "path": "PW0019", "state": "displayed", "name": "PW0019"}, {"count": 1, "path": "PW0019-1", "state": "displayed", "name": "PW0019-1"}, {"count": 1, "path": "PW0020", "state": "displayed", "name": "PW0020"}, {"count": 1, "path": "PW0021", "state": "displayed", "name": "PW0021"}, {"count": 1, "path": "PW0022", "state": "displayed", "name": "PW0022"}, {"count": 1, "path": "PW0022-1", "state": "displayed", "name": "PW0022-1"}, {"count": 1, "path": "PW0023", "state": "displayed", "name": "PW0023"}, {"count": 1, "path": "PW0024", "state": "displayed", "name": "PW0024"}, {"count": 1, "path": "PW0026", "state": "displayed", "name": "PW0026"}, {"count": 1, "path": "PW0027", "state": "displayed", "name": "PW0027"}, {"count": 1, "path": "PW0028", "state": "displayed", "name": "PW0028"}, {"count": 1, "path": "PW0029", "state": "displayed", "name": "PW0029"}, {"count": 1, "path": "PW0030", "state": "displayed", "name": "PW0030"}, {"count": 1, "path": "PW0031", "state": "displayed", "name": "PW0031"}, {"count": 1, "path": "PW0032", "state": "displayed", "name": "PW0032"}, {"count": 1, "path": "PW0033", "state": "displayed", "name": "PW0033"}, {"count": 1, "path": "PW0034", "state": "displayed", "name": "PW0034"}, {"count": 1, "path": "PW0035", "state": "displayed", "name": "PW0035"}, {"count": 1, "path": "PW0036", "state": "displayed", "name": "PW0036"}, {"count": 1, "path": "PW0037", "state": "displayed", "name": "PW0037"}, {"count": 1, "path": "PW0038", "state": "displayed", "name": "PW0038"}, {"count": 1, "path": "PW0039", "state": "displayed", "name": "PW0039"}, {"count": 1, "path": "PW0040", "state": "displayed", "name": "PW0040"}, {"count": 1, "path": "PW0041", "state": "displayed", "name": "PW0041"}, {"count": 1, "path": "PW0042", "state": "displayed", "name": "PW0042"}, {"count": 1, "path": "PW0043", "state": "displayed", "name": "PW0043"}, {"count": 1, "path": "PW0044", "state": "displayed", "name": "PW0044"}, {"count": 1, "path": "PW0045", "state": "displayed", "name": "PW0045"}, {"count": 1, "path": "PW0046", "state": "displayed", "name": "PW0046"}, {"count": 1, "path": "PW0047", "state": "displayed", "name": "PW0047"}, {"count": 1, "path": "PW0048", "state": "displayed", "name": "PW0048"}, {"count": 1, "path": "PW0049", "state": "displayed", "name": "PW0049"}, {"count": 1, "path": "PW0050", "state": "displayed", "name": "PW0050"}, {"count": 1, "path": "PW0051", "state": "displayed", "name": "PW0051"}, {"count": 1, "path": "PW0052", "state": "displayed", "name": "PW0052"}, {"count": 1, "path": "PW0053", "state": "displayed", "name": "PW0053"}, {"count": 1, "path": "PW0054", "state": "displayed", "name": "PW0054"}, {"count": 1, "path": "PW0055", "state": "displayed", "name": "PW0055"}, {"count": 1, "path": "PW0056", "state": "displayed", "name": "PW0056"}, {"count": 1, "path": "PW0057", "state": "displayed", "name": "PW0057"}, {"count": 1, "path": "PW0058", "state": "displayed", "name": "PW0058"}, {"count": 1, "path": "PW0058-1", "state": "displayed", "name": "PW0058-1"}, {"count": 1, "path": "PW0058-2", "state": "displayed", "name": "PW0058-2"}, {"count": 1, "path": "PW0058-3", "state": "displayed", "name": "PW0058-3"}, {"count": 1, "path": "PW0059", "state": "displayed", "name": "PW0059"}, {"count": 1, "path": "PW0060", "state": "displayed", "name": "PW0060"}, {"count": 1, "path": "PW0061", "state": "displayed", "name": "PW0061"}, {"count": 1, "path": "PW0062", "state": "displayed", "name": "PW0062"}, {"count": 1, "path": "PW0063", "state": "displayed", "name": "PW0063"}, {"count": 1, "path": "PW0064", "state": "displayed", "name": "PW0064"}, {"count": 1, "path": "PW0065", "state": "displayed", "name": "PW0065"}, {"count": 1, "path": "PW0066", "state": "displayed", "name": "PW0066"}, {"count": 1, "path": "PW0067", "state": "displayed", "name": "PW0067"}, {"count": 1, "path": "PW0068", "state": "displayed", "name": "PW0068"}, {"count": 1, "path": "PW0069", "state": "displayed", "name": "PW0069"}, {"count": 1, "path": "PW0070", "state": "displayed", "name": "PW0070"}, {"count": 1, "path": "PW0071", "state": "displayed", "name": "PW0071"}, {"count": 1, "path": "PW0072", "state": "displayed", "name": "PW0072"}, {"count": 1, "path": "PW0073", "state": "displayed", "name": "PW0073"}, {"count": 1, "path": "PW0074", "state": "displayed", "name": "PW0074"}, {"count": 1, "path": "PW0075", "state": "displayed", "name": "PW0075"}, {"count": 1, "path": "PW0076", "state": "displayed", "name": "PW0076"}, {"count": 1, "path": "PW0077", "state": "displayed", "name": "PW0077"}, {"count": 1, "path": "PW0078", "state": "displayed", "name": "PW0078"}, {"count": 1, "path": "PW0079", "state": "displayed", "name": "PW0079"}, {"count": 1, "path": "PW0080", "state": "displayed", "name": "PW0080"}, {"count": 1, "path": "PW0081", "state": "displayed", "name": "PW0081"}, {"count": 1, "path": "PW0082", "state": "displayed", "name": "PW0082"}, {"count": 1, "path": "PW0083", "state": "displayed", "name": "PW0083"}, {"count": 1, "path": "PW0084", "state": "displayed", "name": "PW0084"}, {"count": 1, "path": "PW0085", "state": "displayed", "name": "PW0085"}, {"count": 1, "path": "PW0086", "state": "displayed", "name": "PW0086"}, {"count": 1, "path": "PW0087", "state": "displayed", "name": "PW0087"}, {"count": 1, "path": "PW0088", "state": "displayed", "name": "PW0088"}, {"count": 1, "path": "PW0089", "state": "displayed", "name": "PW0089"}, {"count": 1, "path": "PW0090", "state": "displayed", "name": "PW0090"}, {"count": 1, "path": "PW0091", "state": "displayed", "name": "PW0091"}, {"count": 1, "path": "PW0092", "state": "displayed", "name": "PW0092"}, {"count": 1, "path": "PW0093", "state": "displayed", "name": "PW0093"}, {"count": 1, "path": "PW0094", "state": "displayed", "name": "PW0094"}], "name": "idpw"}, {"facets": [{"count": 229, "path": "Op\u00e9rationnel", "state": "displayed", "name": "Op\u00e9rationnel"}, {"count": 16, "path": "En \u00e9tude", "state": "displayed", "name": "En \u00e9tude"}, {"count": 4, "path": "Ferm\u00e9 pour travaux", "state": "displayed", "name": "Ferm\u00e9 pour travaux"}, {"count": 3, "path": "En d\u00e9ploiement", "state": "displayed", "name": "En d\u00e9ploiement"}], "name": "etat2"}]} \ No newline at end of file diff --git a/examples/map_configuration/change_default_carto_basemap.ipynb b/examples/map_configuration/change_default_carto_basemap.ipynb deleted file mode 100644 index e07630a3f..000000000 --- a/examples/map_configuration/change_default_carto_basemap.ipynb +++ /dev/null @@ -1,995 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Change default CARTO basemap\n", - "\n", - "By default, CARTOframes uses CARTO's Positron basemap with labels under. The basemap can be customized to use another CARTO style (Voyager, Dark Matter), a Mapbox basemap, or a custom background color; all through the `basemap` parameter.\n", - "\n", - "In the example below, the default is changed from Positron to Voyager." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "from cartoframes.viz import Map, Layer, basemaps\n", - "\n", - "set_default_credentials('cartoframes')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                        \n", - "
                                                                                                        \n", - "
                                                                                                        \n", - " \n", - " \n", - "
                                                                                                        \n", - "
                                                                                                        \n", - "
                                                                                                        \n", - "\n", - " \n", - "\n", - "
                                                                                                        \n", - "
                                                                                                        \n", - " :\n", - "
                                                                                                        \n", - " \n", - " \n", - "
                                                                                                        \n", - "
                                                                                                        \n", - "\n", - "
                                                                                                        \n", - " StackTrace\n", - "
                                                                                                          \n", - "
                                                                                                          \n", - "
                                                                                                          \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Map(\n", - " Layer('pittsburgh_311'),\n", - " basemap=basemaps.voyager\n", - ")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/map_configuration/custom_viewport.ipynb b/examples/map_configuration/custom_viewport.ipynb deleted file mode 100644 index 7cf31af78..000000000 --- a/examples/map_configuration/custom_viewport.ipynb +++ /dev/null @@ -1,996 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Set a custom viewport\n", - "\n", - "By default, CARTOframes sets the center and zoom of your map to encompass all features in a dataset. In the cases where you want to set a custom extent, setting `show_info=True` places zoom and latitude/longitude coordinates at the bottom left corner of the map. Copying and pasting the values to the `viewport` parameter sets the opening zoom and center of the map." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "from cartoframes.viz import Map, Layer\n", - "\n", - "set_default_credentials('cartoframes')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                          \n", - "
                                                                                                          \n", - "
                                                                                                          \n", - " \n", - "
                                                                                                          \n", - " \n", - " \n", - "
                                                                                                          \n", - "
                                                                                                          \n", - "
                                                                                                          \n", - "\n", - " \n", - "\n", - "
                                                                                                          \n", - "
                                                                                                          \n", - " :\n", - "
                                                                                                          \n", - " \n", - " \n", - "
                                                                                                          \n", - "
                                                                                                          \n", - "\n", - "
                                                                                                          \n", - " StackTrace\n", - "
                                                                                                            \n", - "
                                                                                                            \n", - "
                                                                                                            \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Map(\n", - " Layer('pittsburgh_311'),\n", - " show_info=True,\n", - " viewport={'zoom': 13.5, 'lat': 40.4353, 'lng': -79.9916}\n", - ")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/map_configuration/dark_theme.ipynb b/examples/map_configuration/dark_theme.ipynb deleted file mode 100644 index 9080a99a8..000000000 --- a/examples/map_configuration/dark_theme.ipynb +++ /dev/null @@ -1,1094 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Switch to a dark theme\n", - "\n", - "By default, CARTOframes uses Positron, a light basemap with light themed widget and legend panels. When the basemap is swithed to Dark Matter and legends and widgets are present, the theme updates accordingly.\n", - "\n", - "In the example below, by setting the `basemap` parameter to `darkmatter`, all map components switch to a dark theme that is better suited for the dark basemap." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "from cartoframes.viz import Map, Layer, basemaps, color_category_style\n", - "\n", - "set_default_credentials('cartoframes')" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                            \n", - "
                                                                                                            \n", - "
                                                                                                            \n", - " \n", - " \n", - "
                                                                                                            \n", - "
                                                                                                            \n", - " \n", - "\n", - "
                                                                                                            \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                            \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                            \n", - " \n", - " \n", - "
                                                                                                            \n", - "
                                                                                                            \n", - "
                                                                                                            \n", - "
                                                                                                            \n", - " \n", - "
                                                                                                            \n", - "
                                                                                                            \n", - "
                                                                                                            \n", - "\n", - " \n", - "\n", - "
                                                                                                            \n", - "
                                                                                                            \n", - " :\n", - "
                                                                                                            \n", - " \n", - " \n", - "
                                                                                                            \n", - "
                                                                                                            \n", - "\n", - "
                                                                                                            \n", - " StackTrace\n", - "
                                                                                                              \n", - "
                                                                                                              \n", - "
                                                                                                              \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Map(\n", - " Layer(\n", - " 'pittsburgh_311',\n", - " color_category_style('request_type', top=3, palette='[#4ABD9A,#4A5798,#F9CA34]'),\n", - " title=\"Requests\"\n", - " ),\n", - " basemap=basemaps.darkmatter\n", - ")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/map_configuration/solid_color_background.ipynb b/examples/map_configuration/solid_color_background.ipynb deleted file mode 100644 index 1f9ef6305..000000000 --- a/examples/map_configuration/solid_color_background.ipynb +++ /dev/null @@ -1,995 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Use a solid color background\n", - "\n", - "By default, CARTOframes uses CARTO's Positron basemap with labels under. The basemap can be customized to use another CARTO style (Voyager, Dark Matter), a Mapbox basemap, or a custom background color; all through the `basemap` parameter.\n", - "\n", - "In the example below, the default basemap is changed to a solid color background." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "from cartoframes.viz import Map, Layer\n", - "\n", - "set_default_credentials('cartovl')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                              \n", - "
                                                                                                              \n", - "
                                                                                                              \n", - " \n", - " \n", - "
                                                                                                              \n", - "
                                                                                                              \n", - "
                                                                                                              \n", - "\n", - " \n", - "\n", - "
                                                                                                              \n", - "
                                                                                                              \n", - " :\n", - "
                                                                                                              \n", - " \n", - " \n", - "
                                                                                                              \n", - "
                                                                                                              \n", - "\n", - "
                                                                                                              \n", - " StackTrace\n", - "
                                                                                                                \n", - "
                                                                                                                \n", - "
                                                                                                                \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Map(\n", - " Layer('pittsburgh_311'),\n", - " basemap='#dadcf4'\n", - ")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/popups/multiple_popup_events.ipynb b/examples/popups/multiple_popup_events.ipynb deleted file mode 100644 index 5e4b4ac4e..000000000 --- a/examples/popups/multiple_popup_events.ipynb +++ /dev/null @@ -1,1006 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Multiple popup events\n", - "\n", - "Popups provide information about features through either `click` or `hover` interactivity events. Features can listen to both events or multiple properties from the same event.\n", - "\n", - "For more information on popups, run `help(Popup)`.\n", - "\n", - "In this example, there are two different definitions for popup information depending on whether it is a `hover` or `click` event." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('cartoframes')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                \n", - "
                                                                                                                \n", - "
                                                                                                                \n", - " \n", - " \n", - "
                                                                                                                \n", - "
                                                                                                                \n", - "
                                                                                                                \n", - "\n", - " \n", - "\n", - "
                                                                                                                \n", - "
                                                                                                                \n", - " :\n", - "
                                                                                                                \n", - " \n", - " \n", - "
                                                                                                                \n", - "
                                                                                                                \n", - "\n", - "
                                                                                                                \n", - " StackTrace\n", - "
                                                                                                                  \n", - "
                                                                                                                  \n", - "
                                                                                                                  \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer, popup_element\n", - "\n", - "Layer(\n", - " 'countries_africa',\n", - " popup_hover=[\n", - " popup_element('name', title='Country'),\n", - " ],\n", - " popup_click=[\n", - " popup_element('pop_est', title='Population'),\n", - " popup_element('gdp_md_est', title='GDP')\n", - " ]\n", - ")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/popups/popup_on_click.ipynb b/examples/popups/popup_on_click.ipynb deleted file mode 100644 index 7559d550a..000000000 --- a/examples/popups/popup_on_click.ipynb +++ /dev/null @@ -1,1002 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Popup on click\n", - "\n", - "Popups provide information about features through either `click` or `hover` interactivity events. Features can listen to both events or multiple properties from the same event.\n", - "For more information on popups, run `help(Popup)`.\n", - "\n", - "In this example, the `click` event shows two attributes from the Layer with default column name titles." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('cartoframes')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                  \n", - "
                                                                                                                  \n", - "
                                                                                                                  \n", - " \n", - " \n", - "
                                                                                                                  \n", - "
                                                                                                                  \n", - "
                                                                                                                  \n", - "\n", - " \n", - "\n", - "
                                                                                                                  \n", - "
                                                                                                                  \n", - " :\n", - "
                                                                                                                  \n", - " \n", - " \n", - "
                                                                                                                  \n", - "
                                                                                                                  \n", - "\n", - "
                                                                                                                  \n", - " StackTrace\n", - "
                                                                                                                    \n", - "
                                                                                                                    \n", - "
                                                                                                                    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer, popup_element\n", - "\n", - "Layer(\n", - " 'countries_africa',\n", - " popup_click=[\n", - " popup_element('pop_est'),\n", - " popup_element('name_long')\n", - " ]\n", - ")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/popups/popup_on_hover.ipynb b/examples/popups/popup_on_hover.ipynb deleted file mode 100644 index 847d86245..000000000 --- a/examples/popups/popup_on_hover.ipynb +++ /dev/null @@ -1,1003 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Popup on hover\n", - "\n", - "Popups provide information about features through either `click` or `hover` interactivity events. Features can listen to both events or multiple properties from the same event.\n", - "\n", - "For more information on popups, run `help(Popup)`.\n", - "\n", - "In this example, the `hover` event shows two attributes from the Layer with default column name titles." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('cartoframes')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                    \n", - "
                                                                                                                    \n", - "
                                                                                                                    \n", - " \n", - " \n", - "
                                                                                                                    \n", - "
                                                                                                                    \n", - "
                                                                                                                    \n", - "\n", - " \n", - "\n", - "
                                                                                                                    \n", - "
                                                                                                                    \n", - " :\n", - "
                                                                                                                    \n", - " \n", - " \n", - "
                                                                                                                    \n", - "
                                                                                                                    \n", - "\n", - "
                                                                                                                    \n", - " StackTrace\n", - "
                                                                                                                      \n", - "
                                                                                                                      \n", - "
                                                                                                                      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer, popup_element\n", - "\n", - "Layer(\n", - " 'countries_africa',\n", - " popup_hover=[\n", - " popup_element('pop_est'),\n", - " popup_element('name_long')\n", - " ]\n", - ")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/real_use_cases/geocoding_london_stations.ipynb b/examples/real_use_cases/geocoding_london_stations.ipynb deleted file mode 100644 index dba1d047c..000000000 --- a/examples/real_use_cases/geocoding_london_stations.ipynb +++ /dev/null @@ -1,1470 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Geocode London Stations\n", - "\n", - "Source: https://data.london.gov.uk/dataset/london-underground-performance-reports" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas\n", - "from cartoframes.auth import set_default_credentials\n", - "from cartoframes.data.services import Geocoding\n", - "\n", - "set_default_credentials('creds.json')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                      nlcStationBoroughNoteWeekdaySaturdaySundayWeekday.1Saturday.1Sunday.1million
                                                                                                                      0500.0Acton TownEaling9531.06716.04744.09382.06617.04785.06.040516
                                                                                                                      1502.0AldgateCity of London15080.04397.03261.016023.05909.04230.08.846940
                                                                                                                      2503.0Aldgate EastTower Hamlets22327.016166.013323.021071.013893.011347.013.998292
                                                                                                                      3505.0AlpertonBrent4495.03279.02345.05081.03392.02445.03.052230
                                                                                                                      4506.0AmershamChiltern3848.01876.01232.04025.01797.01121.02.321692
                                                                                                                      \n", - "
                                                                                                                      " - ], - "text/plain": [ - " nlc Station Borough Note Weekday Saturday Sunday \\\n", - "0 500.0 Acton Town Ealing 9531.0 6716.0 4744.0 \n", - "1 502.0 Aldgate City of London 15080.0 4397.0 3261.0 \n", - "2 503.0 Aldgate East Tower Hamlets 22327.0 16166.0 13323.0 \n", - "3 505.0 Alperton Brent 4495.0 3279.0 2345.0 \n", - "4 506.0 Amersham Chiltern 3848.0 1876.0 1232.0 \n", - "\n", - " Weekday.1 Saturday.1 Sunday.1 million \n", - "0 9382.0 6617.0 4785.0 6.040516 \n", - "1 16023.0 5909.0 4230.0 8.846940 \n", - "2 21071.0 13893.0 11347.0 13.998292 \n", - "3 5081.0 3392.0 2445.0 3.052230 \n", - "4 4025.0 1797.0 1121.0 2.321692 " - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "local_file_path = '../files/london_stations.xls'\n", - "df = pandas.read_excel(local_file_path, header=6, sheet_name=1)\n", - "df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                      nlcStationBoroughNoteweekday_entrysaturday_entrysunday_entryweekday_exitsaturday_exitsunday_exitmillion
                                                                                                                      0500.0Acton TownEaling9531.06716.04744.09382.06617.04785.06.040516
                                                                                                                      1502.0AldgateCity of London15080.04397.03261.016023.05909.04230.08.846940
                                                                                                                      2503.0Aldgate EastTower Hamlets22327.016166.013323.021071.013893.011347.013.998292
                                                                                                                      3505.0AlpertonBrent4495.03279.02345.05081.03392.02445.03.052230
                                                                                                                      4506.0AmershamChiltern3848.01876.01232.04025.01797.01121.02.321692
                                                                                                                      \n", - "
                                                                                                                      " - ], - "text/plain": [ - " nlc Station Borough Note weekday_entry saturday_entry \\\n", - "0 500.0 Acton Town Ealing 9531.0 6716.0 \n", - "1 502.0 Aldgate City of London 15080.0 4397.0 \n", - "2 503.0 Aldgate East Tower Hamlets 22327.0 16166.0 \n", - "3 505.0 Alperton Brent 4495.0 3279.0 \n", - "4 506.0 Amersham Chiltern 3848.0 1876.0 \n", - "\n", - " sunday_entry weekday_exit saturday_exit sunday_exit million \n", - "0 4744.0 9382.0 6617.0 4785.0 6.040516 \n", - "1 3261.0 16023.0 5909.0 4230.0 8.846940 \n", - "2 13323.0 21071.0 13893.0 11347.0 13.998292 \n", - "3 2345.0 5081.0 3392.0 2445.0 3.052230 \n", - "4 1232.0 4025.0 1797.0 1121.0 2.321692 " - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df = df.rename(columns={\n", - " \"Saturday.1\": \"saturday_exit\",\n", - " \"Sunday.1\": \"sunday_exit\",\n", - " \"Weekday.1\": \"weekday_exit\",\n", - " \"Saturday\": \"saturday_entry\",\n", - " \"Sunday\": \"sunday_entry\",\n", - " \"Weekday\": \"weekday_entry\"\n", - "})\n", - "\n", - "df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Success! Data geocoded correctly\n" - ] - } - ], - "source": [ - "gc = Geocoding()\n", - "\n", - "london_stations_gdf, london_stations_metadata = gc.geocode(\n", - " df,\n", - " street='Borough',\n", - " city={'value': 'London'},\n", - " country={'value': 'United Kingdom'}\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                      the_geomnlcstationboroughnoteweekday_entrysaturday_entrysunday_entryweekday_exitsaturday_exitsunday_exitmilliongc_status_relcarto_geocode_hash
                                                                                                                      0POINT (-0.30421 51.51335)500.0Acton TownEaling9531.06716.04744.09382.06617.04785.06.0405160.55985f9d318280297b6108bc30e92d92e1
                                                                                                                      1POINT (-0.08895 51.51333)502.0AldgateCity of London15080.04397.03261.016023.05909.04230.08.8469400.887abfcd5c0283e877a275f0d059836a09
                                                                                                                      2POINT (0.01695 51.55042)503.0Aldgate EastTower Hamlets22327.016166.013323.021071.013893.011347.013.9982920.74c1ba0efb09cc8e5caf79092547a7a3e7
                                                                                                                      3POINT (-0.30262 51.55225)505.0AlpertonBrent4495.03279.02345.05081.03392.02445.03.0522300.55c9f07eb29a060527ca81a613cca80007
                                                                                                                      4POINT (-0.21470 51.56339)506.0AmershamChiltern3848.01876.01232.04025.01797.01121.02.3216920.53518e37ccd63a56df5d5758fb8e52a5dd
                                                                                                                      \n", - "
                                                                                                                      " - ], - "text/plain": [ - " the_geom nlc station borough note \\\n", - "0 POINT (-0.30421 51.51335) 500.0 Acton Town Ealing \n", - "1 POINT (-0.08895 51.51333) 502.0 Aldgate City of London \n", - "2 POINT (0.01695 51.55042) 503.0 Aldgate East Tower Hamlets \n", - "3 POINT (-0.30262 51.55225) 505.0 Alperton Brent \n", - "4 POINT (-0.21470 51.56339) 506.0 Amersham Chiltern \n", - "\n", - " weekday_entry saturday_entry sunday_entry weekday_exit saturday_exit \\\n", - "0 9531.0 6716.0 4744.0 9382.0 6617.0 \n", - "1 15080.0 4397.0 3261.0 16023.0 5909.0 \n", - "2 22327.0 16166.0 13323.0 21071.0 13893.0 \n", - "3 4495.0 3279.0 2345.0 5081.0 3392.0 \n", - "4 3848.0 1876.0 1232.0 4025.0 1797.0 \n", - "\n", - " sunday_exit million gc_status_rel carto_geocode_hash \n", - "0 4785.0 6.040516 0.55 985f9d318280297b6108bc30e92d92e1 \n", - "1 4230.0 8.846940 0.88 7abfcd5c0283e877a275f0d059836a09 \n", - "2 11347.0 13.998292 0.74 c1ba0efb09cc8e5caf79092547a7a3e7 \n", - "3 2445.0 3.052230 0.55 c9f07eb29a060527ca81a613cca80007 \n", - "4 1121.0 2.321692 0.53 518e37ccd63a56df5d5758fb8e52a5dd " - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "london_stations_gdf.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                      \n", - "
                                                                                                                      \n", - "
                                                                                                                      \n", - " \n", - " \n", - "
                                                                                                                      \n", - "
                                                                                                                      \n", - "
                                                                                                                      \n", - "\n", - " \n", - "\n", - "
                                                                                                                      \n", - "
                                                                                                                      \n", - " :\n", - "
                                                                                                                      \n", - " \n", - " \n", - "
                                                                                                                      \n", - "
                                                                                                                      \n", - "\n", - "
                                                                                                                      \n", - " StackTrace\n", - "
                                                                                                                        \n", - "
                                                                                                                        \n", - "
                                                                                                                        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Map, Layer\n", - "\n", - "Map(Layer(london_stations_gdf), viewport={'zoom': 10, 'lat': 51.53, 'lng': -0.09})" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/real_use_cases/open_bike_rental_store_in_madrid.ipynb b/examples/real_use_cases/open_bike_rental_store_in_madrid.ipynb deleted file mode 100644 index 73755ffd4..000000000 --- a/examples/real_use_cases/open_bike_rental_store_in_madrid.ipynb +++ /dev/null @@ -1,1551 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Open a Bike Rental Store in Madrid\n", - "\n", - "## Data used\n", - "\n", - "* Bike rental stores addresses: https://www.esmadrid.com/en/bike-rental-in-madrid#\n", - " * Matadero Madrid. Bicycle hire - Paseo de la Chopera , 14\n", - " * Bikes Rental Point in Juan Carlos I Park - Vía Dublín, s/n\n", - " * Fun&Bikes - Avenida de Manzanares, 164\n", - " * Mi Bike Río - Calle Aniceto Marinas, 26\n", - " * Bravo Bike - Calle Juan Álvarez Mendizábal, 19\n", - " * Bike & Roll - Calle Áncora, 36\n", - " * 27 Bikes - Calle del Alcalde Sainz de Baranda, 16\n", - " * Bike Spain Tours - Plaza de la Villa, 1\n", - " * Biobike Pasillo Verde - Paseo de Juan Antonio Vallejo - Nájero Botas, 55\n", - " * Bike Tour Trixi Madrid - Calle de los Jardines, 12\n", - " * Eco Moving Sports - Avenida del Manzanares, 2\n", - " * Otero Ciclos - Calle de Segovia, 18-20\n", - " * Rent & Roll - Calle de Felipe IV, 10\n", - " * Pangea - Paseo de las Yeserías, 15" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('creds.json')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "4779227\n" - ] - } - ], - "source": [ - "from cartoframes.data.services import Geocoding\n", - "\n", - "gc = Geocoding()\n", - "print(gc.available_quota())" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                        \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                        nameaddress
                                                                                                                        0Matadero Madrid. Bicycle hirePaseo de la Chopera , 14
                                                                                                                        1Bikes Rental Point in Juan Carlos I ParkVía Dublín, s/n
                                                                                                                        2Fun&BikesAvenida de Manzanares, 164
                                                                                                                        3Mi Bike RíoCalle Aniceto Marinas, 26
                                                                                                                        4Bravo BikeCalle Juan Álvarez Mendizábal, 19
                                                                                                                        527 BikesCalle del Alcalde Sainz de Baranda, 16
                                                                                                                        6Bike Spain TourPlaza de la Villa, 1
                                                                                                                        7Biobike Pasillo VerdePaseo de Juan Antonio Vallejo - Nájero Botas, 55
                                                                                                                        8Bike Tour Trixi MadridCalle de los Jardines, 12
                                                                                                                        9Otero CiclosCalle de Segovia, 18-20
                                                                                                                        10Rent & RollCalle de Felipe IV, 10
                                                                                                                        11PangeaPaseo de las Yeserías, 15
                                                                                                                        \n", - "
                                                                                                                        " - ], - "text/plain": [ - " name \\\n", - "0 Matadero Madrid. Bicycle hire \n", - "1 Bikes Rental Point in Juan Carlos I Park \n", - "2 Fun&Bikes \n", - "3 Mi Bike Río \n", - "4 Bravo Bike \n", - "5 27 Bikes \n", - "6 Bike Spain Tour \n", - "7 Biobike Pasillo Verde \n", - "8 Bike Tour Trixi Madrid \n", - "9 Otero Ciclos \n", - "10 Rent & Roll \n", - "11 Pangea \n", - "\n", - " address \n", - "0 Paseo de la Chopera , 14 \n", - "1 Vía Dublín, s/n \n", - "2 Avenida de Manzanares, 164 \n", - "3 Calle Aniceto Marinas, 26 \n", - "4 Calle Juan Álvarez Mendizábal, 19 \n", - "5 Calle del Alcalde Sainz de Baranda, 16 \n", - "6 Plaza de la Villa, 1 \n", - "7 Paseo de Juan Antonio Vallejo - Nájero Botas, 55 \n", - "8 Calle de los Jardines, 12 \n", - "9 Calle de Segovia, 18-20 \n", - "10 Calle de Felipe IV, 10 \n", - "11 Paseo de las Yeserías, 15 " - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from pandas import DataFrame\n", - "\n", - "bike_rental_stores_df = DataFrame([\n", - " ['Matadero Madrid. Bicycle hire', 'Paseo de la Chopera , 14'],\n", - " ['Bikes Rental Point in Juan Carlos I Park', 'Vía Dublín, s/n'],\n", - " ['Fun&Bikes', 'Avenida de Manzanares, 164'],\n", - " ['Mi Bike Río', 'Calle Aniceto Marinas, 26'],\n", - " ['Bravo Bike', 'Calle Juan Álvarez Mendizábal, 19'],\n", - " ['27 Bikes', 'Calle del Alcalde Sainz de Baranda, 16'],\n", - " ['Bike Spain Tour', 'Plaza de la Villa, 1'],\n", - " ['Biobike Pasillo Verde', 'Paseo de Juan Antonio Vallejo - Nájero Botas, 55'],\n", - " ['Bike Tour Trixi Madrid', 'Calle de los Jardines, 12'],\n", - " ['Otero Ciclos ', 'Calle de Segovia, 18-20'],\n", - " ['Rent & Roll', 'Calle de Felipe IV, 10'],\n", - " ['Pangea', 'Paseo de las Yeserías, 15']],\n", - " columns=['name', 'address']\n", - ")\n", - "\n", - "bike_rental_stores_df" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Success! Data geocoded correctly\n" - ] - } - ], - "source": [ - "bike_rental_stores_data, bike_rental_stores_metadata = gc.geocode(\n", - " bike_rental_stores_df,\n", - " street='address',\n", - " city={'value': 'Madrid'},\n", - " country={'value': 'Spain'})" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                        \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                        the_geomnameaddressgc_status_relcarto_geocode_hash
                                                                                                                        0POINT (-3.69744 40.39274)Matadero Madrid. Bicycle hirePaseo de la Chopera , 140.9535830402de3843fd3309309469b50efc
                                                                                                                        1POINT (-3.61520 40.46088)Bikes Rental Point in Juan Carlos I ParkVía Dublín, s/n0.7586ecf14d283f407e5d5af49b233afa71
                                                                                                                        2POINT (-3.70846 40.39559)Fun&BikesAvenida de Manzanares, 1640.8930833b87570ed1d90e100f6781665f97
                                                                                                                        3POINT (-3.72274 40.42205)Mi Bike RíoCalle Aniceto Marinas, 260.917945970d13061be0bc7fe64472e723ff
                                                                                                                        4POINT (-3.71509 40.42493)Bravo BikeCalle Juan Álvarez Mendizábal, 190.956f1b2606125e2462f6235df39aac5176
                                                                                                                        5POINT (-3.67672 40.41680)27 BikesCalle del Alcalde Sainz de Baranda, 160.993c45d9e073bfe074be2895af7c84f846
                                                                                                                        6POINT (-3.71020 40.41543)Bike Spain TourPlaza de la Villa, 10.95846343c4eb3f6e295246e4b3e9a601a4
                                                                                                                        7POINT (-3.71480 40.40359)Biobike Pasillo VerdePaseo de Juan Antonio Vallejo - Nájero Botas, 550.996d19e11e1d529bc849a2b53c27c9a785
                                                                                                                        8POINT (-3.70143 40.41888)Bike Tour Trixi MadridCalle de los Jardines, 120.951a83b6a267b2c23d32bb5db2d29c3e92
                                                                                                                        9POINT (-3.71208 40.41402)Otero CiclosCalle de Segovia, 18-200.9270f30859922b437bec9c747962fcca38
                                                                                                                        10POINT (-3.68974 40.41497)Rent & RollCalle de Felipe IV, 100.953fb28606fd7c9eb91cf9aa34320c1945
                                                                                                                        11POINT (-3.71026 40.39951)PangeaPaseo de las Yeserías, 150.95b199bc7ad784ab3d86cef425bcd99385
                                                                                                                        \n", - "
                                                                                                                        " - ], - "text/plain": [ - " the_geom name \\\n", - "0 POINT (-3.69744 40.39274) Matadero Madrid. Bicycle hire \n", - "1 POINT (-3.61520 40.46088) Bikes Rental Point in Juan Carlos I Park \n", - "2 POINT (-3.70846 40.39559) Fun&Bikes \n", - "3 POINT (-3.72274 40.42205) Mi Bike Río \n", - "4 POINT (-3.71509 40.42493) Bravo Bike \n", - "5 POINT (-3.67672 40.41680) 27 Bikes \n", - "6 POINT (-3.71020 40.41543) Bike Spain Tour \n", - "7 POINT (-3.71480 40.40359) Biobike Pasillo Verde \n", - "8 POINT (-3.70143 40.41888) Bike Tour Trixi Madrid \n", - "9 POINT (-3.71208 40.41402) Otero Ciclos \n", - "10 POINT (-3.68974 40.41497) Rent & Roll \n", - "11 POINT (-3.71026 40.39951) Pangea \n", - "\n", - " address gc_status_rel \\\n", - "0 Paseo de la Chopera , 14 0.95 \n", - "1 Vía Dublín, s/n 0.75 \n", - "2 Avenida de Manzanares, 164 0.89 \n", - "3 Calle Aniceto Marinas, 26 0.91 \n", - "4 Calle Juan Álvarez Mendizábal, 19 0.95 \n", - "5 Calle del Alcalde Sainz de Baranda, 16 0.99 \n", - "6 Plaza de la Villa, 1 0.95 \n", - "7 Paseo de Juan Antonio Vallejo - Nájero Botas, 55 0.99 \n", - "8 Calle de los Jardines, 12 0.95 \n", - "9 Calle de Segovia, 18-20 0.92 \n", - "10 Calle de Felipe IV, 10 0.95 \n", - "11 Paseo de las Yeserías, 15 0.95 \n", - "\n", - " carto_geocode_hash \n", - "0 35830402de3843fd3309309469b50efc \n", - "1 86ecf14d283f407e5d5af49b233afa71 \n", - "2 30833b87570ed1d90e100f6781665f97 \n", - "3 7945970d13061be0bc7fe64472e723ff \n", - "4 6f1b2606125e2462f6235df39aac5176 \n", - "5 3c45d9e073bfe074be2895af7c84f846 \n", - "6 846343c4eb3f6e295246e4b3e9a601a4 \n", - "7 6d19e11e1d529bc849a2b53c27c9a785 \n", - "8 1a83b6a267b2c23d32bb5db2d29c3e92 \n", - "9 70f30859922b437bec9c747962fcca38 \n", - "10 3fb28606fd7c9eb91cf9aa34320c1945 \n", - "11 b199bc7ad784ab3d86cef425bcd99385 " - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "bike_rental_stores_data" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Available Quota: 77995\n", - "Required Quota: 36\n" - ] - } - ], - "source": [ - "from cartoframes.data.services import Isolines\n", - "\n", - "iso_service = Isolines()\n", - "isodistances = iso_service.isodistances(\n", - " bike_rental_stores_data,\n", - " [100, 200, 300],\n", - " mode='walk',\n", - " dry_run=True,\n", - " exclusive=True)\n", - "\n", - "print('Available Quota: {0}'.format(iso_service.available_quota()))\n", - "print('Required Quota: {0}'.format(isodistances.metadata.get('required_quota')))" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Success! Isolines created correctly\n" - ] - } - ], - "source": [ - "isodistances_data, isodistances_metadata = iso_service.isodistances(\n", - " bike_rental_stores_data,\n", - " [100, 200, 300],\n", - " mode='walk',\n", - " exclusive=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                        \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                        source_iddata_rangelower_data_rangethe_geomrange_label
                                                                                                                        011300200POLYGON ((-3.71329 40.40085, -3.71269 40.40085...5 min.
                                                                                                                        110300200MULTIPOLYGON (((-3.69269 40.41595, -3.69226 40...5 min.
                                                                                                                        27300200POLYGON ((-3.71741 40.40497, -3.71698 40.40514...5 min.
                                                                                                                        39300200POLYGON ((-3.71535 40.41458, -3.71492 40.41475...5 min.
                                                                                                                        46300200POLYGON ((-3.71346 40.41544, -3.71338 40.41595...5 min.
                                                                                                                        \n", - "
                                                                                                                        " - ], - "text/plain": [ - " source_id data_range lower_data_range \\\n", - "0 11 300 200 \n", - "1 10 300 200 \n", - "2 7 300 200 \n", - "3 9 300 200 \n", - "4 6 300 200 \n", - "\n", - " the_geom range_label \n", - "0 POLYGON ((-3.71329 40.40085, -3.71269 40.40085... 5 min. \n", - "1 MULTIPOLYGON (((-3.69269 40.41595, -3.69226 40... 5 min. \n", - "2 POLYGON ((-3.71741 40.40497, -3.71698 40.40514... 5 min. \n", - "3 POLYGON ((-3.71535 40.41458, -3.71492 40.41475... 5 min. \n", - "4 POLYGON ((-3.71346 40.41544, -3.71338 40.41595... 5 min. " - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "isodistances_data.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# isodistances_data['geometry'] = isodistances_data['__carto_geometry']" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                        \n", - "
                                                                                                                        \n", - "
                                                                                                                        \n", - " \n", - " \n", - "
                                                                                                                        \n", - "
                                                                                                                        \n", - "
                                                                                                                        \n", - "\n", - " \n", - "\n", - "
                                                                                                                        \n", - "
                                                                                                                        \n", - " :\n", - "
                                                                                                                        \n", - " \n", - " \n", - "
                                                                                                                        \n", - "
                                                                                                                        \n", - "\n", - "
                                                                                                                        \n", - " StackTrace\n", - "
                                                                                                                          \n", - "
                                                                                                                          \n", - "
                                                                                                                          \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Map, Layer\n", - "\n", - "Map(\n", - " Layer(isodistances_data)\n", - ")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/real_use_cases/police_department_incident_reports.ipynb b/examples/real_use_cases/police_department_incident_reports.ipynb deleted file mode 100644 index 692b8c351..000000000 --- a/examples/real_use_cases/police_department_incident_reports.ipynb +++ /dev/null @@ -1,7871 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Traffic Incident Reports in San Francisco" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Visualize traffic incident reports in San Francisco.\n", - "\n", - "Data sources:\n", - "\n", - "* [Police Department Incident Reports in San Francisco](https://data.sfgov.org/Public-Safety/Police-Department-Incident-Reports-2018-to-Present/wg3w-h783/data)\n", - " - csv: https://data.sfgov.org/resource/wg3w-h783.csv\n", - "* [Traffic Signals in San Francisco](https://data.sfgov.org/Transportation/Traffic-Signals/ybh5-27n2)\n", - " - csv: https://data.sfgov.org/resource/c8ue-f4py.csv\n", - "* [San Francisco Congestion Roads](https://cartovl.carto.com/dataset/sfcta_congestion_roads)\n", - " - hosted in CARTO" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials, Credentials\n", - "from cartoframes.viz import Map, Layer, Source\n", - "import pandas as pd\n", - "import geopandas as gpd" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "> If you have a CARTO account, you can set your credentials in the following cell. This allows you to upload the dataset and share the final visualization through your account." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "set_default_credentials('creds.json')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Load incident reports\n", - "\n", - "Using pandas, we can read an external data source, which is converted to a dataframe. Let's see which columns we have:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                          \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                          incident_datetimeincident_dateincident_timeincident_yearincident_day_of_weekreport_datetimerow_idincident_idincident_numbercad_number...:@computed_region_6qbp_sg9q:@computed_region_qgnn_b9vv:@computed_region_26cr_cadq:@computed_region_ajp5_b2md:@computed_region_nqbw_i6c3:@computed_region_2dwj_jsy4:@computed_region_h4ep_8xdi:@computed_region_y6ts_4iup:@computed_region_jg9y_a9du:@computed_region_6pnf_4xz7
                                                                                                                          02020-02-03T14:45:00.0002020-02-03T00:00:00.00014:452020Monday2020-02-03T17:50:00.00089881675000898816200085557200342870.0...41.010.08.016.0NaNNaNNaNNaNNaN2.0
                                                                                                                          12020-02-03T03:45:00.0002020-02-03T00:00:00.00003:452020Monday2020-02-03T03:45:00.00089860711012898607200083749200340316.0...53.03.02.020.03.0NaNNaNNaNNaN2.0
                                                                                                                          22020-02-03T10:00:00.0002020-02-03T00:00:00.00010:002020Monday2020-02-03T10:06:00.00089867264015898672200084060200340808.0...19.05.03.08.0NaN35.0NaNNaNNaN2.0
                                                                                                                          32020-01-19T17:12:00.0002020-01-19T00:00:00.00017:122020Sunday2020-02-01T13:01:00.00089863571000898635206024187NaN...NaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
                                                                                                                          42020-01-05T00:00:00.0002020-01-05T00:00:00.00000:002020Sunday2020-02-03T16:09:00.00089877368020898773200085193200342341.0...103.04.06.030.0NaNNaNNaNNaNNaN1.0
                                                                                                                          \n", - "

                                                                                                                          5 rows × 36 columns

                                                                                                                          \n", - "
                                                                                                                          " - ], - "text/plain": [ - " incident_datetime incident_date incident_time \\\n", - "0 2020-02-03T14:45:00.000 2020-02-03T00:00:00.000 14:45 \n", - "1 2020-02-03T03:45:00.000 2020-02-03T00:00:00.000 03:45 \n", - "2 2020-02-03T10:00:00.000 2020-02-03T00:00:00.000 10:00 \n", - "3 2020-01-19T17:12:00.000 2020-01-19T00:00:00.000 17:12 \n", - "4 2020-01-05T00:00:00.000 2020-01-05T00:00:00.000 00:00 \n", - "\n", - " incident_year incident_day_of_week report_datetime row_id \\\n", - "0 2020 Monday 2020-02-03T17:50:00.000 89881675000 \n", - "1 2020 Monday 2020-02-03T03:45:00.000 89860711012 \n", - "2 2020 Monday 2020-02-03T10:06:00.000 89867264015 \n", - "3 2020 Sunday 2020-02-01T13:01:00.000 89863571000 \n", - "4 2020 Sunday 2020-02-03T16:09:00.000 89877368020 \n", - "\n", - " incident_id incident_number cad_number ... :@computed_region_6qbp_sg9q \\\n", - "0 898816 200085557 200342870.0 ... 41.0 \n", - "1 898607 200083749 200340316.0 ... 53.0 \n", - "2 898672 200084060 200340808.0 ... 19.0 \n", - "3 898635 206024187 NaN ... NaN \n", - "4 898773 200085193 200342341.0 ... 103.0 \n", - "\n", - " :@computed_region_qgnn_b9vv :@computed_region_26cr_cadq \\\n", - "0 10.0 8.0 \n", - "1 3.0 2.0 \n", - "2 5.0 3.0 \n", - "3 NaN NaN \n", - "4 4.0 6.0 \n", - "\n", - " :@computed_region_ajp5_b2md :@computed_region_nqbw_i6c3 \\\n", - "0 16.0 NaN \n", - "1 20.0 3.0 \n", - "2 8.0 NaN \n", - "3 NaN NaN \n", - "4 30.0 NaN \n", - "\n", - " :@computed_region_2dwj_jsy4 :@computed_region_h4ep_8xdi \\\n", - "0 NaN NaN \n", - "1 NaN NaN \n", - "2 35.0 NaN \n", - "3 NaN NaN \n", - "4 NaN NaN \n", - "\n", - " :@computed_region_y6ts_4iup :@computed_region_jg9y_a9du \\\n", - "0 NaN NaN \n", - "1 NaN NaN \n", - "2 NaN NaN \n", - "3 NaN NaN \n", - "4 NaN NaN \n", - "\n", - " :@computed_region_6pnf_4xz7 \n", - "0 2.0 \n", - "1 2.0 \n", - "2 2.0 \n", - "3 NaN \n", - "4 1.0 \n", - "\n", - "[5 rows x 36 columns]" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "incident_reports_df = pd.read_csv('http://data.sfgov.org/resource/wg3w-h783.csv')\n", - "incident_reports_df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['incident_datetime', 'incident_date', 'incident_time', 'incident_year',\n", - " 'incident_day_of_week', 'report_datetime', 'row_id', 'incident_id',\n", - " 'incident_number', 'cad_number', 'report_type_code',\n", - " 'report_type_description', 'filed_online', 'incident_code',\n", - " 'incident_category', 'incident_subcategory', 'incident_description',\n", - " 'resolution', 'intersection', 'cnn', 'police_district',\n", - " 'analysis_neighborhood', 'supervisor_district', 'latitude', 'longitude',\n", - " 'point', ':@computed_region_6qbp_sg9q', ':@computed_region_qgnn_b9vv',\n", - " ':@computed_region_26cr_cadq', ':@computed_region_ajp5_b2md',\n", - " ':@computed_region_nqbw_i6c3', ':@computed_region_2dwj_jsy4',\n", - " ':@computed_region_h4ep_8xdi', ':@computed_region_y6ts_4iup',\n", - " ':@computed_region_jg9y_a9du', ':@computed_region_6pnf_4xz7'],\n", - " dtype='object')" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "incident_reports_df.columns" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Some of the `latitude` and `longitude` values are `NaN`, in the next step we get rid of them. After that, we create a dataset from the dataframe and use it in a Layer to visualize the data:" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                          \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                          incident_datetimeincident_dateincident_timeincident_yearincident_day_of_weekreport_datetimerow_idincident_idincident_numbercad_number...:@computed_region_qgnn_b9vv:@computed_region_26cr_cadq:@computed_region_ajp5_b2md:@computed_region_nqbw_i6c3:@computed_region_2dwj_jsy4:@computed_region_h4ep_8xdi:@computed_region_y6ts_4iup:@computed_region_jg9y_a9du:@computed_region_6pnf_4xz7geometry
                                                                                                                          02020-02-03T14:45:00.0002020-02-03T00:00:00.00014:452020Monday2020-02-03T17:50:00.00089881675000898816200085557200342870.0...10.08.016.0NaNNaNNaNNaNNaN2.0POINT (-122.47604 37.72695)
                                                                                                                          12020-02-03T03:45:00.0002020-02-03T00:00:00.00003:452020Monday2020-02-03T03:45:00.00089860711012898607200083749200340316.0...3.02.020.03.0NaNNaNNaNNaN2.0POINT (-122.41517 37.75244)
                                                                                                                          22020-02-03T10:00:00.0002020-02-03T00:00:00.00010:002020Monday2020-02-03T10:06:00.00089867264015898672200084060200340808.0...5.03.08.0NaN35.0NaNNaNNaN2.0POINT (-122.40734 37.78456)
                                                                                                                          42020-01-05T00:00:00.0002020-01-05T00:00:00.00000:002020Sunday2020-02-03T16:09:00.00089877368020898773200085193200342341.0...4.06.030.0NaNNaNNaNNaNNaN1.0POINT (-122.44025 37.78711)
                                                                                                                          52020-02-03T08:36:00.0002020-02-03T00:00:00.00008:362020Monday2020-02-03T08:36:00.00089876268020898762200083909200340826.0...6.03.08.0NaNNaNNaNNaNNaN1.0POINT (-122.39951 37.79693)
                                                                                                                          \n", - "

                                                                                                                          5 rows × 37 columns

                                                                                                                          \n", - "
                                                                                                                          " - ], - "text/plain": [ - " incident_datetime incident_date incident_time \\\n", - "0 2020-02-03T14:45:00.000 2020-02-03T00:00:00.000 14:45 \n", - "1 2020-02-03T03:45:00.000 2020-02-03T00:00:00.000 03:45 \n", - "2 2020-02-03T10:00:00.000 2020-02-03T00:00:00.000 10:00 \n", - "4 2020-01-05T00:00:00.000 2020-01-05T00:00:00.000 00:00 \n", - "5 2020-02-03T08:36:00.000 2020-02-03T00:00:00.000 08:36 \n", - "\n", - " incident_year incident_day_of_week report_datetime row_id \\\n", - "0 2020 Monday 2020-02-03T17:50:00.000 89881675000 \n", - "1 2020 Monday 2020-02-03T03:45:00.000 89860711012 \n", - "2 2020 Monday 2020-02-03T10:06:00.000 89867264015 \n", - "4 2020 Sunday 2020-02-03T16:09:00.000 89877368020 \n", - "5 2020 Monday 2020-02-03T08:36:00.000 89876268020 \n", - "\n", - " incident_id incident_number cad_number ... :@computed_region_qgnn_b9vv \\\n", - "0 898816 200085557 200342870.0 ... 10.0 \n", - "1 898607 200083749 200340316.0 ... 3.0 \n", - "2 898672 200084060 200340808.0 ... 5.0 \n", - "4 898773 200085193 200342341.0 ... 4.0 \n", - "5 898762 200083909 200340826.0 ... 6.0 \n", - "\n", - " :@computed_region_26cr_cadq :@computed_region_ajp5_b2md \\\n", - "0 8.0 16.0 \n", - "1 2.0 20.0 \n", - "2 3.0 8.0 \n", - "4 6.0 30.0 \n", - "5 3.0 8.0 \n", - "\n", - " :@computed_region_nqbw_i6c3 :@computed_region_2dwj_jsy4 \\\n", - "0 NaN NaN \n", - "1 3.0 NaN \n", - "2 NaN 35.0 \n", - "4 NaN NaN \n", - "5 NaN NaN \n", - "\n", - " :@computed_region_h4ep_8xdi :@computed_region_y6ts_4iup \\\n", - "0 NaN NaN \n", - "1 NaN NaN \n", - "2 NaN NaN \n", - "4 NaN NaN \n", - "5 NaN NaN \n", - "\n", - " :@computed_region_jg9y_a9du :@computed_region_6pnf_4xz7 \\\n", - "0 NaN 2.0 \n", - "1 NaN 2.0 \n", - "2 NaN 2.0 \n", - "4 NaN 1.0 \n", - "5 NaN 1.0 \n", - "\n", - " geometry \n", - "0 POINT (-122.47604 37.72695) \n", - "1 POINT (-122.41517 37.75244) \n", - "2 POINT (-122.40734 37.78456) \n", - "4 POINT (-122.44025 37.78711) \n", - "5 POINT (-122.39951 37.79693) \n", - "\n", - "[5 rows x 37 columns]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "incident_reports_df = incident_reports_df[incident_reports_df.longitude == incident_reports_df.longitude]\n", - "incident_reports_df = incident_reports_df[incident_reports_df.latitude == incident_reports_df.latitude]\n", - "\n", - "incident_reports_gdf = gpd.GeoDataFrame(\n", - " incident_reports_df,\n", - " geometry=gpd.points_from_xy(incident_reports_df.longitude, incident_reports_df.latitude)\n", - ")\n", - "\n", - "incident_reports_gdf.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                          \n", - "
                                                                                                                          \n", - "
                                                                                                                          \n", - " \n", - " \n", - "
                                                                                                                          \n", - "
                                                                                                                          \n", - "
                                                                                                                          \n", - "\n", - " \n", - "\n", - "
                                                                                                                          \n", - "
                                                                                                                          \n", - " :\n", - "
                                                                                                                          \n", - " \n", - " \n", - "
                                                                                                                          \n", - "
                                                                                                                          \n", - "\n", - "
                                                                                                                          \n", - " StackTrace\n", - "
                                                                                                                            \n", - "
                                                                                                                            \n", - "
                                                                                                                            \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Layer(incident_reports_gdf)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we are going to use a **helper method** to color by category, and the category is 'Day of Week' (`incident_day_of_week`)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                            \n", - "
                                                                                                                            \n", - "
                                                                                                                            \n", - " \n", - " \n", - "
                                                                                                                            \n", - "
                                                                                                                            \n", - " \n", - "\n", - "
                                                                                                                            \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                            \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                            \n", - " \n", - " \n", - "
                                                                                                                            \n", - "
                                                                                                                            \n", - "
                                                                                                                            \n", - "
                                                                                                                            \n", - " \n", - "
                                                                                                                            \n", - "
                                                                                                                            \n", - "
                                                                                                                            \n", - "\n", - " \n", - "\n", - "
                                                                                                                            \n", - "
                                                                                                                            \n", - " :\n", - "
                                                                                                                            \n", - " \n", - " \n", - "
                                                                                                                            \n", - "
                                                                                                                            \n", - "\n", - "
                                                                                                                            \n", - " StackTrace\n", - "
                                                                                                                              \n", - "
                                                                                                                              \n", - "
                                                                                                                              \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer, color_category_style\n", - "\n", - "Layer(incident_reports_gdf, color_category_style('incident_day_of_week', top=7), title='Day of Week')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As we can see in the legend, the days are sorted by frequency, which means that there're less incidents on Thursdays and More on Tuesdays. Since our purpose is not to visualize the frequency and we want to see the days properly sorted from Monday to Sunday in the legend, we can modify the helper and set the categories we want to visualize in the desired position:" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                              \n", - "
                                                                                                                              \n", - "
                                                                                                                              \n", - " \n", - " \n", - "
                                                                                                                              \n", - "
                                                                                                                              \n", - " \n", - "\n", - "
                                                                                                                              \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                              \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                              \n", - " \n", - " \n", - "
                                                                                                                              \n", - "
                                                                                                                              \n", - "
                                                                                                                              \n", - "
                                                                                                                              \n", - " \n", - "
                                                                                                                              \n", - "
                                                                                                                              \n", - "
                                                                                                                              \n", - "\n", - " \n", - "\n", - "
                                                                                                                              \n", - "
                                                                                                                              \n", - " :\n", - "
                                                                                                                              \n", - " \n", - " \n", - "
                                                                                                                              \n", - "
                                                                                                                              \n", - "\n", - "
                                                                                                                              \n", - " StackTrace\n", - "
                                                                                                                                \n", - "
                                                                                                                                \n", - "
                                                                                                                                \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import color_category_style\n", - "\n", - "\n", - "Layer(\n", - " incident_reports_gdf, \n", - " color_category_style(\n", - " 'incident_day_of_week',\n", - " cat=[\n", - " 'Monday',\n", - " 'Tuesday',\n", - " 'Wednesday',\n", - " 'Thursday',\n", - " 'Friday',\n", - " 'Saturday',\n", - " 'Sunday'\n", - " ]\n", - " ),\n", - " title='Day of Week'\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now, we want to look for traffic incidents, and then use these categories to visualize those incidents:" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array(['Missing Person', 'Stolen Property', 'Non-Criminal',\n", - " 'Miscellaneous Investigation',\n", - " 'Offences Against The Family And Children', 'Other Miscellaneous',\n", - " 'Lost Property', 'Larceny Theft', 'Warrant', 'Assault', 'Fraud',\n", - " 'Burglary', 'Traffic Violation Arrest', 'Weapons Carrying Etc',\n", - " 'Malicious Mischief', 'Motor Vehicle Theft', 'Drug Offense',\n", - " 'Other', 'Other Offenses', 'Recovered Vehicle', 'Robbery',\n", - " 'Suspicious Occ', 'Disorderly Conduct', 'Weapons Offense',\n", - " 'Vandalism', 'Embezzlement', 'Courtesy Report', 'Sex Offense',\n", - " 'Drug Violation', 'Traffic Collision', 'Prostitution',\n", - " 'Forgery And Counterfeiting', 'Case Closure', 'Homicide', 'Arson',\n", - " 'Suicide', 'Vehicle Impounded', 'Liquor Laws'], dtype=object)" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "incident_reports_df.incident_category.unique()" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                \n", - "
                                                                                                                                \n", - "
                                                                                                                                \n", - " \n", - " \n", - "
                                                                                                                                \n", - "
                                                                                                                                \n", - " \n", - "\n", - "
                                                                                                                                \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                \n", - " \n", - " \n", - "
                                                                                                                                \n", - "
                                                                                                                                \n", - "
                                                                                                                                \n", - "
                                                                                                                                \n", - " \n", - "
                                                                                                                                \n", - "
                                                                                                                                \n", - "
                                                                                                                                \n", - "\n", - " \n", - "\n", - "
                                                                                                                                \n", - "
                                                                                                                                \n", - " :\n", - "
                                                                                                                                \n", - " \n", - " \n", - "
                                                                                                                                \n", - "
                                                                                                                                \n", - "\n", - "
                                                                                                                                \n", - " StackTrace\n", - "
                                                                                                                                  \n", - "
                                                                                                                                  \n", - "
                                                                                                                                  \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer, size_category_style\n", - "\n", - "Layer(\n", - " incident_reports_gdf,\n", - " size_category_style(\n", - " 'incident_category',\n", - " cat=['Traffic Collision', 'Traffic Violation Arrest']\n", - " ),\n", - " title='Traffic Incidents'\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In CARTO we have a dataset we can use for the next step, named 'sfcta_congestion_roads'. We are going to set the `Credentials` for this dataset. To have more control over this dataset, if you have a CARTO account you can import it to have everything together, and it won't be needed to create a different source for this Dataset.\n", - "\n", - "Once we've the data source created, we're going to combine two helper methods. The first one uses the Source with the roads data from CARTO, and the second one the traffic incident reports." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                  \n", - "
                                                                                                                                  \n", - "
                                                                                                                                  \n", - " \n", - " \n", - "
                                                                                                                                  \n", - "
                                                                                                                                  \n", - " \n", - "\n", - "
                                                                                                                                  \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                  \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                  \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                  \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                  \n", - " \n", - " \n", - "
                                                                                                                                  \n", - "
                                                                                                                                  \n", - "
                                                                                                                                  \n", - "
                                                                                                                                  \n", - " \n", - "
                                                                                                                                  \n", - "
                                                                                                                                  \n", - "
                                                                                                                                  \n", - "\n", - " \n", - "\n", - "
                                                                                                                                  \n", - "
                                                                                                                                  \n", - " :\n", - "
                                                                                                                                  \n", - " \n", - " \n", - "
                                                                                                                                  \n", - "
                                                                                                                                  \n", - "\n", - "
                                                                                                                                  \n", - " StackTrace\n", - "
                                                                                                                                    \n", - "
                                                                                                                                    \n", - "
                                                                                                                                    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer, color_continuous_style, size_category_style\n", - "\n", - "sfcta_congestion_roads_source=Source(\n", - " 'sfcta_congestion_roads',\n", - " Credentials(\n", - " base_url='https://cartovl.carto.com',\n", - " api_key='default_public'\n", - " )\n", - ")\n", - "\n", - "Map([\n", - " Layer(\n", - " sfcta_congestion_roads_source,\n", - " color_continuous_style('auto_speed'),\n", - " title='Recorded vehicle speeds'\n", - " ),\n", - " Layer(\n", - " incident_reports_gdf,\n", - " size_category_style(\n", - " 'incident_category',\n", - " cat=['Traffic Collision', 'Traffic Violation Arrest']\n", - " ),\n", - " title='Traffic Incidents'\n", - " )\n", - "])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We are going to add information about traffic signals, by getting data from a different source:" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                                    \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                    objectidcnncodecnn_1street1street2street3street4detectionsup_dist...percent_popointpoint_addresspoint_citypoint_statepoint_zip:@computed_region_6qbp_sg9q:@computed_region_qgnn_b9vv:@computed_region_26cr_cadq:@computed_region_ajp5_b2md
                                                                                                                                    0240026392000NaN26392000MASONICTURKNaNNaNNaN1,2,5...NaNPOINT (-122.44702658724947 37.778617364507106)NaNNaNNaNNaN97.07.011.018.0
                                                                                                                                    1273720421000NaN20421000GENEVASANTOSNaNNaNNaN10...NaNPOINT (-122.42006985840429 37.70830632733309)NaNNaNNaNNaNNaNNaN9.0NaN
                                                                                                                                    2298124018000NaN2401800016TH STUTAHNaNNaNNaN10...NaNPOINT (-122.40653961377903 37.76583732660274)NaNNaNNaNNaN54.03.09.020.0
                                                                                                                                    329349941000NaN9941000OLYMPIAMIDBLOCK ATDELLBROOK (N)DELLBROOK (S)NaN7...NaNPOINT (-122.45364260943721 37.75120299724448)NaNNaNNaNNaN48.07.08.038.0
                                                                                                                                    4292226932000NaN26932000BEAUMONTGEARYNaNNaNNaN1,2...NaNPOINT (-122.4552675286903 37.781453718876065)NaNNaNNaNNaN12.08.04.018.0
                                                                                                                                    \n", - "

                                                                                                                                    5 rows × 44 columns

                                                                                                                                    \n", - "
                                                                                                                                    " - ], - "text/plain": [ - " objectid cnn code cnn_1 street1 street2 street3 \\\n", - "0 2400 26392000 NaN 26392000 MASONIC TURK NaN \n", - "1 2737 20421000 NaN 20421000 GENEVA SANTOS NaN \n", - "2 2981 24018000 NaN 24018000 16TH ST UTAH NaN \n", - "3 2934 9941000 NaN 9941000 OLYMPIA MIDBLOCK AT DELLBROOK (N) \n", - "4 2922 26932000 NaN 26932000 BEAUMONT GEARY NaN \n", - "\n", - " street4 detection sup_dist ... percent_po \\\n", - "0 NaN NaN 1,2,5 ... NaN \n", - "1 NaN NaN 10 ... NaN \n", - "2 NaN NaN 10 ... NaN \n", - "3 DELLBROOK (S) NaN 7 ... NaN \n", - "4 NaN NaN 1,2 ... NaN \n", - "\n", - " point point_address point_city \\\n", - "0 POINT (-122.44702658724947 37.778617364507106) NaN NaN \n", - "1 POINT (-122.42006985840429 37.70830632733309) NaN NaN \n", - "2 POINT (-122.40653961377903 37.76583732660274) NaN NaN \n", - "3 POINT (-122.45364260943721 37.75120299724448) NaN NaN \n", - "4 POINT (-122.4552675286903 37.781453718876065) NaN NaN \n", - "\n", - " point_state point_zip :@computed_region_6qbp_sg9q \\\n", - "0 NaN NaN 97.0 \n", - "1 NaN NaN NaN \n", - "2 NaN NaN 54.0 \n", - "3 NaN NaN 48.0 \n", - "4 NaN NaN 12.0 \n", - "\n", - " :@computed_region_qgnn_b9vv :@computed_region_26cr_cadq \\\n", - "0 7.0 11.0 \n", - "1 NaN 9.0 \n", - "2 3.0 9.0 \n", - "3 7.0 8.0 \n", - "4 8.0 4.0 \n", - "\n", - " :@computed_region_ajp5_b2md \n", - "0 18.0 \n", - "1 NaN \n", - "2 20.0 \n", - "3 38.0 \n", - "4 18.0 \n", - "\n", - "[5 rows x 44 columns]" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "traffic_signals_df = pd.read_csv('http://data.sfgov.org/resource/c8ue-f4py.csv')\n", - "traffic_signals_df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['objectid', 'cnn', 'code', 'cnn_1', 'street1', 'street2', 'street3',\n", - " 'street4', 'detection', 'sup_dist', 'veh_actuat', 'aps', 'ped_signal',\n", - " 'ped_actuat', 'tbc', 'preempt_pr', 'd_ate2070', 'project_ne',\n", - " 'project_ol', 'upgraded', 'yr_of_cont', 'last_upgra', 'new_signal',\n", - " 'mod_projec', 'full_upgra', 'beacon_fla', 'funding', 'rlcam',\n", - " 'startyear', 'caltrans_r', 'caltrans', 'percent_c', 'sf', 'percent_sf',\n", - " 'percent_po', 'point', 'point_address', 'point_city', 'point_state',\n", - " 'point_zip', ':@computed_region_6qbp_sg9q',\n", - " ':@computed_region_qgnn_b9vv', ':@computed_region_26cr_cadq',\n", - " ':@computed_region_ajp5_b2md'],\n", - " dtype='object')" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "traffic_signals_df.columns" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([nan])" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "traffic_signals_df.code.unique()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Since there is no `latitude` and `longitude` columns, we can use the `point` column to create a [GeoDataFrame](https://geopandas.readthedocs.io/en/latest/gallery/create_geopandas_from_pandas.html)." - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [], - "source": [ - "from shapely import wkt\n", - "\n", - "traffic_signals_df['point'] = traffic_signals_df['point'].apply(wkt.loads)\n", - "traffic_signals_df = traffic_signals_df.rename(columns={'point': 'geometry'}).set_geometry('geometry')\n", - "trafic_signals_gdf = gpd.GeoDataFrame(traffic_signals_df, geometry='geometry')" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                    \n", - "
                                                                                                                                    \n", - "
                                                                                                                                    \n", - " \n", - " \n", - "
                                                                                                                                    \n", - "
                                                                                                                                    \n", - "
                                                                                                                                    \n", - "\n", - " \n", - "\n", - "
                                                                                                                                    \n", - "
                                                                                                                                    \n", - " :\n", - "
                                                                                                                                    \n", - " \n", - " \n", - "
                                                                                                                                    \n", - "
                                                                                                                                    \n", - "\n", - "
                                                                                                                                    \n", - " StackTrace\n", - "
                                                                                                                                      \n", - "
                                                                                                                                      \n", - "
                                                                                                                                      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Map(Layer(trafic_signals_gdf))" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                      \n", - "
                                                                                                                                      \n", - "
                                                                                                                                      \n", - " \n", - " \n", - "
                                                                                                                                      \n", - "
                                                                                                                                      \n", - " \n", - "\n", - "
                                                                                                                                      \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                      \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                      \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                      \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                      \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                      \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                      \n", - " \n", - " \n", - "
                                                                                                                                      \n", - "
                                                                                                                                      \n", - "
                                                                                                                                      \n", - "
                                                                                                                                      \n", - " \n", - "
                                                                                                                                      \n", - "
                                                                                                                                      \n", - "
                                                                                                                                      \n", - "\n", - " \n", - "\n", - "
                                                                                                                                      \n", - "
                                                                                                                                      \n", - " :\n", - "
                                                                                                                                      \n", - " \n", - " \n", - "
                                                                                                                                      \n", - "
                                                                                                                                      \n", - "\n", - "
                                                                                                                                      \n", - " StackTrace\n", - "
                                                                                                                                        \n", - "
                                                                                                                                        \n", - "
                                                                                                                                        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 36, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer, color_continuous_style, size_category_style, basic_style\n", - "\n", - "Map([\n", - " Layer(\n", - " sfcta_congestion_roads_source,\n", - " color_continuous_style('auto_speed'),\n", - " title='Recorded vehicle speeds'\n", - " ),\n", - " Layer(\n", - " incident_reports_gdf,\n", - " size_category_style(\n", - " 'incident_category',\n", - " cat=['Traffic Collision', 'Traffic Violation Arrest']\n", - " ),\n", - " title='Traffic Incidents'\n", - " ),\n", - " Layer(\n", - " trafic_signals_gdf,\n", - " basic_style(color='blue', size=1),\n", - " title='Traffic Signals'\n", - " )\n", - "],\n", - "layer_selector=True)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/real_use_cases/visualize_temperatures.ipynb b/examples/real_use_cases/visualize_temperatures.ipynb deleted file mode 100644 index 7b3c2c79a..000000000 --- a/examples/real_use_cases/visualize_temperatures.ipynb +++ /dev/null @@ -1,1172 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('cartovl')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - " \n", - "\n", - "\n", - " \n", - "
                                                                                                                                        \n", - "
                                                                                                                                        \n", - "
                                                                                                                                        \n", - " \n", - "
                                                                                                                                        \n", - " \n", - " \n", - "
                                                                                                                                        \n", - "
                                                                                                                                        \n", - " \n", - "\n", - "
                                                                                                                                        \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                        \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                        \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                        \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Issued: 7/17/19 | Source: NOAA Weather Predicition Center\n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                        \n", - " \n", - " \n", - "
                                                                                                                                        \n", - "
                                                                                                                                        \n", - "
                                                                                                                                        \n", - "
                                                                                                                                        \n", - " \n", - "
                                                                                                                                        \n", - "
                                                                                                                                        \n", - "
                                                                                                                                        \n", - "\n", - " \n", - "\n", - "
                                                                                                                                        \n", - "
                                                                                                                                        \n", - " :\n", - "
                                                                                                                                        \n", - " \n", - " \n", - "
                                                                                                                                        \n", - "
                                                                                                                                        \n", - "\n", - "
                                                                                                                                        \n", - " StackTrace\n", - "
                                                                                                                                          \n", - "
                                                                                                                                          \n", - "
                                                                                                                                          \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Map, Layer, color_continuous_legend, color_continuous_style, formula_widget, time_series_widget, basemaps, basic_style\n", - "\n", - "Map ([\n", - " Layer(\n", - " 'maxhi_20190717_72',\n", - " style=color_continuous_style('value', size=4, stroke_width=0, animate='value'),\n", - " legends=color_continuous_legend(\n", - " title='Max Heat Index for July 20, 2019',\n", - " description='Degrees (°F)',\n", - " footer='Issued: 7/17/19 | Source: NOAA Weather Predicition Center'\n", - " ),\n", - " widgets=[\n", - " formula_widget('value', operation='sum', title='Max Degrees (°F)'),\n", - " time_series_widget('value', title='Animation by Temperature')\n", - " ],\n", - " ),\n", - " Layer(\n", - " 'state_bounds',\n", - " style=basic_style(color='white', opacity='0.5')\n", - " )],\n", - " basemap=basemaps.darkmatter,\n", - " show_info=True,\n", - " viewport={'zoom': 2.5, 'lat': 37.572586, 'lng': -110.638529},\n", - ")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/styles/basic_style.ipynb b/examples/styles/basic_style.ipynb deleted file mode 100644 index c2459f209..000000000 --- a/examples/styles/basic_style.ipynb +++ /dev/null @@ -1,1027 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Basic Style\n", - "\n", - "The `basic_style` helper can be used to simply modify the style properties. Use `help(cartoframes.viz.palettes)` to get more information." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "from cartoframes.viz import Layer, basic_style\n", - "\n", - "set_default_credentials('cartoframes')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                          \n", - "
                                                                                                                                          \n", - "
                                                                                                                                          \n", - " \n", - " \n", - "
                                                                                                                                          \n", - "
                                                                                                                                          \n", - " \n", - "\n", - "
                                                                                                                                          \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                          \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                          \n", - " \n", - " \n", - "
                                                                                                                                          \n", - "
                                                                                                                                          \n", - "
                                                                                                                                          \n", - "
                                                                                                                                          \n", - " \n", - "
                                                                                                                                          \n", - "
                                                                                                                                          \n", - "
                                                                                                                                          \n", - "\n", - " \n", - "\n", - "
                                                                                                                                          \n", - "
                                                                                                                                          \n", - " :\n", - "
                                                                                                                                          \n", - " \n", - " \n", - "
                                                                                                                                          \n", - "
                                                                                                                                          \n", - "\n", - "
                                                                                                                                          \n", - " StackTrace\n", - "
                                                                                                                                            \n", - "
                                                                                                                                            \n", - "
                                                                                                                                            \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Layer('sf_nbhd_crime',\n", - " basic_style(\n", - " color='blue',\n", - " size=20,\n", - " stroke_color='rgba(255, 255, 255, 0.8)',\n", - " stroke_width=10\n", - " ),\n", - " title='San Francisco Crime'\n", - ")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/styles/color_bins_style.ipynb b/examples/styles/color_bins_style.ipynb deleted file mode 100644 index 9bc2874e9..000000000 --- a/examples/styles/color_bins_style.ipynb +++ /dev/null @@ -1,1019 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Color Bins Style\n", - "\n", - "Helper function for quickly creating a color bins style. Use `help(color_bins_style)` to get more information." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "from cartoframes.viz import Layer, color_bins_style\n", - "\n", - "set_default_credentials('cartoframes')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                            \n", - "
                                                                                                                                            \n", - "
                                                                                                                                            \n", - " \n", - " \n", - "
                                                                                                                                            \n", - "
                                                                                                                                            \n", - " \n", - "\n", - "
                                                                                                                                            \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                            \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                            \n", - " \n", - " \n", - "
                                                                                                                                            \n", - "
                                                                                                                                            \n", - "
                                                                                                                                            \n", - "
                                                                                                                                            \n", - " \n", - "
                                                                                                                                            \n", - "
                                                                                                                                            \n", - "
                                                                                                                                            \n", - "\n", - " \n", - "\n", - "
                                                                                                                                            \n", - "
                                                                                                                                            \n", - " :\n", - "
                                                                                                                                            \n", - " \n", - " \n", - "
                                                                                                                                            \n", - "
                                                                                                                                            \n", - "\n", - "
                                                                                                                                            \n", - " StackTrace\n", - "
                                                                                                                                              \n", - "
                                                                                                                                              \n", - "
                                                                                                                                              \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Layer('eng_wales_pop', color_bins_style('pop_sq_km'))" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/styles/color_category_style.ipynb b/examples/styles/color_category_style.ipynb deleted file mode 100644 index d08d1309d..000000000 --- a/examples/styles/color_category_style.ipynb +++ /dev/null @@ -1,1020 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Color Category Style\n", - "\n", - "Helper function for quickly creating a color category style. Use `help(color_category_style)` to get more information." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('cartoframes')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                              \n", - "
                                                                                                                                              \n", - "
                                                                                                                                              \n", - " \n", - " \n", - "
                                                                                                                                              \n", - "
                                                                                                                                              \n", - " \n", - "\n", - "
                                                                                                                                              \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                              \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                              \n", - " \n", - " \n", - "
                                                                                                                                              \n", - "
                                                                                                                                              \n", - "
                                                                                                                                              \n", - "
                                                                                                                                              \n", - " \n", - "
                                                                                                                                              \n", - "
                                                                                                                                              \n", - "
                                                                                                                                              \n", - "\n", - " \n", - "\n", - "
                                                                                                                                              \n", - "
                                                                                                                                              \n", - " :\n", - "
                                                                                                                                              \n", - " \n", - " \n", - "
                                                                                                                                              \n", - "
                                                                                                                                              \n", - "\n", - "
                                                                                                                                              \n", - " StackTrace\n", - "
                                                                                                                                                \n", - "
                                                                                                                                                \n", - "
                                                                                                                                                \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer, color_category_style\n", - "\n", - "Layer('wburg_parcels', color_category_style('landuse_type'))" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/styles/combine_visualization_styles.ipynb b/examples/styles/combine_visualization_styles.ipynb deleted file mode 100644 index 361552432..000000000 --- a/examples/styles/combine_visualization_styles.ipynb +++ /dev/null @@ -1,1056 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Combine visualization helpers\n", - "\n", - "In this example, the `size_continuous_style` and the `color_category_style` are used to make a map of crime reports by San Francisco neighborhood. It also shows how to use a `color_bins_legend` along with the `color_category_style`." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('cartoframes')" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                                \n", - "
                                                                                                                                                \n", - "
                                                                                                                                                \n", - " \n", - " \n", - "
                                                                                                                                                \n", - "
                                                                                                                                                \n", - " \n", - "\n", - "
                                                                                                                                                \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " Source: City of SF\n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                \n", - " \n", - " \n", - "
                                                                                                                                                \n", - "
                                                                                                                                                \n", - "
                                                                                                                                                \n", - "
                                                                                                                                                \n", - " \n", - "
                                                                                                                                                \n", - "
                                                                                                                                                \n", - "
                                                                                                                                                \n", - "\n", - " \n", - "\n", - "
                                                                                                                                                \n", - "
                                                                                                                                                \n", - " :\n", - "
                                                                                                                                                \n", - " \n", - " \n", - "
                                                                                                                                                \n", - "
                                                                                                                                                \n", - "\n", - "
                                                                                                                                                \n", - " StackTrace\n", - "
                                                                                                                                                  \n", - "
                                                                                                                                                  \n", - "
                                                                                                                                                  \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Map, Layer, size_continuous_style, color_category_style, color_bins_legend\n", - "\n", - "Map([\n", - " Layer(\n", - " 'sf_nbhd',\n", - " style=color_category_style('name', 'SF Neighborhoods',\n", - " cat=[\n", - " 'Downtown/Civic Center',\n", - " 'South of Market',\n", - " 'Mission',\n", - " 'Western Addition',\n", - " 'Financial District','Bayview'\n", - " ],\n", - " palette='[#E58606,#5D69B1,#52BCA3,#99C945,#CC61B0,#ED645A],#ccc',\n", - " stroke_color='#c4c4c4'\n", - " ),\n", - " legends=color_bins_legend(\n", - " description='Hover each to see total crime reports',\n", - " footer='Source: City of SF',\n", - " ascending=True\n", - " )\n", - " ),\n", - " Layer(\n", - " 'sf_nbhd_crime',\n", - " style=size_continuous_style(\n", - " 'value',\n", - " size_range=[8,60],\n", - " opacity=0.05,\n", - " color='black',\n", - " stroke_color='#ffea00',\n", - " stroke_width=2\n", - " ),\n", - " default_legend=False\n", - " )\n", - "])" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/styles/size_bins_style.ipynb b/examples/styles/size_bins_style.ipynb deleted file mode 100644 index c7b4de237..000000000 --- a/examples/styles/size_bins_style.ipynb +++ /dev/null @@ -1,1020 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Size Bins Style\n", - "\n", - "Helper function for quickly creating a size bins style. Use `help(size_bins_style)` to get more information." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('cartoframes')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                                  \n", - "
                                                                                                                                                  \n", - "
                                                                                                                                                  \n", - " \n", - " \n", - "
                                                                                                                                                  \n", - "
                                                                                                                                                  \n", - " \n", - "\n", - "
                                                                                                                                                  \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                  \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                  \n", - " \n", - " \n", - "
                                                                                                                                                  \n", - "
                                                                                                                                                  \n", - "
                                                                                                                                                  \n", - "
                                                                                                                                                  \n", - " \n", - "
                                                                                                                                                  \n", - "
                                                                                                                                                  \n", - "
                                                                                                                                                  \n", - "\n", - " \n", - "\n", - "
                                                                                                                                                  \n", - "
                                                                                                                                                  \n", - " :\n", - "
                                                                                                                                                  \n", - " \n", - " \n", - "
                                                                                                                                                  \n", - "
                                                                                                                                                  \n", - "\n", - "
                                                                                                                                                  \n", - " StackTrace\n", - "
                                                                                                                                                    \n", - "
                                                                                                                                                    \n", - "
                                                                                                                                                    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer, size_bins_style\n", - "\n", - "Layer('clev_sales', size_bins_style('sale_price'))" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/widgets/time_series_widget.ipynb b/examples/widgets/time_series_widget.ipynb deleted file mode 100644 index d207dbbf1..000000000 --- a/examples/widgets/time_series_widget.ipynb +++ /dev/null @@ -1,1029 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Add a time-series widget\n", - "\n", - "The time series widget enables you to display animated data (by aggregation) over a specified date or numeric field. Time series widgets provide a status bar of the animation, controls to play or pause, and the ability to filter on a range of values.\n", - "\n", - "To see available parameters run `help(time_series_widget)`.\n", - "\n", - "In the example below, collisions in Seattle are animated by the date they occured. The number of incidents over time are shown in the time series widget bars." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "from cartoframes.viz import Layer, animation_style, time_series_widget\n", - "\n", - "set_default_credentials('cartoframes')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - " \n", - "\n", - "\n", - " \n", - "
                                                                                                                                                    \n", - "
                                                                                                                                                    \n", - "
                                                                                                                                                    \n", - " \n", - " \n", - "
                                                                                                                                                    \n", - "
                                                                                                                                                    \n", - "
                                                                                                                                                    \n", - "\n", - " \n", - "\n", - "
                                                                                                                                                    \n", - "
                                                                                                                                                    \n", - " :\n", - "
                                                                                                                                                    \n", - " \n", - " \n", - "
                                                                                                                                                    \n", - "
                                                                                                                                                    \n", - "\n", - "
                                                                                                                                                    \n", - " StackTrace\n", - "
                                                                                                                                                      \n", - "
                                                                                                                                                      \n", - "
                                                                                                                                                      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Layer(\n", - " 'seattle_collisions',\n", - " animation_style('incdate', duration=20, fade_in=0.5, fade_out=0.5),\n", - " widgets=[\n", - " time_series_widget(\n", - " value='incdate',\n", - " title='Number of Collisions by Date',\n", - " description= 'Play, pause, or select a range for the animation'\n", - " )]\n", - ")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.7" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/guides/01-Installation.ipynb b/guides/01-Installation.ipynb deleted file mode 100644 index 5d0edff72..000000000 --- a/guides/01-Installation.ipynb +++ /dev/null @@ -1,184 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Installation\n", - "\n", - "This guide is intended for those who are using CARTOframes for the first time. It covers:\n", - "- The **Python version** required\n", - "- How to install it using **pip**\n", - "- How to install it in a **Jupyter Notebook**\n", - "- How to install it in **Windows**\n", - "- How to create a **Virtual Enviroment**\n", - "- Considerations in **Jupyter Lab**\n", - "- Metrics\n", - "\n", - "> We recommend installing CARTOframes in a [Virtual Environment](http://docs.python-guide.org/en/latest/dev/virtualenvs/), since they are very useful when working with Python locally.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Python version required\n", - "\n", - "CARTOframes needs Python 3 to work properly. You can check your version by running:\n", - "\n", - "```\n", - "python --version\n", - "```\n", - "\n", - "You should get some output like Python 3.6.3. If you do not have Python, please install the latest 3.x version from [python.org](https://python.org/) or refer to the [Installing Python](http://docs.python-guide.org/en/latest/starting/installation/) section of the Hitchhiker’s Guide to Python." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "heading_collapsed": true - }, - "source": [ - "### Install it using `pip`\n", - "\n", - "CARTOframes can be installed with [`pip`](https://pypi.org/project/pip/) by simply typing one of the following commands to do a system install:\n", - "\n", - "To install the package:\n", - "\n", - "```bash\n", - "pip install cartoframes\n", - "```\n", - "\n", - "To upgrade the package to the latest version:\n", - "\n", - "```bash\n", - "pip install --upgrade cartoframes\n", - "```\n", - "\n", - "To install a specific version:\n", - "\n", - "```bash\n", - "pip install cartoframes==1.x.y\n", - "```\n", - "\n", - "#### Optional dependency\n", - "\n", - "[RTree](https://github.com/Toblerity/rtree) is a spatial index package to improve performance and required for overlay operations. It provides an interface to [libspatialindex](https://github.com/libspatialindex/libspatialindex)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Install it in a Jupyter Notebook\n", - "\n", - "In the CARTOframes Developer Center, all of the examples are created with [Jupyter Notebooks](https://jupyter.org/). If you aren't familiar with Jupyter Notebooks, we recommend reading the [beginner documentation](https://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/what_is_jupyter.html) to get familiar with the environment.\n", - "\n", - "To install CARTOframes through a Jupyter Notebook, run this command:\n", - "\n", - "```bash\n", - "!pip install cartoframes\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Install it in Windows\n", - "\n", - "In order to work properly, CARTOframes needs that [Shapely](https://github.com/Toblerity/Shapely) and [Fiona](https://github.com/Toblerity/Fiona) libraries are already installed in your system. Execute these commands to install CARTOframes correctly:\n", - "\n", - "```bash\n", - "pip install shapely\n", - "conda install -c conda-forge fiona\n", - "pip install cartoframes\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Use a Virtual Environment\n", - "\n", - "This section provides the necessary information to create a simple Virtual Environment with virtualenv and conda and also how to install CARTOframes inside of it.\n", - "\n", - "```bash\n", - "$ virtualenv cartoframes_env\n", - "$ source cartoframes_env/bin/activate\n", - "(cartoframes_env) $ pip install cartoframes\n", - "```\n", - "\n", - "When the virtual environment is activated, it is visible in the command line prompt, in this case: `(cartoframes_env)`. It can be deactivated by typing `deactivate` to exit the virtualenv:\n", - "\n", - "```bash\n", - "(cartoframes_env) $ deactivate\n", - "```\n", - "\n", - "#### Conda users\n", - "\n", - "Let's see how to achieve it with conda.\n", - "\n", - "```bash\n", - "$ conda create --name cartoframes_env\n", - "$ conda activate cartoframes_env\n", - "(cartoframes_env) $ pip install shapely\n", - "(cartoframes_env) $ conda install -c conda-forge fiona\n", - "(cartoframes_env) $ pip install cartoframes\n", - "```\n", - "\n", - "When the virtual environment is activated, it is visible in the command line prompt, in this case: `(cartoframes_env)`. It can be deactivated by typing `deactivate` to exit the virtualenv:\n", - "\n", - "```bash\n", - "(cartoframes_env) $ conda deactivate\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Use Jupyter Lab\n", - "\n", - "Jupyter Lab does not install by default some requirements we need in this version of CARTOframes, so it requires to run also:\n", - "\n", - "```bash\n", - "pip install ipywidgets\n", - "jupyter labextension install @jupyter-widgets/jupyterlab-manager\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Metrics\n", - "\n", - "We collect data on your usage of CARTOframes to understand how you use it and use this information to improve the product. Usage data includes information like \"map_created,\" which tells us the date and time you created a map. The usage data we collect is anonymous, does not allow us to see the contents of what you're working on, and is handled in accordance with our Privacy Notice .\n", - "You may choose to opt out by calling `cartoframes.utils.setup_metrics(False)`." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.7" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/guides/04-Data-management.ipynb b/guides/04-Data-management.ipynb deleted file mode 100644 index c4eafa673..000000000 --- a/guides/04-Data-management.ipynb +++ /dev/null @@ -1,4412 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Data management\n", - "\n", - "### Introduction\n", - "\n", - "CARTOframes is built on top of [Pandas](https://pandas.pydata.org/) and [GeoPandas](https://geopandas.org/). Therefore, it's compatible with all the data formats supported in those projects like CSV, GeoJSON, Shapefile, etc. This guide will show how to load different data files into DataFrames and how to interact with the CARTO platform to upload DataFrames into tables and download tables or SQL queries into DataFrames.\n", - "\n", - "There are two main concepts we should know before continuing with the guide:\n", - "- A [DataFrame](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html) is a two-dimensional data structure for generic data. It can be thought of as a table with rows and columns. It's composed of [Series](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.html) objects which are one-dimensional data structures.\n", - "- A [GeoDataFrame](https://geopandas.org/data_structures.html#geodataframe) is a DataFrame with an extra geometry column. This geometry column is a [GeoSeries](https://geopandas.org/data_structures.html#geoseries) object.\n", - "\n", - "Every time we manage Geographic data, a GeoDataFrame should be used. In case a DataFrame with an encoded geometry column is used (WKB, WKT, etc) every method contains a `geom_col` param to provide the name of that column and decode the geometry internally.\n", - "\n", - "For more information, you can see all the examples [here](https://carto.com/developers/cartoframes/examples/#example-data-management).\n", - "\n", - "#### Steps\n", - "\n", - "\n", - "To show how to manage your data with CARTOframes, we will follow the next steps:\n", - "\n", - "- Load San Francisco neighborhoods from a GeoJSON file\n", - "- Load San Francisco incidents from a CSV file\n", - "- Upload data to CARTO\n", - "- Calculate their intersection using a SQL query\n", - "- Download the result" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Load San Francisco neighborhoods from a GeoJSON file\n", - "\n", - "Let's start by loading and visualizing San Francisco neighborhoods reading an external GeoJSON file." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                                                      \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                      linknamegeometry
                                                                                                                                                      0http://en.wikipedia.org/wiki/Sea_Cliff,_San_Fr...SeacliffMULTIPOLYGON (((-122.49346 37.78352, -122.4937...
                                                                                                                                                      1NoneLake StreetMULTIPOLYGON (((-122.48715 37.78379, -122.4872...
                                                                                                                                                      2http://www.nps.gov/prsf/index.htmPresidio National ParkMULTIPOLYGON (((-122.47758 37.81099, -122.4771...
                                                                                                                                                      3NonePresidio TerraceMULTIPOLYGON (((-122.47241 37.78735, -122.4710...
                                                                                                                                                      4http://www.sfgate.com/neighborhoods/sf/innerri...Inner RichmondMULTIPOLYGON (((-122.47263 37.78631, -122.4668...
                                                                                                                                                      \n", - "
                                                                                                                                                      " - ], - "text/plain": [ - " link name \\\n", - "0 http://en.wikipedia.org/wiki/Sea_Cliff,_San_Fr... Seacliff \n", - "1 None Lake Street \n", - "2 http://www.nps.gov/prsf/index.htm Presidio National Park \n", - "3 None Presidio Terrace \n", - "4 http://www.sfgate.com/neighborhoods/sf/innerri... Inner Richmond \n", - "\n", - " geometry \n", - "0 MULTIPOLYGON (((-122.49346 37.78352, -122.4937... \n", - "1 MULTIPOLYGON (((-122.48715 37.78379, -122.4872... \n", - "2 MULTIPOLYGON (((-122.47758 37.81099, -122.4771... \n", - "3 MULTIPOLYGON (((-122.47241 37.78735, -122.4710... \n", - "4 MULTIPOLYGON (((-122.47263 37.78631, -122.4668... " - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from geopandas import read_file\n", - "\n", - "neighborhoods_gdf = read_file('https://data.sfgov.org/api/geospatial/pty2-tcw4?method=export&format=GeoJSON')\n", - "neighborhoods_gdf.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                                      \n", - "
                                                                                                                                                      \n", - "
                                                                                                                                                      \n", - " \n", - " \n", - "
                                                                                                                                                      \n", - "
                                                                                                                                                      \n", - "
                                                                                                                                                      \n", - "\n", - " \n", - "\n", - "
                                                                                                                                                      \n", - "
                                                                                                                                                      \n", - " :\n", - "
                                                                                                                                                      \n", - " \n", - " \n", - "
                                                                                                                                                      \n", - "
                                                                                                                                                      \n", - "\n", - "
                                                                                                                                                      \n", - " StackTrace\n", - "
                                                                                                                                                        \n", - "
                                                                                                                                                        \n", - "
                                                                                                                                                        \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer\n", - "\n", - "Layer(neighborhoods_gdf)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Load San Francisco incidents from a CSV file\n", - "\n", - "Let's do the same with San Francisco incidents. In this case, we will work with an external CSV file." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                                                        \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                        incident_datetimeincident_dateincident_timeincident_yearincident_day_of_weekreport_datetimerow_idincident_idincident_numbercad_number...:@computed_region_qgnn_b9vv:@computed_region_26cr_cadq:@computed_region_ajp5_b2md:@computed_region_nqbw_i6c3:@computed_region_2dwj_jsy4:@computed_region_h4ep_8xdi:@computed_region_y6ts_4iup:@computed_region_jg9y_a9du:@computed_region_6pnf_4xz7geometry
                                                                                                                                                        42020-02-03T14:45:00.0002020-02-03T00:00:00.00014:452020Monday2020-02-03T17:50:00.00089881675000898816200085557200342870.0...10.08.016.0NaNNaNNaNNaNNaN2.0POINT (-122.47604 37.72695)
                                                                                                                                                        62020-02-03T03:45:00.0002020-02-03T00:00:00.00003:452020Monday2020-02-03T03:45:00.00089860711012898607200083749200340316.0...3.02.020.03.0NaNNaNNaNNaN2.0POINT (-122.41517 37.75244)
                                                                                                                                                        72020-02-03T10:00:00.0002020-02-03T00:00:00.00010:002020Monday2020-02-03T10:06:00.00089867264015898672200084060200340808.0...5.03.08.0NaN35.0NaNNaNNaN2.0POINT (-122.40734 37.78456)
                                                                                                                                                        92020-01-05T00:00:00.0002020-01-05T00:00:00.00000:002020Sunday2020-02-03T16:09:00.00089877368020898773200085193200342341.0...4.06.030.0NaNNaNNaNNaNNaN1.0POINT (-122.44025 37.78711)
                                                                                                                                                        102020-02-03T08:36:00.0002020-02-03T00:00:00.00008:362020Monday2020-02-03T08:36:00.00089876268020898762200083909200340826.0...6.03.08.0NaNNaNNaNNaNNaN1.0POINT (-122.39951 37.79693)
                                                                                                                                                        \n", - "

                                                                                                                                                        5 rows × 37 columns

                                                                                                                                                        \n", - "
                                                                                                                                                        " - ], - "text/plain": [ - " incident_datetime incident_date incident_time \\\n", - "4 2020-02-03T14:45:00.000 2020-02-03T00:00:00.000 14:45 \n", - "6 2020-02-03T03:45:00.000 2020-02-03T00:00:00.000 03:45 \n", - "7 2020-02-03T10:00:00.000 2020-02-03T00:00:00.000 10:00 \n", - "9 2020-01-05T00:00:00.000 2020-01-05T00:00:00.000 00:00 \n", - "10 2020-02-03T08:36:00.000 2020-02-03T00:00:00.000 08:36 \n", - "\n", - " incident_year incident_day_of_week report_datetime row_id \\\n", - "4 2020 Monday 2020-02-03T17:50:00.000 89881675000 \n", - "6 2020 Monday 2020-02-03T03:45:00.000 89860711012 \n", - "7 2020 Monday 2020-02-03T10:06:00.000 89867264015 \n", - "9 2020 Sunday 2020-02-03T16:09:00.000 89877368020 \n", - "10 2020 Monday 2020-02-03T08:36:00.000 89876268020 \n", - "\n", - " incident_id incident_number cad_number ... \\\n", - "4 898816 200085557 200342870.0 ... \n", - "6 898607 200083749 200340316.0 ... \n", - "7 898672 200084060 200340808.0 ... \n", - "9 898773 200085193 200342341.0 ... \n", - "10 898762 200083909 200340826.0 ... \n", - "\n", - " :@computed_region_qgnn_b9vv :@computed_region_26cr_cadq \\\n", - "4 10.0 8.0 \n", - "6 3.0 2.0 \n", - "7 5.0 3.0 \n", - "9 4.0 6.0 \n", - "10 6.0 3.0 \n", - "\n", - " :@computed_region_ajp5_b2md :@computed_region_nqbw_i6c3 \\\n", - "4 16.0 NaN \n", - "6 20.0 3.0 \n", - "7 8.0 NaN \n", - "9 30.0 NaN \n", - "10 8.0 NaN \n", - "\n", - " :@computed_region_2dwj_jsy4 :@computed_region_h4ep_8xdi \\\n", - "4 NaN NaN \n", - "6 NaN NaN \n", - "7 35.0 NaN \n", - "9 NaN NaN \n", - "10 NaN NaN \n", - "\n", - " :@computed_region_y6ts_4iup :@computed_region_jg9y_a9du \\\n", - "4 NaN NaN \n", - "6 NaN NaN \n", - "7 NaN NaN \n", - "9 NaN NaN \n", - "10 NaN NaN \n", - "\n", - " :@computed_region_6pnf_4xz7 geometry \n", - "4 2.0 POINT (-122.47604 37.72695) \n", - "6 2.0 POINT (-122.41517 37.75244) \n", - "7 2.0 POINT (-122.40734 37.78456) \n", - "9 1.0 POINT (-122.44025 37.78711) \n", - "10 1.0 POINT (-122.39951 37.79693) \n", - "\n", - "[5 rows x 37 columns]" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from pandas import read_csv\n", - "from geopandas import GeoDataFrame, points_from_xy\n", - "\n", - "df = read_csv('http://data.sfgov.org/resource/wg3w-h783.csv')\n", - "\n", - "# Clean NaN values\n", - "df = df[df['longitude'].notna()]\n", - "\n", - "incidents_gdf = GeoDataFrame(df, geometry=points_from_xy(df['longitude'], df['latitude']))\n", - "incidents_gdf.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                                        \n", - "
                                                                                                                                                        \n", - "
                                                                                                                                                        \n", - " \n", - " \n", - "
                                                                                                                                                        \n", - "
                                                                                                                                                        \n", - "
                                                                                                                                                        \n", - "\n", - " \n", - "\n", - "
                                                                                                                                                        \n", - "
                                                                                                                                                        \n", - " :\n", - "
                                                                                                                                                        \n", - " \n", - " \n", - "
                                                                                                                                                        \n", - "
                                                                                                                                                        \n", - "\n", - "
                                                                                                                                                        \n", - " StackTrace\n", - "
                                                                                                                                                          \n", - "
                                                                                                                                                          \n", - "
                                                                                                                                                          \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer\n", - "\n", - "Layer(incidents_gdf)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Upload data to CARTO\n", - "\n", - "Let's upload both GeoDataFrames to CARTO so we can see how to interact with the platform. In order to continue, you have to set your CARTO credentials. If you aren't sure about your API key, check the [Authentication guide](/developers/cartoframes/guides/Authentication/) to learn how to get it." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('creds.json')" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Success! Data uploaded to table \"sf_neighborhoods\" correctly\n", - "Success! Data uploaded to table \"sf_incidents\" correctly\n" - ] - }, - { - "data": { - "text/plain": [ - "'sf_incidents'" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes import to_carto\n", - "\n", - "\n", - "neighborhoods_table = 'sf_neighborhoods'\n", - "incidents_table = 'sf_incidents'\n", - "\n", - "to_carto(neighborhoods_gdf, neighborhoods_table, if_exists='replace')\n", - "to_carto(incidents_gdf, incidents_table, if_exists='replace')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now that we have uploaded the data, we can directly visualize the tables using:\n", - "```python\n", - "Layer(neighborhoods_table)\n", - "Layer(incidents_table)\n", - "```" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Calculate their intersection using a SQL query\n", - "\n", - "Let's see how we can apply a SQL query to inserct both tables and download the result of the query tp visualize it." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                                                          \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                          cartodb_idthe_geomnameincidents
                                                                                                                                                          0828MULTIPOLYGON (((-122.51314 37.77133, -122.5110...Golden Gate Park7
                                                                                                                                                          1934MULTIPOLYGON (((-122.43734 37.76235, -122.4370...Eureka Valley4
                                                                                                                                                          2908MULTIPOLYGON (((-122.39899 37.71534, -122.3988...Little Hollywood2
                                                                                                                                                          3850MULTIPOLYGON (((-122.38452 37.78739, -122.3843...South Beach7
                                                                                                                                                          4894MULTIPOLYGON (((-122.41622 37.70833, -122.4159...Visitacion Valley4
                                                                                                                                                          \n", - "
                                                                                                                                                          " - ], - "text/plain": [ - " cartodb_id the_geom \\\n", - "0 828 MULTIPOLYGON (((-122.51314 37.77133, -122.5110... \n", - "1 934 MULTIPOLYGON (((-122.43734 37.76235, -122.4370... \n", - "2 908 MULTIPOLYGON (((-122.39899 37.71534, -122.3988... \n", - "3 850 MULTIPOLYGON (((-122.38452 37.78739, -122.3843... \n", - "4 894 MULTIPOLYGON (((-122.41622 37.70833, -122.4159... \n", - "\n", - " name incidents \n", - "0 Golden Gate Park 7 \n", - "1 Eureka Valley 4 \n", - "2 Little Hollywood 2 \n", - "3 South Beach 7 \n", - "4 Visitacion Valley 4 " - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes import read_carto\n", - "\n", - "incidents_neighborhoods_gdf = read_carto('''\n", - " SELECT n.cartodb_id, n.the_geom, n.the_geom_webmercator, n.name, COUNT(*) AS incidents\n", - " FROM sf_incidents i INNER JOIN sf_neighborhoods n ON ST_Intersects(i.the_geom, n.the_geom)\n", - " GROUP BY n.cartodb_id\n", - "''')\n", - "incidents_neighborhoods_gdf.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                                          \n", - "
                                                                                                                                                          \n", - "
                                                                                                                                                          \n", - " \n", - " \n", - "
                                                                                                                                                          \n", - "
                                                                                                                                                          \n", - " \n", - "\n", - "
                                                                                                                                                          \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                          \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                          \n", - " \n", - " \n", - "
                                                                                                                                                          \n", - "
                                                                                                                                                          \n", - "
                                                                                                                                                          \n", - "
                                                                                                                                                          \n", - " \n", - "
                                                                                                                                                          \n", - "
                                                                                                                                                          \n", - "
                                                                                                                                                          \n", - "\n", - " \n", - "\n", - "
                                                                                                                                                          \n", - "
                                                                                                                                                          \n", - " :\n", - "
                                                                                                                                                          \n", - " \n", - " \n", - "
                                                                                                                                                          \n", - "
                                                                                                                                                          \n", - "\n", - "
                                                                                                                                                          \n", - " StackTrace\n", - "
                                                                                                                                                            \n", - "
                                                                                                                                                            \n", - "
                                                                                                                                                            \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import color_continuous_style\n", - "\n", - "Layer(incidents_neighborhoods_gdf, style=color_continuous_style('incidents'))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Conclusion\n", - "\n", - "Congratulations! You have seen how to load data locally, upload it to CARTO, apply a SQL query and download the results. We recommend to upload your data to CARTO when it is too big (> 30MB) to be visualized from a GeoDataFrame or when you want to apply PostGIS queries.\n" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.7" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/guides/07-Data-enrichment.ipynb b/guides/07-Data-enrichment.ipynb deleted file mode 100644 index eb9c13c8a..000000000 --- a/guides/07-Data-enrichment.ipynb +++ /dev/null @@ -1,1020 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Data enrichment\n", - "\n", - "### Introduction\n", - "\n", - "We define enrichment as the process of augmenting your data with new variables by means of a spatial join between your data and a `Dataset` aggregated at a given spatial resolution in the CARTO Data Observatory, or in other words:\n", - "\n", - "\"*Enrichment is the process of adding variables to a geometry, which we call the target, (point, line, polygon…) from a spatial (polygon) dataset, which we call the source*\"\n", - "\n", - "We recommend you check out the [CARTOframes quickstart](/developers/cartoframes/guides/Quickstart/) since this guide uses some of the generated DataFrames as well as the [Data Discovery guide](/developers/cartoframes/guides/Data-discovery) to learn about exploring the Data Observatory catalog to find variables of interest for your analyses.\n", - "\n", - "### Choose variables to enrich from the Data Observatory catalog\n", - "\n", - "Let's follow up with the [Data Discovery guide](/developers/cartoframes/guides/Data-discovery), where we subscribed to the AGS demographics dataset and listed the variables available to enrich our own data." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import set_default_credentials\n", - "\n", - "set_default_credentials('creds.json')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[,\n", - " ,\n", - " ,\n", - " ,\n", - " ]" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.data.observatory import Catalog, Dataset, Variable, Geography\n", - "Catalog().subscriptions().datasets" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[ #'Geographic Identifier',\n", - " #'Population (2019A)',\n", - " #'Population in Group Quarters (2019A)',\n", - " #'Institutional Group Quarters Population (2019A)',\n", - " #'Population age 0-4 (2019A)',\n", - " #'Population age 5-9 (2019A)',\n", - " #'Population age 10-14 (2019A)',\n", - " #'Population age 15-19 (2019A)',\n", - " #'Population age 20-24 (2019A)',\n", - " #'Population age 25-29 (2019A)',\n", - " #'Population age 30-34 (2019A)',\n", - " #'Population age 35-39 (2019A)',\n", - " #'Population age 40-44 (2019A)',\n", - " #'Population age 45-49 (2019A)',\n", - " #'Population age 50-54 (2019A)',\n", - " #'Population age 55-59 (2019A)',\n", - " #'Population age 60-64 (2019A)',\n", - " #'Population age 65-69 (2019A)',\n", - " #'Population age 70-74 (2019A)',\n", - " #'Population age 75-79 (2019A)',\n", - " #'Population age 80-84 (2019A)',\n", - " #'Population age 85+ (2019A)',\n", - " #'Median Age (2019A)',\n", - " #'Population male (2019A)',\n", - " #'Population female (2019A)',\n", - " #'Non Hispanic White (2019A)',\n", - " #'Non Hispanic Black (2019A)',\n", - " #'Non Hispanic American Indian (2019A)',\n", - " #'Non Hispanic Asian (2019A)',\n", - " #'Non Hispanic Hawaiian/Pacific Islander (2019A)',\n", - " #'Non Hispanic Other Race (2019A)',\n", - " #'Non Hispanic Multiple Race (2019A)',\n", - " #'Population Hispanic (2019A)',\n", - " #'Never Married (2019A)',\n", - " #'Now Married (2019A)',\n", - " #'Separated (2019A)',\n", - " #'Widowed (2019A)',\n", - " #'Divorced (2019A)',\n", - " #'Population Age 15+ (2019A)',\n", - " #'Pop 25+ less than 9th grade (2019A)',\n", - " #'Pop 25+ 9th-12th grade no diploma (2019A)',\n", - " #'Pop 25+ HS graduate (2019A)',\n", - " #'Pop 25+ college no diploma (2019A)',\n", - " #'Pop 25+ Associate degree (2019A)',\n", - " #'Pop 25+ Bachelors degree (2019A)',\n", - " #'Pop 25+ graduate or prof school degree (2019A)',\n", - " #'Population Age 25+ (2019A)',\n", - " #'Households (2019A)',\n", - " #'Family Households (2019A)',\n", - " #'Families married couple w children (2019A)',\n", - " #'Families male no wife w children (2019A)',\n", - " #'Families female no husband children (2019A)',\n", - " #'Average Household Size (2019A)',\n", - " #'Median Age of Householder (2019A)',\n", - " #'Households: No Vehicle Available (2019A)',\n", - " #'Households: One Vehicle Available (2019A)',\n", - " #'Households: Two or More Vehicles Available (2019A)',\n", - " #'Per capita income (2019A)',\n", - " #'Average household Income (2019A)',\n", - " #'Median household income (2019A)',\n", - " #'Median family income (2019A)',\n", - " #'Household Income < $10000 (2019A)',\n", - " #'Household Income $10000-$14999 (2019A)',\n", - " #'Household Income $15000-$19999 (2019A)',\n", - " #'Household Income $20000-$24999 (2019A)',\n", - " #'Household Income $25000-$29999 (2019A)',\n", - " #'Household Income $30000-$34999 (2019A)',\n", - " #'Household Income $35000-$39999 (2019A)',\n", - " #'Household Income $40000-$44999 (2019A)',\n", - " #'Household Income $45000-$49999 (2019A)',\n", - " #'Household Income $50000-$59999 (2019A)',\n", - " #'Household Income $60000-$74999 (2019A)',\n", - " #'Household Income $75000-$99999 (2019A)',\n", - " #'Household Income $100000-$124999 (2019A)',\n", - " #'Household Income $125000-$149999 (2019A)',\n", - " #'Household Income $150000-$199999 (2019A)',\n", - " #'Household Income > $200000 (2019A)',\n", - " #'Median Household Income: Age < 25 (2019A)',\n", - " #'Median Household Income: Age 25-34 (2019A)',\n", - " #'Median Household Income: Age 35-44 (2019A)',\n", - " #'Median Household Income: Age 45-54 (2019A)',\n", - " #'Median Household Income: Age 55-64 (2019A)',\n", - " #'Median Household Income: Age 65-74 (2019A)',\n", - " #'Median Household Income: Age 75+ (2019A)',\n", - " #'Population Age 16+ (2019A)',\n", - " #'Pop 16+ in Armed Forces (2019A)',\n", - " #'Pop 16+ civilian employed (2019A)',\n", - " #'Pop 16+ civilian unemployed (2019A)',\n", - " #'Pop 16+ not in labor force (2019A)',\n", - " #'Unemployment Rate (2019A)',\n", - " #'Population In Labor Force (2019A)',\n", - " #'SPANISH SPEAKING HOUSEHOLDS',\n", - " #'LINGUISTICALLY ISOLATED HOUSEHOLDS (NON-ENGLISH SP...',\n", - " #'Median Value of Owner Occupied Housing Units',\n", - " #'Median Cash Rent',\n", - " #'UNITS IN STRUCTURE: 1 DETACHED',\n", - " #'UNITS IN STRUCTURE: 20 OR MORE',\n", - " #'Housing units (2019A)',\n", - " #'Housing units vacant (2019A)',\n", - " #'Occupied units renter (2019A)',\n", - " #'Occupied units owner (2019A)',\n", - " #'Population (2024A)',\n", - " #'Households (2024A)',\n", - " #'Housing units (2024A)',\n", - " #'Median Age (2024A)',\n", - " #'Per capita income (2024A)',\n", - " #'Average household Income (2024A)',\n", - " #'Median household income (2024A)']" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dataset = Dataset.get('ags_sociodemogr_f510a947')\n", - "variables = dataset.variables\n", - "variables" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As we saw in the Data Discovery guide, the `ags_sociodemogr_f510a947` dataset contains socio-demographic variables aggregated to the Census block group level. \n", - "\n", - "Let's try and find a variable for total population:" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                                                            \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                            slugnamedescriptiondb_typeagg_methodcolumn_namevariable_group_iddataset_idid
                                                                                                                                                            1POPCY_5e23b8f4Total PopulationPopulation (2019A)INTEGERSUMPOPCYNonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                                                                                            2POPCYGRP_55c4a2e5POPCYGRPPopulation in Group Quarters (2019A)INTEGERSUMPOPCYGRPNonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                                                                                            3POPCYGRPI_d37c4ecPOPCYGRPIInstitutional Group Quarters Population (2019A)INTEGERSUMPOPCYGRPINonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                                                                                            84LBFCYPOP16_55556a30LBFCYPOP16Population Age 16+ (2019A)INTEGERSUMLBFCYPOP16carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                                                                                            101POPPY_3fccf966Total populationPopulation (2024A)FLOATSUMPOPPYNonecarto-do.ags.demographics_sociodemographics_us...carto-do.ags.demographics_sociodemographics_us...
                                                                                                                                                            \n", - "
                                                                                                                                                            " - ], - "text/plain": [ - " slug name \\\n", - "1 POPCY_5e23b8f4 Total Population \n", - "2 POPCYGRP_55c4a2e5 POPCYGRP \n", - "3 POPCYGRPI_d37c4ec POPCYGRPI \n", - "84 LBFCYPOP16_55556a30 LBFCYPOP16 \n", - "101 POPPY_3fccf966 Total population \n", - "\n", - " description db_type agg_method \\\n", - "1 Population (2019A) INTEGER SUM \n", - "2 Population in Group Quarters (2019A) INTEGER SUM \n", - "3 Institutional Group Quarters Population (2019A) INTEGER SUM \n", - "84 Population Age 16+ (2019A) INTEGER SUM \n", - "101 Population (2024A) FLOAT SUM \n", - "\n", - " column_name variable_group_id \\\n", - "1 POPCY None \n", - "2 POPCYGRP None \n", - "3 POPCYGRPI None \n", - "84 LBFCYPOP16 carto-do.ags.demographics_sociodemographics_us... \n", - "101 POPPY None \n", - "\n", - " dataset_id \\\n", - "1 carto-do.ags.demographics_sociodemographics_us... \n", - "2 carto-do.ags.demographics_sociodemographics_us... \n", - "3 carto-do.ags.demographics_sociodemographics_us... \n", - "84 carto-do.ags.demographics_sociodemographics_us... \n", - "101 carto-do.ags.demographics_sociodemographics_us... \n", - "\n", - " id \n", - "1 carto-do.ags.demographics_sociodemographics_us... \n", - "2 carto-do.ags.demographics_sociodemographics_us... \n", - "3 carto-do.ags.demographics_sociodemographics_us... \n", - "84 carto-do.ags.demographics_sociodemographics_us... \n", - "101 carto-do.ags.demographics_sociodemographics_us... " - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "vdf = variables.to_dataframe()\n", - "vdf[vdf['name'].str.contains('pop', case=False, na=False)]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can store the variable instance we need by searching the Catalog by its `slug`, in this case `POPCY_5e23b8f4`:" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'slug': 'POPCY_5e23b8f4',\n", - " 'name': 'Total Population',\n", - " 'description': 'Population (2019A)',\n", - " 'db_type': 'INTEGER',\n", - " 'agg_method': 'SUM',\n", - " 'column_name': 'POPCY',\n", - " 'variable_group_id': None,\n", - " 'dataset_id': 'carto-do.ags.demographics_sociodemographics_usa_blockgroup_2015_yearly_2019',\n", - " 'id': 'carto-do.ags.demographics_sociodemographics_usa_blockgroup_2015_yearly_2019.POPCY'}" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "variable = Variable.get('POPCY_5e23b8f4')\n", - "variable.to_dict()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The `POPCY` variable contains the `SUM` of the population for blockgroup for the year 2019. Let's enrich our stores DataFrame with that variable." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Enrich a points DataFrame\n", - "\n", - "In the [CARTOframes Quickstart](/developers/cartoframes/guides/Quickstart/) you learned how to load your own data (in this case Starbucks stores) and geocode the addresses to coordinates for further analysis.\n", - "\n", - "Let's start by loading those geocoded Starbucks stores:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                                                            \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                            cartodb_idfield_1nameaddressrevenuegeometry
                                                                                                                                                            010Franklin Ave & Eastern Pkwy341 Eastern Pkwy,Brooklyn, NY 112381321040.772POINT (-73.95901 40.67109)
                                                                                                                                                            121607 Brighton Beach Ave607 Brighton Beach Avenue,Brooklyn, NY 112351268080.418POINT (-73.96122 40.57796)
                                                                                                                                                            23265th St & 18th Ave6423 18th Avenue,Brooklyn, NY 112041248133.699POINT (-73.98976 40.61912)
                                                                                                                                                            343Bay Ridge Pkwy & 3rd Ave7419 3rd Avenue,Brooklyn, NY 112091185702.676POINT (-74.02744 40.63152)
                                                                                                                                                            454Caesar's Bay Shopping Center8973 Bay Parkway,Brooklyn, NY 112141148427.411POINT (-74.00098 40.59321)
                                                                                                                                                            \n", - "
                                                                                                                                                            " - ], - "text/plain": [ - " cartodb_id field_1 name \\\n", - "0 1 0 Franklin Ave & Eastern Pkwy \n", - "1 2 1 607 Brighton Beach Ave \n", - "2 3 2 65th St & 18th Ave \n", - "3 4 3 Bay Ridge Pkwy & 3rd Ave \n", - "4 5 4 Caesar's Bay Shopping Center \n", - "\n", - " address revenue \\\n", - "0 341 Eastern Pkwy,Brooklyn, NY 11238 1321040.772 \n", - "1 607 Brighton Beach Avenue,Brooklyn, NY 11235 1268080.418 \n", - "2 6423 18th Avenue,Brooklyn, NY 11204 1248133.699 \n", - "3 7419 3rd Avenue,Brooklyn, NY 11209 1185702.676 \n", - "4 8973 Bay Parkway,Brooklyn, NY 11214 1148427.411 \n", - "\n", - " geometry \n", - "0 POINT (-73.95901 40.67109) \n", - "1 POINT (-73.96122 40.57796) \n", - "2 POINT (-73.98976 40.61912) \n", - "3 POINT (-74.02744 40.63152) \n", - "4 POINT (-74.00098 40.59321) " - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from geopandas import read_file\n", - "stores_gdf = read_file('http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn_geocoded.geojson')\n", - "stores_gdf.head(5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Note: Alternatively, you can load data in any geospatial format supported by GeoPandas or CARTO.**" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As we can see, for each store we have its name, address, the total revenue by year and a `geometry` column indicating the location of the store. This is important because for the enrichment service to work, we need a DataFrame with a geometry column encoded as a [shapely](https://pypi.org/project/Shapely/) object.\n", - "\n", - "We can now create a new `Enrichment` instance, and since the `stores_gdf` dataset represents store locations (points), we can use the `enrich_points` function passing as arguments, the stores DataFrame and a list of `Variables` (that we have a valid subscription from the Data Observatory catalog for).\n", - "\n", - "In this case we are only enriching one variable (the total population), but we could enrich a list of them." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                                                            \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                            cartodb_idfield_1nameaddressrevenuegeometryPOPCYdo_area
                                                                                                                                                            010Franklin Ave & Eastern Pkwy341 Eastern Pkwy,Brooklyn, NY 112381321040.772POINT (-73.95901 40.67109)221559840.196748
                                                                                                                                                            121607 Brighton Beach Ave607 Brighton Beach Avenue,Brooklyn, NY 112351268080.418POINT (-73.96122 40.57796)183160150.637177
                                                                                                                                                            23265th St & 18th Ave6423 18th Avenue,Brooklyn, NY 112041248133.699POINT (-73.98976 40.61912)74538950.618828
                                                                                                                                                            343Bay Ridge Pkwy & 3rd Ave7419 3rd Avenue,Brooklyn, NY 112091185702.676POINT (-74.02744 40.63152)117457353.293114
                                                                                                                                                            454Caesar's Bay Shopping Center8973 Bay Parkway,Brooklyn, NY 112141148427.411POINT (-74.00098 40.59321)2289188379.242624
                                                                                                                                                            \n", - "
                                                                                                                                                            " - ], - "text/plain": [ - " cartodb_id field_1 name \\\n", - "0 1 0 Franklin Ave & Eastern Pkwy \n", - "1 2 1 607 Brighton Beach Ave \n", - "2 3 2 65th St & 18th Ave \n", - "3 4 3 Bay Ridge Pkwy & 3rd Ave \n", - "4 5 4 Caesar's Bay Shopping Center \n", - "\n", - " address revenue \\\n", - "0 341 Eastern Pkwy,Brooklyn, NY 11238 1321040.772 \n", - "1 607 Brighton Beach Avenue,Brooklyn, NY 11235 1268080.418 \n", - "2 6423 18th Avenue,Brooklyn, NY 11204 1248133.699 \n", - "3 7419 3rd Avenue,Brooklyn, NY 11209 1185702.676 \n", - "4 8973 Bay Parkway,Brooklyn, NY 11214 1148427.411 \n", - "\n", - " geometry POPCY do_area \n", - "0 POINT (-73.95901 40.67109) 2215 59840.196748 \n", - "1 POINT (-73.96122 40.57796) 1831 60150.637177 \n", - "2 POINT (-73.98976 40.61912) 745 38950.618828 \n", - "3 POINT (-74.02744 40.63152) 1174 57353.293114 \n", - "4 POINT (-74.00098 40.59321) 2289 188379.242624 " - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.data.observatory import Enrichment\n", - "enriched_stores_gdf = Enrichment().enrich_points(stores_gdf, [variable])\n", - "enriched_stores_gdf.head(5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Once the enrichment finishes, there is a new column in our DataFrame called `POPCY` with population projected for the year 2019, from the US Census block group which contains each one of our Starbucks stores." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "All this information, is available in the `ags_sociodemogr_e92b1637` metadata. Let's take a look:" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'slug': 'ags_sociodemogr_f510a947',\n", - " 'name': 'Sociodemographics - United States of America (Census Block Group)',\n", - " 'description': 'Census and ACS sociodemographic data estimated for the current year and data projected to five years. Projected fields are general aggregates (total population, total households, median age, avg income etc.)',\n", - " 'category_id': 'demographics',\n", - " 'country_id': 'usa',\n", - " 'data_source_id': 'sociodemographics',\n", - " 'provider_id': 'ags',\n", - " 'geography_name': 'Census Block Group - United States of America',\n", - " 'geography_description': 'Shoreline clipped TIGER/Line boundaries. More info: https://carto.com/blog/tiger-shoreline-clip/',\n", - " 'temporal_aggregation': 'yearly',\n", - " 'time_coverage': '[2019-01-01, 2020-01-01)',\n", - " 'update_frequency': 'yearly',\n", - " 'is_public_data': False,\n", - " 'lang': 'eng',\n", - " 'version': '2019',\n", - " 'category_name': 'Demographics',\n", - " 'provider_name': 'Applied Geographic Solutions',\n", - " 'geography_id': 'carto-do-public-data.carto.geography_usa_blockgroup_2015',\n", - " 'id': 'carto-do.ags.demographics_sociodemographics_usa_blockgroup_2015_yearly_2019'}" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dataset.to_dict()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Enrich a polygon DataFrame\n", - "\n", - "Next, let's do a second enrichment, but this time using a DataFrame with areas of influence calculated using the [CARTOframes isochrones](/developers/cartoframes/reference/#heading-Isolines) service to obtain the polygon around each store that covers the area within an 8, 17 and 25 minute walk." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                                                            \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                            data_rangelower_data_rangerange_labelgeometry
                                                                                                                                                            050008 min.MULTIPOLYGON (((-73.95959 40.67571, -73.95971 ...
                                                                                                                                                            1100050017 min.POLYGON ((-73.95988 40.68110, -73.95863 40.681...
                                                                                                                                                            21500100025 min.POLYGON ((-73.95986 40.68815, -73.95711 40.688...
                                                                                                                                                            350008 min.MULTIPOLYGON (((-73.96185 40.58321, -73.96231 ...
                                                                                                                                                            4100050017 min.MULTIPOLYGON (((-73.96684 40.57483, -73.96830 ...
                                                                                                                                                            \n", - "
                                                                                                                                                            " - ], - "text/plain": [ - " data_range lower_data_range range_label \\\n", - "0 500 0 8 min. \n", - "1 1000 500 17 min. \n", - "2 1500 1000 25 min. \n", - "3 500 0 8 min. \n", - "4 1000 500 17 min. \n", - "\n", - " geometry \n", - "0 MULTIPOLYGON (((-73.95959 40.67571, -73.95971 ... \n", - "1 POLYGON ((-73.95988 40.68110, -73.95863 40.681... \n", - "2 POLYGON ((-73.95986 40.68815, -73.95711 40.688... \n", - "3 MULTIPOLYGON (((-73.96185 40.58321, -73.96231 ... \n", - "4 MULTIPOLYGON (((-73.96684 40.57483, -73.96830 ... " - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "aoi_gdf = read_file('http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn_isolines.geojson')\n", - "aoi_gdf.head(5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this case we have a DataFrame which, for each index in the `stores_gdf`, contains a polygon of the areas of influence around each store at 8, 17 and 25 minute walking intervals. Again the `geometry` is encoded as a `shapely` object.\n", - "\n", - "In this case, the `Enrichment` service provides an `enrich_polygons` function, which in its basic version, works in the same way as the `enrich_points` function. It just needs a DataFrame with polygon geometries and a list of variables to enrich:" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                                                            \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                            data_rangelower_data_rangerange_labelgeometryPOPCY
                                                                                                                                                            050008 min.MULTIPOLYGON (((-73.95959 40.67571, -73.95971 ...21112.458335
                                                                                                                                                            1100050017 min.POLYGON ((-73.95988 40.68110, -73.95863 40.681...60157.083956
                                                                                                                                                            21500100025 min.POLYGON ((-73.95986 40.68815, -73.95711 40.688...110657.471670
                                                                                                                                                            350008 min.MULTIPOLYGON (((-73.96185 40.58321, -73.96231 ...23505.104589
                                                                                                                                                            4100050017 min.MULTIPOLYGON (((-73.96684 40.57483, -73.96830 ...29781.046917
                                                                                                                                                            \n", - "
                                                                                                                                                            " - ], - "text/plain": [ - " data_range lower_data_range range_label \\\n", - "0 500 0 8 min. \n", - "1 1000 500 17 min. \n", - "2 1500 1000 25 min. \n", - "3 500 0 8 min. \n", - "4 1000 500 17 min. \n", - "\n", - " geometry POPCY \n", - "0 MULTIPOLYGON (((-73.95959 40.67571, -73.95971 ... 21112.458335 \n", - "1 POLYGON ((-73.95988 40.68110, -73.95863 40.681... 60157.083956 \n", - "2 POLYGON ((-73.95986 40.68815, -73.95711 40.688... 110657.471670 \n", - "3 MULTIPOLYGON (((-73.96185 40.58321, -73.96231 ... 23505.104589 \n", - "4 MULTIPOLYGON (((-73.96684 40.57483, -73.96830 ... 29781.046917 " - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.data.observatory import Enrichment\n", - "enriched_aoi_gdf = Enrichment().enrich_polygons(aoi_gdf, [variable])\n", - "enriched_aoi_gdf.head(5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We now have a new column in our areas of influence DataFrame, `SUM_POPCY` which represents the `SUM` of total population in the Census block groups that instersect with each polygon in our DataFrame." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### How enrichment works" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's take a deeper look into what happens under the hood when you execute a polygon enrichment.\n", - "\n", - "Imagine we have polygons representing municipalities, in blue, each of which have a population attribute, and we want to find out the population inside the green circle.\n", - "\n", - "\"Enrichment" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We don’t know how the population is distributed inside these municipalities. They are probably concentrated in cities somewhere, but, since we don’t know where they are, our best guess is to assume that the population is evenly distributed in the municipality (i.e. every point inside the municipality has the same population density).\n", - "\n", - "Population is an extensive property (it grows with area), so we can subset it (a region inside the municipality will always have a smaller population than the whole municipality), and also aggregate it by summing.\n", - "\n", - "In this case, we’d calculate the population inside each part of the circle that intersects with a municipality." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Default aggregation methods**\n", - "\n", - "In the Data Observatory, we suggest a default aggregation method for certain fields. However, some fields don’t have a clear best method, and some just can’t be aggregated. In these cases, we leave the `agg_method` field blank and let the user choose the method that best fits their needs." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Conclusion\n", - "\n", - "In this guide you've seen how to use CARTOframes in conjunction with the Data Observatory to enrich a Starbucks dataset with a new population variable for the use case of revenue prediction analysis by:\n", - "\n", - "- Choosing the total population variable from the Data Observatory catalog\n", - "- Calculating the sum of total population for each store\n", - "- Calculating the sum of total population around the walking areas of influence around each store\n", - "\n", - "In addition, you were introduced to some more advanced concepts and further explanation of how the enrichment itself works." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.7" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/guides/08-Location-Data-Services.ipynb b/guides/08-Location-Data-Services.ipynb deleted file mode 100644 index f19fa7099..000000000 --- a/guides/08-Location-Data-Services.ipynb +++ /dev/null @@ -1,7681 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Location Data Services" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Introduction\n", - "\n", - "CARTOframes provides the functionality to use the [CARTO Data Services API](https://carto.com/developers/data-services-api/). This API consists of a set of location-based functions that can be applied to your data to perform geospatial analyses without leaving the context of your notebook.\n", - "\n", - "For instance, you can **geocode** a pandas DataFrame with addresses on the fly, and then perform a trade areas analysis by computing **isodistances** or **isochrones** programmatically.\n", - "\n", - "Given a set of ten simulated Starbucks store addresses, this guide walks through the use case of finding good location candidates to open an additional store.\n", - "\n", - "> Based on your account plan, some of these location data services are subject to different [quota limitations](https://carto.com/developers/data-services-api/support/quota-information/)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Data\n", - "\n", - "This guide uses the same dataset of simulated Starbucks locations that has been used in the other guides and can be downloaded [here](http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn.csv)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Authentication\n", - "\n", - "Using Location Data Services requires to be authenticated. For more information about how to authenticate, please read the [Login to CARTO Platform guide](/developers/cartoframes/guides/Login-to-CARTO-Platform/)" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.auth import Credentials, set_default_credentials\n", - "\n", - "set_default_credentials('creds.json')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Geocoding\n", - "\n", - "To get started, let's read in and explore the Starbucks location data we have. With the Starbucks store data in a DataFrame, we can see that there are two columns that can be used in the **geocoding** service: `name` and `address`. There's also a third column that reflects the annual revenue of the store." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                                                            \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                            nameaddressrevenue
                                                                                                                                                            0Franklin Ave & Eastern Pkwy341 Eastern Pkwy,Brooklyn, NY 112381.321041e+06
                                                                                                                                                            1607 Brighton Beach Ave607 Brighton Beach Avenue,Brooklyn, NY 112351.268080e+06
                                                                                                                                                            265th St & 18th Ave6423 18th Avenue,Brooklyn, NY 112041.248134e+06
                                                                                                                                                            3Bay Ridge Pkwy & 3rd Ave7419 3rd Avenue,Brooklyn, NY 112091.185703e+06
                                                                                                                                                            4Caesar's Bay Shopping Center8973 Bay Parkway,Brooklyn, NY 112141.148427e+06
                                                                                                                                                            5Court St & Dean St167 Court Street,Brooklyn, NY 112011.144067e+06
                                                                                                                                                            6Target Gateway T-1401519 Gateway Dr,Brooklyn, NY 112391.021083e+06
                                                                                                                                                            73rd Ave & 92nd St9202 Third Avenue,Brooklyn, NY 112099.257073e+05
                                                                                                                                                            8Lam Group @ Sheraton Brooklyn228 Duffield st,Brooklyn, NY 112017.657935e+05
                                                                                                                                                            933-42 Hillel Place33-42 Hillel Place,Brooklyn, NY 112107.492163e+05
                                                                                                                                                            \n", - "
                                                                                                                                                            " - ], - "text/plain": [ - " name \\\n", - "0 Franklin Ave & Eastern Pkwy \n", - "1 607 Brighton Beach Ave \n", - "2 65th St & 18th Ave \n", - "3 Bay Ridge Pkwy & 3rd Ave \n", - "4 Caesar's Bay Shopping Center \n", - "5 Court St & Dean St \n", - "6 Target Gateway T-1401 \n", - "7 3rd Ave & 92nd St \n", - "8 Lam Group @ Sheraton Brooklyn \n", - "9 33-42 Hillel Place \n", - "\n", - " address revenue \n", - "0 341 Eastern Pkwy,Brooklyn, NY 11238 1.321041e+06 \n", - "1 607 Brighton Beach Avenue,Brooklyn, NY 11235 1.268080e+06 \n", - "2 6423 18th Avenue,Brooklyn, NY 11204 1.248134e+06 \n", - "3 7419 3rd Avenue,Brooklyn, NY 11209 1.185703e+06 \n", - "4 8973 Bay Parkway,Brooklyn, NY 11214 1.148427e+06 \n", - "5 167 Court Street,Brooklyn, NY 11201 1.144067e+06 \n", - "6 519 Gateway Dr,Brooklyn, NY 11239 1.021083e+06 \n", - "7 9202 Third Avenue,Brooklyn, NY 11209 9.257073e+05 \n", - "8 228 Duffield st,Brooklyn, NY 11201 7.657935e+05 \n", - "9 33-42 Hillel Place,Brooklyn, NY 11210 7.492163e+05 " - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import pandas as pd\n", - "\n", - "df = pd.read_csv('http://libs.cartocdn.com/cartoframes/files/starbucks_brooklyn.csv')\n", - "df" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Quota consumption\n", - "\n", - "Each time you run Location Data Services, you consume quota. For this reason, we provide the ability to check in advance the **amount of credits** an operation will consume by using the `dry_run` parameter when running the service function.\n", - "\n", - "It is also possible to check the available quota by running the `available_quota` function." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.data.services import Geocoding\n", - "\n", - "geo_service = Geocoding()\n", - "\n", - "_, geo_dry_metadata = geo_service.geocode(\n", - " df,\n", - " street='address',\n", - " city={'value': 'New York'},\n", - " country={'value': 'USA'},\n", - " dry_run=True\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'total_rows': 10,\n", - " 'required_quota': 10,\n", - " 'previously_geocoded': 0,\n", - " 'previously_failed': 0,\n", - " 'records_with_geometry': 0}" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "geo_dry_metadata" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "4977588" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "geo_service.available_quota()" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Success! Data geocoded correctly\n" - ] - } - ], - "source": [ - "geo_gdf, geo_metadata = geo_service.geocode(\n", - " df,\n", - " street='address',\n", - " city={'value': 'New York'},\n", - " country={'value': 'USA'}\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If the input data file should ever change, cached results will only be applied to unmodified\n", - "records, and new geocoding will be performed only on _new or changed records_.\n", - "\n", - "In order to use cached results, we have to save the results to a CARTO table using the `table_name` and `cached=True` parameters." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Success! Data geocoded correctly\n" - ] - } - ], - "source": [ - "geo_gdf_cached, geo_metadata_cached = geo_service.geocode(\n", - " df,\n", - " street='address',\n", - " city={'value': 'New York'},\n", - " country={'value': 'USA'},\n", - " table_name='starbucks_cache',\n", - " cached=True\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Let's compare `geo_dry_metadata` and `geo_metadata` to see the differences between the information returned with and without the `dry_run` option. As we can see, this information reflects that all the locations have been geocoded successfully and that it has consumed 10 credits of quota." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{'total_rows': 10,\n", - " 'required_quota': 10,\n", - " 'previously_geocoded': 0,\n", - " 'previously_failed': 0,\n", - " 'records_with_geometry': 0,\n", - " 'final_records_with_geometry': 10,\n", - " 'geocoded_increment': 10,\n", - " 'successfully_geocoded': 10,\n", - " 'failed_geocodings': 0}" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "geo_metadata" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The resulting data is a `GeoDataFrame` that contains three new columns:\n", - "\n", - "* `geometry`: The resulting geometry\n", - "* `gc_status_rel`: The percentage of accuracy of each location\n", - "* `carto_geocode_hash`: Geocode information" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                                                            \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                            the_geomnameaddressrevenuegc_status_relcarto_geocode_hash
                                                                                                                                                            0POINT (-73.95746 40.67102)Franklin Ave & Eastern Pkwy341 Eastern Pkwy,Brooklyn, NY 112381321040.7720.97c834a8e289e5bce280775a9bf1f833f1
                                                                                                                                                            1POINT (-73.96122 40.57796)607 Brighton Beach Ave607 Brighton Beach Avenue,Brooklyn, NY 112351268080.4180.997d39a3fff93efd9034da88aa9ad2da79
                                                                                                                                                            2POINT (-73.98978 40.61944)65th St & 18th Ave6423 18th Avenue,Brooklyn, NY 112041248133.6990.981a2312049ddea753ba42bf77f5ccf718
                                                                                                                                                            3POINT (-74.02750 40.63202)Bay Ridge Pkwy & 3rd Ave7419 3rd Avenue,Brooklyn, NY 112091185702.6760.98827ab4dcc2d49d5fd830749597976d4a
                                                                                                                                                            4POINT (-74.00098 40.59321)Caesar's Bay Shopping Center8973 Bay Parkway,Brooklyn, NY 112141148427.4110.98119a38c7b51195cd4153fc81605a8495
                                                                                                                                                            \n", - "
                                                                                                                                                            " - ], - "text/plain": [ - " the_geom name \\\n", - "0 POINT (-73.95746 40.67102) Franklin Ave & Eastern Pkwy \n", - "1 POINT (-73.96122 40.57796) 607 Brighton Beach Ave \n", - "2 POINT (-73.98978 40.61944) 65th St & 18th Ave \n", - "3 POINT (-74.02750 40.63202) Bay Ridge Pkwy & 3rd Ave \n", - "4 POINT (-74.00098 40.59321) Caesar's Bay Shopping Center \n", - "\n", - " address revenue gc_status_rel \\\n", - "0 341 Eastern Pkwy,Brooklyn, NY 11238 1321040.772 0.97 \n", - "1 607 Brighton Beach Avenue,Brooklyn, NY 11235 1268080.418 0.99 \n", - "2 6423 18th Avenue,Brooklyn, NY 11204 1248133.699 0.98 \n", - "3 7419 3rd Avenue,Brooklyn, NY 11209 1185702.676 0.98 \n", - "4 8973 Bay Parkway,Brooklyn, NY 11214 1148427.411 0.98 \n", - "\n", - " carto_geocode_hash \n", - "0 c834a8e289e5bce280775a9bf1f833f1 \n", - "1 7d39a3fff93efd9034da88aa9ad2da79 \n", - "2 1a2312049ddea753ba42bf77f5ccf718 \n", - "3 827ab4dcc2d49d5fd830749597976d4a \n", - "4 119a38c7b51195cd4153fc81605a8495 " - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "geo_gdf.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In addition, to prevent geocoding records that have been **previously geocoded**, and thus spend quota **unnecessarily**, you should always preserve the ``the_geom`` and ``carto_geocode_hash`` columns generated by the geocoding process.\n", - "\n", - "This will happen **automatically** in these cases:\n", - "\n", - "1. Your input is a **table** from CARTO processed in place (without a ``table_name`` parameter)\n", - "2. If you save your results to a CARTO table using the ``table_name`` parameter, and only use the resulting table for any further geocoding.\n", - "\n", - "If you try to geocode this DataFrame now, that contains both ``the_geom`` and the ``carto_geocode_hash``, you will see that the required quota is 0 because it has already been geocoded." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "_, repeat_geo_metadata = geo_service.geocode(\n", - " geo_gdf,\n", - " street='address',\n", - " city={'value': 'New York'},\n", - " country={'value': 'USA'},\n", - " dry_run=True\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "repeat_geo_metadata.get('required_quota')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Precision\n", - "\n", - "The `address` column is more complete than the `name` column, and therefore, the resulting coordinates calculated by the service will be more accurate. If we check this, the accuracy values using the `name` column (`0.95, 0.93, 0.96, 0.83, 0.78, 0.9`) are lower than the ones we get by using the `address` column for geocoding (`0.97, 0.99, 0.98`)." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Success! Data geocoded correctly\n" - ] - } - ], - "source": [ - "geo_name_gdf, geo_name_metadata = geo_service.geocode(\n", - " df,\n", - " street='name',\n", - " city={'value': 'New York'},\n", - " country={'value': 'USA'}\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                                                            \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                            the_geomnameaddressrevenuegc_status_relcarto_geocode_hash
                                                                                                                                                            0POINT (-73.95795 40.67071)Franklin Ave & Eastern Pkwy341 Eastern Pkwy,Brooklyn, NY 112381321040.7720.930be7693fc688eca36e1077656dcb00a5
                                                                                                                                                            1POINT (-73.96122 40.57796)607 Brighton Beach Ave607 Brighton Beach Avenue,Brooklyn, NY 112351268080.4180.96084a5c4d42ccf3c3c8e69426619f270e
                                                                                                                                                            2POINT (-73.99018 40.61914)65th St & 18th Ave6423 18th Avenue,Brooklyn, NY 112041248133.6990.931d9a17c20c11d0454aff10548a328c47
                                                                                                                                                            3POINT (-74.02778 40.63146)Bay Ridge Pkwy & 3rd Ave7419 3rd Avenue,Brooklyn, NY 112091185702.6760.96d531df27fc02336dc722cb4e7028b244
                                                                                                                                                            4POINT (-75.29322 43.07849)Caesar's Bay Shopping Center8973 Bay Parkway,Brooklyn, NY 112141148427.4110.859d8c13b5b4a93591f427d3ce0b5b4ead
                                                                                                                                                            \n", - "
                                                                                                                                                            " - ], - "text/plain": [ - " the_geom name \\\n", - "0 POINT (-73.95795 40.67071) Franklin Ave & Eastern Pkwy \n", - "1 POINT (-73.96122 40.57796) 607 Brighton Beach Ave \n", - "2 POINT (-73.99018 40.61914) 65th St & 18th Ave \n", - "3 POINT (-74.02778 40.63146) Bay Ridge Pkwy & 3rd Ave \n", - "4 POINT (-75.29322 43.07849) Caesar's Bay Shopping Center \n", - "\n", - " address revenue gc_status_rel \\\n", - "0 341 Eastern Pkwy,Brooklyn, NY 11238 1321040.772 0.93 \n", - "1 607 Brighton Beach Avenue,Brooklyn, NY 11235 1268080.418 0.96 \n", - "2 6423 18th Avenue,Brooklyn, NY 11204 1248133.699 0.93 \n", - "3 7419 3rd Avenue,Brooklyn, NY 11209 1185702.676 0.96 \n", - "4 8973 Bay Parkway,Brooklyn, NY 11214 1148427.411 0.85 \n", - "\n", - " carto_geocode_hash \n", - "0 0be7693fc688eca36e1077656dcb00a5 \n", - "1 084a5c4d42ccf3c3c8e69426619f270e \n", - "2 1d9a17c20c11d0454aff10548a328c47 \n", - "3 d531df27fc02336dc722cb4e7028b244 \n", - "4 9d8c13b5b4a93591f427d3ce0b5b4ead " - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "geo_name_gdf.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0.93, 0.96, 0.85, 0.83, 0.74, 0.87])" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "geo_name_gdf.gc_status_rel.unique()" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                                                            \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                            the_geomnameaddressrevenuegc_status_relcarto_geocode_hash
                                                                                                                                                            0POINT (-73.95746 40.67102)Franklin Ave & Eastern Pkwy341 Eastern Pkwy,Brooklyn, NY 112381321040.7720.97c834a8e289e5bce280775a9bf1f833f1
                                                                                                                                                            1POINT (-73.96122 40.57796)607 Brighton Beach Ave607 Brighton Beach Avenue,Brooklyn, NY 112351268080.4180.997d39a3fff93efd9034da88aa9ad2da79
                                                                                                                                                            2POINT (-73.98978 40.61944)65th St & 18th Ave6423 18th Avenue,Brooklyn, NY 112041248133.6990.981a2312049ddea753ba42bf77f5ccf718
                                                                                                                                                            3POINT (-74.02750 40.63202)Bay Ridge Pkwy & 3rd Ave7419 3rd Avenue,Brooklyn, NY 112091185702.6760.98827ab4dcc2d49d5fd830749597976d4a
                                                                                                                                                            4POINT (-74.00098 40.59321)Caesar's Bay Shopping Center8973 Bay Parkway,Brooklyn, NY 112141148427.4110.98119a38c7b51195cd4153fc81605a8495
                                                                                                                                                            \n", - "
                                                                                                                                                            " - ], - "text/plain": [ - " the_geom name \\\n", - "0 POINT (-73.95746 40.67102) Franklin Ave & Eastern Pkwy \n", - "1 POINT (-73.96122 40.57796) 607 Brighton Beach Ave \n", - "2 POINT (-73.98978 40.61944) 65th St & 18th Ave \n", - "3 POINT (-74.02750 40.63202) Bay Ridge Pkwy & 3rd Ave \n", - "4 POINT (-74.00098 40.59321) Caesar's Bay Shopping Center \n", - "\n", - " address revenue gc_status_rel \\\n", - "0 341 Eastern Pkwy,Brooklyn, NY 11238 1321040.772 0.97 \n", - "1 607 Brighton Beach Avenue,Brooklyn, NY 11235 1268080.418 0.99 \n", - "2 6423 18th Avenue,Brooklyn, NY 11204 1248133.699 0.98 \n", - "3 7419 3rd Avenue,Brooklyn, NY 11209 1185702.676 0.98 \n", - "4 8973 Bay Parkway,Brooklyn, NY 11214 1148427.411 0.98 \n", - "\n", - " carto_geocode_hash \n", - "0 c834a8e289e5bce280775a9bf1f833f1 \n", - "1 7d39a3fff93efd9034da88aa9ad2da79 \n", - "2 1a2312049ddea753ba42bf77f5ccf718 \n", - "3 827ab4dcc2d49d5fd830749597976d4a \n", - "4 119a38c7b51195cd4153fc81605a8495 " - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "geo_gdf.head()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### Visualize the results\n", - "\n", - "Finally, we can visualize the precision of the geocoded results using a CARTOframes [visualization layer](/developers/cartoframes/examples/#example-color-bins-layer)." - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                                            \n", - "
                                                                                                                                                            \n", - "
                                                                                                                                                            \n", - " \n", - " \n", - "
                                                                                                                                                            \n", - "
                                                                                                                                                            \n", - " \n", - "\n", - "
                                                                                                                                                            \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                            \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                            \n", - " \n", - " \n", - "
                                                                                                                                                            \n", - "
                                                                                                                                                            \n", - "
                                                                                                                                                            \n", - "
                                                                                                                                                            \n", - " \n", - "
                                                                                                                                                            \n", - "
                                                                                                                                                            \n", - "
                                                                                                                                                            \n", - "\n", - " \n", - "\n", - "
                                                                                                                                                            \n", - "
                                                                                                                                                            \n", - " :\n", - "
                                                                                                                                                            \n", - " \n", - " \n", - "
                                                                                                                                                            \n", - "
                                                                                                                                                            \n", - "\n", - "
                                                                                                                                                            \n", - " StackTrace\n", - "
                                                                                                                                                              \n", - "
                                                                                                                                                              \n", - "
                                                                                                                                                              \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Layer, color_bins_style, popup_element\n", - "\n", - "Layer(\n", - " geo_gdf,\n", - " color_bins_style(\n", - " 'gc_status_rel',\n", - " method='equal',\n", - " bins=geo_gdf.gc_status_rel.unique().size,\n", - " ),\n", - " popup_hover=[\n", - " popup_element('address', 'Address'),\n", - " popup_element('gc_status_rel', 'Precision')\n", - " ],\n", - " title='Geocoding Precision'\n", - ")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Isolines\n", - "\n", - "There are two **Isoline** functions: **isochrones** and **isodistances**. In this guide we will use the **isochrones** function to calculate walking areas _by time_ for each Starbucks store and the **isodistances** function to calculate the walking area _by distance_.\n", - "\n", - "By definition, isolines are concentric polygons that display equally calculated levels over a given surface area, and they are calculated as the intersection areas from the origin point, measured by:\n", - "\n", - "* **Time** in the case of **isochrones**\n", - "* **Distance** in the case of **isodistances**" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Isochrones\n", - "\n", - "For isochrones, let's calculate the time ranges of: 5, 15 and 30 min. These ranges are input in `seconds`, so they will be **300**, **900**, and **1800** respectively." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "from cartoframes.data.services import Isolines\n", - "\n", - "iso_service = Isolines()\n", - "\n", - "_, isochrones_dry_metadata = iso_service.isochrones(geo_gdf, [300, 900, 1800], mode='walk', dry_run=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Remember to always **check the quota** using `dry_run` parameter and `available_quota` method before running the service!" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "available 112699, required 30\n" - ] - } - ], - "source": [ - "print('available {0}, required {1}'.format(\n", - " iso_service.available_quota(),\n", - " isochrones_dry_metadata.get('required_quota'))\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Success! Isolines created correctly\n" - ] - } - ], - "source": [ - "isochrones_gdf, isochrones_metadata = iso_service.isochrones(geo_gdf, [300, 900, 1800], mode='walk')" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                                                              \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                              source_iddata_rangethe_geom
                                                                                                                                                              091800MULTIPOLYGON (((-73.96485 40.63379, -73.96460 ...
                                                                                                                                                              121800MULTIPOLYGON (((-74.00605 40.62899, -74.00579 ...
                                                                                                                                                              261800MULTIPOLYGON (((-73.88520 40.65371, -73.88494 ...
                                                                                                                                                              351800MULTIPOLYGON (((-74.00674 40.68598, -74.00648 ...
                                                                                                                                                              441800MULTIPOLYGON (((-74.01412 40.60341, -74.01369 ...
                                                                                                                                                              \n", - "
                                                                                                                                                              " - ], - "text/plain": [ - " source_id data_range the_geom\n", - "0 9 1800 MULTIPOLYGON (((-73.96485 40.63379, -73.96460 ...\n", - "1 2 1800 MULTIPOLYGON (((-74.00605 40.62899, -74.00579 ...\n", - "2 6 1800 MULTIPOLYGON (((-73.88520 40.65371, -73.88494 ...\n", - "3 5 1800 MULTIPOLYGON (((-74.00674 40.68598, -74.00648 ...\n", - "4 4 1800 MULTIPOLYGON (((-74.01412 40.60341, -74.01369 ..." - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "isochrones_gdf.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                                              \n", - "
                                                                                                                                                              \n", - "
                                                                                                                                                              \n", - " \n", - " \n", - "
                                                                                                                                                              \n", - "
                                                                                                                                                              \n", - "
                                                                                                                                                              \n", - "\n", - " \n", - "\n", - "
                                                                                                                                                              \n", - "
                                                                                                                                                              \n", - " :\n", - "
                                                                                                                                                              \n", - " \n", - " \n", - "
                                                                                                                                                              \n", - "
                                                                                                                                                              \n", - "\n", - "
                                                                                                                                                              \n", - " StackTrace\n", - "
                                                                                                                                                                \n", - "
                                                                                                                                                                \n", - "
                                                                                                                                                                \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import basic_style\n", - "\n", - "Layer(isochrones_gdf, basic_style(opacity=0.5))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Isodistances\n", - "\n", - "For isodistances, let's calculate the distance ranges of: 100, 500 and 1000 meters. These ranges are input in `meters`, so they will be **100**, **500**, and **1000** respectively." - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [], - "source": [ - "isodistances_gdf, isodistances_dry_metadata = iso_service.isodistances(\n", - " geo_gdf,\n", - " [100, 500, 1000],\n", - " mode='walk',\n", - " dry_run=True\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "available 112669, required 30\n" - ] - } - ], - "source": [ - "print('available {0}, required {1}'.format(\n", - " iso_service.available_quota(),\n", - " isodistances_dry_metadata.get('required_quota'))\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Success! Isolines created correctly\n" - ] - } - ], - "source": [ - "isodistances_gdf, isodistances_metadata = iso_service.isodistances(\n", - " geo_gdf,\n", - " [100, 500, 1000],\n", - " mode='walk'\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
                                                                                                                                                                \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                                source_iddata_rangethe_geom
                                                                                                                                                                091000MULTIPOLYGON (((-73.95867 40.63311, -73.95842 ...
                                                                                                                                                                121000MULTIPOLYGON (((-73.99850 40.62281, -73.99841 ...
                                                                                                                                                                261000MULTIPOLYGON (((-73.87696 40.65371, -73.87671 ...
                                                                                                                                                                351000MULTIPOLYGON (((-74.00245 40.69061, -74.00185 ...
                                                                                                                                                                441000MULTIPOLYGON (((-74.00451 40.59860, -74.00391 ...
                                                                                                                                                                \n", - "
                                                                                                                                                                " - ], - "text/plain": [ - " source_id data_range the_geom\n", - "0 9 1000 MULTIPOLYGON (((-73.95867 40.63311, -73.95842 ...\n", - "1 2 1000 MULTIPOLYGON (((-73.99850 40.62281, -73.99841 ...\n", - "2 6 1000 MULTIPOLYGON (((-73.87696 40.65371, -73.87671 ...\n", - "3 5 1000 MULTIPOLYGON (((-74.00245 40.69061, -74.00185 ...\n", - "4 4 1000 MULTIPOLYGON (((-74.00451 40.59860, -74.00391 ..." - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "isodistances_gdf.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                                                \n", - "
                                                                                                                                                                \n", - "
                                                                                                                                                                \n", - " \n", - " \n", - "
                                                                                                                                                                \n", - "
                                                                                                                                                                \n", - "
                                                                                                                                                                \n", - "\n", - " \n", - "\n", - "
                                                                                                                                                                \n", - "
                                                                                                                                                                \n", - " :\n", - "
                                                                                                                                                                \n", - " \n", - " \n", - "
                                                                                                                                                                \n", - "
                                                                                                                                                                \n", - "\n", - "
                                                                                                                                                                \n", - " StackTrace\n", - "
                                                                                                                                                                  \n", - "
                                                                                                                                                                  \n", - "
                                                                                                                                                                  \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "Layer(isodistances_gdf, basic_style(opacity=0.5))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## All together\n", - "\n", - "Let's visualize the data in one map to see what insights we can find." - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                                                  \n", - "
                                                                                                                                                                  \n", - "
                                                                                                                                                                  \n", - " \n", - " \n", - "
                                                                                                                                                                  \n", - "
                                                                                                                                                                  \n", - " \n", - "\n", - "
                                                                                                                                                                  \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                                  \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                                  \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                                  \n", - "
                                                                                                                                                                  \n", - "
                                                                                                                                                                  \n", - "
                                                                                                                                                                  \n", - " \n", - "
                                                                                                                                                                  \n", - "
                                                                                                                                                                  \n", - "
                                                                                                                                                                  \n", - "\n", - " \n", - "\n", - "
                                                                                                                                                                  \n", - "
                                                                                                                                                                  \n", - " :\n", - "
                                                                                                                                                                  \n", - " \n", - " \n", - "
                                                                                                                                                                  \n", - "
                                                                                                                                                                  \n", - "\n", - "
                                                                                                                                                                  \n", - " StackTrace\n", - "
                                                                                                                                                                    \n", - "
                                                                                                                                                                    \n", - "
                                                                                                                                                                    \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Map, Layer, size_continuous_style\n", - "\n", - "Map([\n", - " Layer(\n", - " isochrones_gdf,\n", - " basic_style(opacity=0.5),\n", - " title='Walking Time'\n", - " ),\n", - " Layer(\n", - " geo_gdf,\n", - " size_continuous_style(\n", - " 'revenue',\n", - " color='white',\n", - " opacity='0.2',\n", - " stroke_color='blue',\n", - " size_range=[20, 80],\n", - " ),\n", - " popup_hover=[\n", - " popup_element('address', 'Address'),\n", - " popup_element('gc_status_rel', 'Precision'),\n", - " popup_element('revenue', 'Revenue')\n", - " ],\n", - " title='Revenue $',\n", - " )\n", - "])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Looking at the map above, we can see the store at 228 Duffield St, Brooklyn, NY 11201 is really close to another store with higher revenue, which means we could even think about closing that one in favor of another one with a better location.\n", - "\n", - "We could try to calculate where to place a new store between other stores that don't have as much revenue as others and that are placed separately.\n", - "\n", - "Now, let's calculate the **centroid** of three different stores that we've identified previously and use it as a possible location for a new spot:" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": {}, - "outputs": [], - "source": [ - "from shapely import geometry\n", - "\n", - "new_store_location = [\n", - " geo_gdf.iloc[6].the_geom,\n", - " geo_gdf.iloc[9].the_geom,\n", - " geo_gdf.iloc[1].the_geom\n", - "]\n", - "\n", - "# Create a polygon using three points from the geo_gdf\n", - "polygon = geometry.Polygon([[p.x, p.y] for p in new_store_location])" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Success! Isolines created correctly\n" - ] - } - ], - "source": [ - "from geopandas import GeoDataFrame, points_from_xy\n", - "\n", - "new_store_gdf = GeoDataFrame({\n", - " 'name': ['New Store'],\n", - " 'geometry': points_from_xy([polygon.centroid.x], [polygon.centroid.y])\n", - "})\n", - " \n", - "isochrones_new_gdf, isochrones_new_metadata = iso_service.isochrones(new_store_gdf, [300, 900, 1800], mode='walk')" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "\n", - "\n", - " None\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - "\n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - "\n", - "\n", - " Static map image\n", - " \n", - " \n", - "
                                                                                                                                                                    \n", - "
                                                                                                                                                                    \n", - "
                                                                                                                                                                    \n", - " \n", - " \n", - "
                                                                                                                                                                    \n", - "
                                                                                                                                                                    \n", - " \n", - "\n", - "
                                                                                                                                                                    \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                                    \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                                    \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
                                                                                                                                                                    \n", - "
                                                                                                                                                                    \n", - "
                                                                                                                                                                    \n", - "
                                                                                                                                                                    \n", - " \n", - "
                                                                                                                                                                    \n", - "
                                                                                                                                                                    \n", - "
                                                                                                                                                                    \n", - "\n", - " \n", - "\n", - "
                                                                                                                                                                    \n", - "
                                                                                                                                                                    \n", - " :\n", - "
                                                                                                                                                                    \n", - " \n", - " \n", - "
                                                                                                                                                                    \n", - "
                                                                                                                                                                    \n", - "\n", - "
                                                                                                                                                                    \n", - " StackTrace\n", - "
                                                                                                                                                                      \n", - "
                                                                                                                                                                      \n", - "
                                                                                                                                                                      \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\">\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from cartoframes.viz import Map, Layer, size_continuous_style\n", - "\n", - "Map([\n", - " Layer(\n", - " isochrones_gdf,\n", - " basic_style(opacity=0.2),\n", - " title='Walking Time - Current'\n", - " ),\n", - " Layer(\n", - " isochrones_new_gdf,\n", - " basic_style(opacity=0.7),\n", - " title='Walking Time - New'\n", - " ),\n", - " Layer(\n", - " geo_gdf,\n", - " size_continuous_style(\n", - " 'revenue',\n", - " color='white',\n", - " opacity='0.2',\n", - " stroke_color='blue',\n", - " size_range=[20, 80]\n", - " ),\n", - " popup_hover=[\n", - " popup_element('address', 'Address'),\n", - " popup_element('gc_status_rel', 'Precision'),\n", - " popup_element('revenue', 'Revenue')\n", - " ],\n", - " title='Revenue $',\n", - " ),\n", - " Layer(new_store_gdf)\n", - "])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Conclusion\n", - "\n", - "In this example you've seen how to use Location Data Services to perform a trade area analysis using CARTOframes built-in functionality without leaving the notebook.\n", - "\n", - "Using the results, we've calculated a possible new location for a store, and used the isoline areas to help in the decision making process.\n", - "\n", - "Take into account that finding optimal spots for new stores is not an easy task and requires more analysis, but this is a great first step!" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.6.7" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/guides/img/credentials/api-keys.png b/guides/img/credentials/api-keys.png deleted file mode 100644 index 5334355e6..000000000 Binary files a/guides/img/credentials/api-keys.png and /dev/null differ diff --git a/guides/img/credentials/dashboard.png b/guides/img/credentials/dashboard.png deleted file mode 100644 index 693499128..000000000 Binary files a/guides/img/credentials/dashboard.png and /dev/null differ diff --git a/guides/img/enrichment/enrichment_01.png b/guides/img/enrichment/enrichment_01.png deleted file mode 100644 index 00760724b..000000000 Binary files a/guides/img/enrichment/enrichment_01.png and /dev/null differ diff --git a/guides/img/explore_data_observatory_catalog_files/explore_data_observatory_catalog_37_0.png b/guides/img/explore_data_observatory_catalog_files/explore_data_observatory_catalog_37_0.png deleted file mode 100644 index 2848e513e..000000000 Binary files a/guides/img/explore_data_observatory_catalog_files/explore_data_observatory_catalog_37_0.png and /dev/null differ diff --git a/guides/img/explore_data_observatory_catalog_files/sub_dat.png b/guides/img/explore_data_observatory_catalog_files/sub_dat.png deleted file mode 100644 index 18f1871bb..000000000 Binary files a/guides/img/explore_data_observatory_catalog_files/sub_dat.png and /dev/null differ diff --git a/guides/img/explore_data_observatory_catalog_files/sub_geo.png b/guides/img/explore_data_observatory_catalog_files/sub_geo.png deleted file mode 100644 index 16775237c..000000000 Binary files a/guides/img/explore_data_observatory_catalog_files/sub_geo.png and /dev/null differ diff --git a/guides/img/quickstart/combine_layers.png b/guides/img/quickstart/combine_layers.png deleted file mode 100644 index d5132c521..000000000 Binary files a/guides/img/quickstart/combine_layers.png and /dev/null differ diff --git a/guides/img/quickstart/combine_layers_widget.png b/guides/img/quickstart/combine_layers_widget.png deleted file mode 100644 index 153369d76..000000000 Binary files a/guides/img/quickstart/combine_layers_widget.png and /dev/null differ diff --git a/guides/img/quickstart/explore_helper.png b/guides/img/quickstart/explore_helper.png deleted file mode 100644 index 0c6609198..000000000 Binary files a/guides/img/quickstart/explore_helper.png and /dev/null differ diff --git a/guides/img/quickstart/explore_points_layer.png b/guides/img/quickstart/explore_points_layer.png deleted file mode 100644 index 7e0887024..000000000 Binary files a/guides/img/quickstart/explore_points_layer.png and /dev/null differ diff --git a/guides/img/quickstart/explore_polygon_layer.png b/guides/img/quickstart/explore_polygon_layer.png deleted file mode 100644 index 095d07398..000000000 Binary files a/guides/img/quickstart/explore_polygon_layer.png and /dev/null differ diff --git a/guides/img/quickstart/share_output.png b/guides/img/quickstart/share_output.png deleted file mode 100644 index 409e2c948..000000000 Binary files a/guides/img/quickstart/share_output.png and /dev/null differ diff --git a/guides/img/visualize/layout.png b/guides/img/visualize/layout.png deleted file mode 100644 index b84f40317..000000000 Binary files a/guides/img/visualize/layout.png and /dev/null differ diff --git a/package.json b/package.json index 56d7e7bef..8513e710f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cartoframes", - "version": "1.0.4", + "version": "1.1.0", "description": "*********** CARTOframes ***********", "main": "./cartoframes/assets/src/index.js", "directories": { diff --git a/rollup.config.js b/rollup.config.js index 3a166ee9a..cbf972dc7 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -18,4 +18,4 @@ module.exports = { 'cartoframes/assets/src/bundle.js' ] } -}; \ No newline at end of file +}; diff --git a/setup.py b/setup.py index 1b274d6d8..df3ec0209 100644 --- a/setup.py +++ b/setup.py @@ -25,16 +25,11 @@ def get_version(): REQUIRES = [ 'appdirs>=1.4.3,<2.0', - 'carto>=1.11.1,<2.0', + 'carto>=1.11.2,<2.0', 'jinja2>=2.10.1,<3.0', 'pandas>=0.25.0', 'geopandas>=0.6.0,<1.0', - 'tqdm>=4.32.1,<5.0', 'unidecode>=1.1.0,<2.0', - 'google-cloud-storage==1.23.0', - 'google-cloud-bigquery==1.22.0', - 'google-cloud-bigquery-storage==0.7.0', - 'fastavro==0.22.7', 'semantic_version>=2.8.0,<3' ] diff --git a/tests/README.md b/tests/README.md index 83d4ec788..623160ff9 100644 --- a/tests/README.md +++ b/tests/README.md @@ -18,6 +18,74 @@ And for an specific Python version tox -e py37 ``` +## Executing a single test + +Create a virtual environment + +``` +virtualenv -p python3 venv +source venv/bin/activate +``` + +Install the required dependencies + +``` +pip install -r requirements.txt +pip install pytest +pip install pytest-mock +``` + +Execute a single test + +``` +pytest tests/unit/io/test_carto.py::test_read_carto +``` + +## Executing Jupyter Notebooks tests + +These tests execute all the Jupyter Notebooks contained in the `docs/examples` and `docs/guides` directories and overwrite the notebook with the executed versions (if the `OVERWRITE` parameter is set to `true`). + +Create a virtual environment + +``` +virtualenv -p python3 venv +source venv/bin/activate +``` + +Install the required dependencies + +``` +pip install -r requirements.txt +pip install -r tests/notebooks/requirements.txt +``` + +Set your credentials + +Create the file tests/notebooks/creds.json with the following structure: + +``` +{ + "username": "your_username", + "api_key": "your_api_key" +} +``` + +Execute the tests + +``` +pytest [-s] tests/notebooks +``` + +Environment variables: + - `SCOPE`: (default `all`): Scope of the tests: all, guides, examples (Example: `SCOPE=guides`) + - `OVERWRITE` (default `true`): Overwrites the notebooks with the result of the execution (Example: `OVERWRITE=false`) + - `TIMEOUT` (default `600`): Notebook timeout for each cell (Example: `TIMEOUT=100`) + - `KERNEL` (default `python3`): Kernel used to execute the notebooks (Example: `KERNEL=python3`) + +Notes: + - You can select the notebooks to be executed by overriding the value of the `EXECUTE_NOTEBOOKS` variable in `test_notebooks.py` (if not set, all the notebooks in the `docs/examples` and `docs/guides` directories will be executed) + - You can also select the notebooks to be avoided by overriding the value of the `AVOID_NOTEBOOKS` variable in `test_notebooks.py` + ## File structure ``` @@ -136,4 +204,3 @@ pip install pre-commit ``` pre-commit install ``` - diff --git a/tests/e2e/data/client/test_bigquery_client.py b/tests/e2e/data/client/test_bigquery_client.py deleted file mode 100644 index 4b1b308e4..000000000 --- a/tests/e2e/data/client/test_bigquery_client.py +++ /dev/null @@ -1,102 +0,0 @@ -import os -import json -import pytest -import unittest - -from google.auth.exceptions import RefreshError -from google.cloud import bigquery - -from cartoframes.auth import Credentials -from cartoframes.exceptions import DOError -from cartoframes.data.clients.bigquery_client import BigQueryClient - - -_WORKING_PROJECT = 'carto-do-customers' - - -class RefreshTokenChecker(object): - def __init__(self, response, raise_after=1): - self.number_of_calls = 0 - self.response = response - self.raise_after = raise_after - - def query_raiser(self, query, **kwargs): - self.number_of_calls += 1 - if self.number_of_calls < self.raise_after: - return self.response - else: - raise RefreshError() - - -class ResponseMock(list): - def __init__(self, data, **kwargs): - super(ResponseMock, self).__init__(data, **kwargs) - self.total_rows = len(data) - - -class QueryJobMock(object): - def __init__(self, response): - self.response = response - - def result(self): - return ResponseMock(self.response) - - -class TestBigQueryClient(unittest.TestCase): - def setUp(self): - if (os.environ.get('APIKEY') is None or os.environ.get('USERNAME') is None): - creds = json.loads(open('tests/e2e/secret.json').read()) - self.apikey = creds['APIKEY'] - self.username = creds['USERNAME'] - else: - self.apikey = os.environ['APIKEY'] - self.username = os.environ['USERNAME'] - - self.credentials = Credentials(self.username, self.apikey) - self.file_path = '/tmp/test_download.csv' - - def tearDown(self): - if os.path.isfile(self.file_path): - os.remove(self.file_path) - - def test_instantiation(self): - bq_client = BigQueryClient(self.credentials) - assert isinstance(bq_client, BigQueryClient) - - def test_refresh_token_raises_cartoexception(self): - refresh_token_checker = RefreshTokenChecker('', 0) - original_query_method = bigquery.Client.query - bigquery.Client.query = refresh_token_checker.query_raiser - - bq_client = BigQueryClient(self.credentials) - with pytest.raises(DOError): - bq_client.query('select * from') - - bigquery.Client.query = original_query_method - - def test_refresh_token(self): - expected_response = 'ok' - refresh_token_checker = RefreshTokenChecker(expected_response, 2) - original_query_method = bigquery.Client.query - bigquery.Client.query = refresh_token_checker.query_raiser - - bq_client = BigQueryClient(self.credentials) - response = bq_client.query('select * from') - assert response == expected_response - - bigquery.Client.query = original_query_method - - def test_download_using_if_exists(self): - project = _WORKING_PROJECT - dataset = 'fake_dataset' - table = 'fake_table' - file_path = self.file_path - - bq_client = BigQueryClient(self.credentials) - - query = 'SELECT * FROM `{}.{}.{}`'.format(project, dataset, table) - job = bq_client.query(query) - - with open(file_path, 'w'): - with self.assertRaises(OSError): - bq_client.download_to_file(job, file_path, fail_if_exists=True, progress_bar=False) diff --git a/tests/e2e/data/client/test_data_obs_client.py b/tests/e2e/data/client/test_data_obs_client.py index fa21dd204..ebe50806b 100644 --- a/tests/e2e/data/client/test_data_obs_client.py +++ b/tests/e2e/data/client/test_data_obs_client.py @@ -22,6 +22,56 @@ warnings.filterwarnings('ignore') +class TestDataObsClientDeprecation(unittest.TestCase, _UserUrlLoader): + def setUp(self): + self.credentials = Credentials(None, None, self.user_url().format(username=None)) + + def test_class_deprecation(self): + with warnings.catch_warnings(record=True) as w: + _ = DataObsClient(self.credentials) + assert issubclass(w[-1].category, DeprecationWarning) + assert 'deprecated' in str(w[-1].message) + + def test_boundaries_deprecation(self): + with warnings.catch_warnings(record=True) as w: + do = DataObsClient(self.credentials) + + with warnings.catch_warnings(record=True) as w: + try: + do.boundaries() + except Exception: + pass + + assert issubclass(w[-1].category, DeprecationWarning) + assert 'deprecated' in str(w[-1].message) + + def test_discovery_deprecation(self): + with warnings.catch_warnings(record=True) as w: + do = DataObsClient(self.credentials) + + with warnings.catch_warnings(record=True) as w: + try: + do.discovery() + except Exception: + pass + + assert issubclass(w[-1].category, DeprecationWarning) + assert 'deprecated' in str(w[-1].message) + + def test_augment_deprecation(self): + with warnings.catch_warnings(record=True) as w: + do = DataObsClient(self.credentials) + + with warnings.catch_warnings(record=True) as w: + try: + do.augment() + except Exception: + pass + + assert issubclass(w[-1].category, DeprecationWarning) + assert 'deprecated' in str(w[-1].message) + + @pytest.mark.skip() class TestDataObsClient(unittest.TestCase, _UserUrlLoader): """Tests for cartoframes.client.DataObsClient""" diff --git a/tests/e2e/data/observatory/catalog/test_download.py b/tests/e2e/data/observatory/catalog/test_download.py index f40f7d2b9..b376b0ba8 100644 --- a/tests/e2e/data/observatory/catalog/test_download.py +++ b/tests/e2e/data/observatory/catalog/test_download.py @@ -2,7 +2,9 @@ import json import pandas import pytest + from pathlib import Path +from geopandas import GeoDataFrame from cartoframes.auth import Credentials from cartoframes.data.observatory import Dataset, Geography @@ -72,6 +74,9 @@ def test_dataset_to_csv_private(self): def test_dataset_to_dataframe_public(self): df = public_dataset.to_dataframe(self.credentials, limit=PUBLIC_LIMIT) + assert isinstance(df, GeoDataFrame) + assert df.geom.type == 'Polygon' + df.to_csv(self.tmp_file, index=False) df = pandas.read_csv(self.tmp_file) @@ -81,6 +86,9 @@ def test_dataset_to_dataframe_public(self): def test_dataset_to_dataframe_private(self): df = private_dataset.to_dataframe(self.credentials, limit=PRIVATE_LIMIT) + assert isinstance(df, GeoDataFrame) + assert df.geom.type == 'Polygon' + df.to_csv(self.tmp_file, index=False) df = pandas.read_csv(self.tmp_file) @@ -111,6 +119,9 @@ def test_geography_to_csv_private(self): @pytest.mark.skip() # TODO implement equals check using a tolerance def test_geography_to_dataframe_public(self): df = public_geography.to_dataframe(self.credentials, limit=PUBLIC_LIMIT, order_by='geoid') + assert isinstance(df, GeoDataFrame) + assert df.geom.type == 'Polygon' + df.to_csv(self.tmp_file, index=False) df = pandas.read_csv(self.tmp_file) @@ -121,6 +132,9 @@ def test_geography_to_dataframe_public(self): @pytest.mark.skip() # TODO implement equals check using a tolerance def test_geography_to_dataframe_private(self): df = private_geography.to_dataframe(self.credentials, limit=PRIVATE_LIMIT, order_by='geoid') + assert isinstance(df, GeoDataFrame) + assert df.geom.type == 'Polygon' + df.to_csv(self.tmp_file, index=False) df = pandas.read_csv(self.tmp_file) @@ -165,6 +179,9 @@ def test_geography_to_csv_public_with_sql_query(self): def test_dataset_to_dataframe_public_with_sql_query(self): sql_query = 'select * from {dataset} order by geoid limit 2' df = public_dataset.to_dataframe(self.credentials, sql_query=sql_query) + assert isinstance(df, GeoDataFrame) + assert df.geom.type == 'Polygon' + df.to_csv(self.tmp_file, index=False) df = pandas.read_csv(self.tmp_file) @@ -177,6 +194,9 @@ def test_dataset_to_dataframe_public_with_sql_query_and_add_geom(self): sql_query = 'select * from {dataset} order by geoid limit 2' add_geom = True df = public_dataset.to_dataframe(self.credentials, sql_query=sql_query, add_geom=add_geom) + assert isinstance(df, GeoDataFrame) + assert df.geom.type == 'Polygon' + df.to_csv(self.tmp_file, index=False) df = pandas.read_csv(self.tmp_file) @@ -188,6 +208,9 @@ def test_dataset_to_dataframe_public_with_sql_query_and_add_geom(self): def test_geography_to_dataframe_public_with_sql_query(self): sql_query = 'select * from {geography} order by geoid limit 2' df = public_geography.to_dataframe(self.credentials, sql_query=sql_query) + assert isinstance(df, GeoDataFrame) + assert df.geom.type == 'Polygon' + df.to_csv(self.tmp_file, index=False) df = pandas.read_csv(self.tmp_file) diff --git a/tests/notebooks/creds.sample.json b/tests/notebooks/creds.sample.json new file mode 100644 index 000000000..989c3ca88 --- /dev/null +++ b/tests/notebooks/creds.sample.json @@ -0,0 +1,4 @@ +{ + "username": "your_username", + "api_key": "your_api_key" +} \ No newline at end of file diff --git a/tests/notebooks/requirements.txt b/tests/notebooks/requirements.txt new file mode 100644 index 000000000..14c1f7884 --- /dev/null +++ b/tests/notebooks/requirements.txt @@ -0,0 +1,9 @@ +notebook==6.1.5 +pytest==6.1.1 +pytest-mock==3.3.1 +nbconvert==6.0.7 +ipykernel==5.3.4 +ipywidgets==7.5.1 +matplotlib==3.3.2 +xlrd==1.2.0 +seaborn==0.11.0 diff --git a/tests/notebooks/test_notebooks.py b/tests/notebooks/test_notebooks.py new file mode 100644 index 000000000..24d008659 --- /dev/null +++ b/tests/notebooks/test_notebooks.py @@ -0,0 +1,94 @@ +import os +import time +import glob +import pytest +import logging +import nbformat +import subprocess +from nbconvert.preprocessors import ExecutePreprocessor + + +logging.basicConfig(level=logging.INFO) + +EXECUTE_NOTEBOOKS = [] +AVOID_NOTEBOOKS = [ + 'docs/examples/use_cases/building_a_dashboard.ipynb', + 'docs/examples/use_cases/combining_two_datasets.ipynb', + 'docs/examples/templates/do_access_premium_data.ipynb', + 'docs/examples/templates/do_data_enrichment.ipynb', + 'docs/examples/templates/do_dataset_notebook_template.ipynb', + 'docs/examples/templates/do_geography_notebook_template.ipynb', + 'docs/examples/data_management/change_carto_table_privacy.ipynb', + 'docs/examples/data_visualization/publish_and_share/publish_visualization_gdf.ipynb', + 'docs/examples/data_visualization/publish_and_share/publish_visualization_layout.ipynb', + 'docs/examples/data_visualization/publish_and_share/publish_visualization_private_table.ipynb', + 'docs/examples/data_visualization/publish_and_share/publish_visualization_public_table.ipynb', +] + +OVERWRITE = os.environ.get('OVERWRITE', 'true').lower() == 'true' +TIMEOUT = int(os.environ.get('TIMEOUT', 600)) +KERNEL = os.environ.get('KERNEL', 'python3').lower() +SCOPE = os.environ.get('SCOPE', 'all').lower() + +with open('tests/notebooks/creds.json', 'r') as creds_file: + CREDS_FILE = creds_file.read() + + +def find_notebooks(): + notebooks = [] + + if EXECUTE_NOTEBOOKS: + notebooks = list(set(EXECUTE_NOTEBOOKS) - set(AVOID_NOTEBOOKS)) + else: + if SCOPE in ['all', 'guides']: + notebooks += glob.glob('docs/guides/**/*.ipynb', recursive=True) + if SCOPE in ['all', 'examples']: + notebooks += glob.glob('docs/examples/**/*.ipynb', recursive=True) + notebooks = list(set(notebooks) - set(AVOID_NOTEBOOKS)) + + notebooks.sort() + return notebooks + + +class TestNotebooks: + def teardown(self): + time.sleep(0.1) + + def custom_setup(self, path): + with open('{}/creds.json'.format(path), 'w') as creds_file: + creds_file.write(CREDS_FILE) + + def custom_teardown(self, path): + os.remove('{}/creds.json'.format(path)) + + @pytest.mark.parametrize('notebook_filename', find_notebooks()) + def test_docs(self, notebook_filename): + try: + path = os.path.dirname(notebook_filename) + + self.custom_setup(path) + self.execute_notebook(notebook_filename, path) + finally: + self.custom_teardown(path) + + def execute_notebook(self, notebook_filename, path): + with open(notebook_filename) as f: + logging.info('\nExecuting notebook: %s', notebook_filename) + + nb = nbformat.read(f, as_version=4) + ep = ExecutePreprocessor(timeout=TIMEOUT, kernel_name=KERNEL, allow_errors=OVERWRITE, + store_widget_state=OVERWRITE) + ep.preprocess(nb, {'metadata': {'path': path}}) + + if OVERWRITE: + logging.info('Overwriting notebook: %s', notebook_filename) + with open(notebook_filename, 'w') as fwrite: + nbformat.write(nb, fwrite) + + logging.info('Trusting notebook: %s', notebook_filename) + p_jupyter = subprocess.Popen('jupyter trust {}'.format(notebook_filename), shell=True, + stdout=subprocess.PIPE, stderr=subprocess.PIPE) + _, stderr_jupyter = p_jupyter.communicate() + + if len(stderr_jupyter) > 0: + raise RuntimeError('Error trusting the notebook ({}): {}'.format(notebook_filename, stderr_jupyter)) diff --git a/tests/unit/auth/test_credentials.py b/tests/unit/auth/test_credentials.py index 06b7901ae..ab25b4dc9 100644 --- a/tests/unit/auth/test_credentials.py +++ b/tests/unit/auth/test_credentials.py @@ -107,19 +107,26 @@ def test_get_api_key_auth_client(self): credentials.get_api_key_auth_client() assert credentials._api_key_auth_client is not None - def test_get_do_credentials(self, mocker): + def test_do_credentials(self, mocker): access_token = '1234' + project = 'project' + instant_licensing = True - class Token: + class DOCredentials: def __init__(self): self.access_token = access_token + self.bq_project = project + self.instant_licensing = instant_licensing - mocker.patch('carto.do_token.DoTokenManager.get', return_value=Token()) + mocker.patch('carto.do_token.DoTokenManager.get', return_value=DOCredentials()) credentials = Credentials(self.username, self.api_key) - do_credentials = credentials.get_do_credentials() + project_from_do, access_token_from_do = credentials.get_gcloud_credentials() + instant_licensing_from_do = credentials.is_instant_licensing_active() - assert do_credentials.access_token == access_token + assert access_token_from_do == access_token + assert project_from_do == project + assert instant_licensing_from_do == instant_licensing class TestCredentialsFromFile: diff --git a/tests/unit/data/client/test_bigquery_client.py b/tests/unit/data/client/test_bigquery_client.py deleted file mode 100644 index b27783179..000000000 --- a/tests/unit/data/client/test_bigquery_client.py +++ /dev/null @@ -1,80 +0,0 @@ -import os -import csv -import pandas as pd - -from unittest.mock import Mock, patch - -from cartoframes.auth import Credentials -from cartoframes.data.clients.bigquery_client import BigQueryClient - - -class ResponseMock(list): - def __init__(self, data, **kwargs): - super(ResponseMock, self).__init__(data, **kwargs) - self.total_rows = len(data) - - -class QueryJobMock(object): - def __init__(self, response): - self.response = response - - def result(self): - return ResponseMock(self.response) - - -class TestBigQueryClient(object): - def setup_method(self): - self.original_init_clients = BigQueryClient._init_clients - BigQueryClient._init_clients = Mock(return_value=(True, True, True)) - self.username = 'username' - self.apikey = 'apikey' - self.credentials = Credentials(self.username, self.apikey) - self.file_path = '/tmp/test_download.csv' - - def teardown_method(self): - self.credentials = None - BigQueryClient._init_clients = self.original_init_clients - - if os.path.isfile(self.file_path): - os.remove(self.file_path) - - @patch.object(BigQueryClient, 'get_table_column_names') - @patch.object(BigQueryClient, '_download_by_bq_storage_api') - def test_download_to_file_full(self, download_mock, column_names_mock): - data = [{'0': 'word', '1': 'word word'}] - columns = ['column1', 'column2'] - - column_names_mock.return_value = Mock(return_value=columns) - download_mock.return_value = data - - file_path = self.file_path - - bq_client = BigQueryClient(self.credentials) - job = QueryJobMock(data) - bq_client.download_to_file(job, file_path, column_names=columns, progress_bar=False) - - rows = [] - with open(file_path) as csvfile: - csvreader = csv.reader(csvfile) - rows.append(next(csvreader)) - rows.append(next(csvreader)) - - assert rows[0] == columns - assert rows[1] == list(data[0].values()) - - @patch.object(BigQueryClient, 'get_table_column_names') - @patch.object(BigQueryClient, '_download_by_bq_storage_api') - def test_download_to_dataframe_full(self, download_mock, column_names_mock): - data = [{'column1': 'word', 'column2': 'word word'}] - columns = ['column1', 'column2'] - - column_names_mock.return_value = Mock(return_value=columns) - download_mock.return_value = data - - expected_df = pd.DataFrame(data, columns=columns) - - bq_client = BigQueryClient(self.credentials) - job = QueryJobMock(data) - df = bq_client.download_to_dataframe(job) - - assert df.equals(expected_df) diff --git a/tests/unit/data/observatory/catalog/mocks.py b/tests/unit/data/observatory/catalog/mocks.py deleted file mode 100644 index e561086d4..000000000 --- a/tests/unit/data/observatory/catalog/mocks.py +++ /dev/null @@ -1,18 +0,0 @@ -class BigQueryClientMock(object): - def __init__(self, exception=None): - self.exception = exception - - self.bq_public_project = 'public_data_project' - self.bq_project = 'user_data_project' - self.bq_dataset = 'username' - self._gcs_bucket = 'bucket_name' - - def query(self, _1): - return True - - def download_to_file(self, _1, _2, column_names=None): - if isinstance(self.exception, Exception): - raise self.exception - - def get_table_column_names(self, _1, _2, _3): - return True diff --git a/tests/unit/data/observatory/catalog/test_dataset.py b/tests/unit/data/observatory/catalog/test_dataset.py index 38faf38ff..9d3b519e6 100644 --- a/tests/unit/data/observatory/catalog/test_dataset.py +++ b/tests/unit/data/observatory/catalog/test_dataset.py @@ -1,3 +1,5 @@ +import os + import pytest import pandas as pd @@ -292,27 +294,28 @@ def test_datasets_are_exported_as_dataframe(self): assert isinstance(sliced_dataset, pd.Series) assert sliced_dataset.equals(expected_dataset_df) - @patch.object(DatasetRepository, 'get_all') + @patch('cartoframes.data.observatory.catalog.subscriptions.get_subscription_ids') @patch.object(DatasetRepository, 'get_by_id') @patch.object(DODataset, 'download_stream') - def test_dataset_download(self, download_stream_mock, get_by_id_mock, get_all_mock): + def test_dataset_download(self, mock_download_stream, mock_get_by_id, mock_subscription_ids): # Given - get_by_id_mock.return_value = test_dataset1 + mock_get_by_id.return_value = test_dataset1 dataset = Dataset.get(test_dataset1.id) - get_all_mock.return_value = [dataset] - download_stream_mock.return_value = [] + mock_download_stream.return_value = [] + mock_subscription_ids.return_value = [test_dataset1.id] credentials = Credentials('fake_user', '1234') # Then dataset.to_csv('fake_path', credentials) + os.remove('fake_path') - @patch.object(DatasetRepository, 'get_all') + @patch('cartoframes.data.observatory.catalog.subscriptions.get_subscription_ids') @patch.object(DatasetRepository, 'get_by_id') - def test_dataset_not_subscribed_download_fails(self, get_by_id_mock, get_all_mock): - # mock dataset - get_by_id_mock.return_value = test_dataset2 # is private + def test_dataset_not_subscribed_download_not_subscribed(self, mock_get_by_id, mock_subscription_ids): + # Given + mock_get_by_id.return_value = test_dataset2 # is private dataset = Dataset.get(test_dataset2.id) - get_all_mock.return_value = [] + mock_subscription_ids.return_value = [] credentials = Credentials('fake_user', '1234') # When @@ -324,31 +327,28 @@ def test_dataset_not_subscribed_download_fails(self, get_by_id_mock, get_all_moc 'You are not subscribed to this Dataset yet. ' 'Please, use the subscribe method first.') - @patch.object(DatasetRepository, 'get_all') @patch.object(DatasetRepository, 'get_by_id') @patch.object(DODataset, 'download_stream') - def test_dataset_download_not_subscribed_but_public(self, download_stream_mock, get_by_id_mock, get_all_mock): + def test_dataset_download_not_subscribed_but_public(self, mock_download_stream, mock_get_by_id): # Given - get_by_id_mock.return_value = test_dataset1 # is public + mock_get_by_id.return_value = test_dataset1 # is public dataset = Dataset.get(test_dataset1.id) - get_all_mock.return_value = [] - download_stream_mock.return_value = [] + mock_download_stream.return_value = [] credentials = Credentials('fake_user', '1234') dataset.to_csv('fake_path', credentials) + os.remove('fake_path') - @patch.object(DatasetRepository, 'get_all') @patch.object(DatasetRepository, 'get_by_id') @patch.object(DODataset, 'download_stream') - def test_dataset_download_without_do_enabled(self, download_stream_mock, get_by_id_mock, get_all_mock): + def test_dataset_download_without_do_enabled(self, mock_download_stream, mock_get_by_id): # Given - get_by_id_mock.return_value = test_dataset1 + mock_get_by_id.return_value = test_dataset1 dataset = Dataset.get(test_dataset1.id) - get_all_mock.return_value = [] def raise_exception(limit=None, order_by=None, sql_query=None, add_geom=None, is_geography=None): raise ServerErrorException(['The user does not have Data Observatory enabled']) - download_stream_mock.side_effect = raise_exception + mock_download_stream.side_effect = raise_exception credentials = Credentials('fake_user', '1234') # When @@ -402,10 +402,10 @@ def test_dataset_subscribe_existing(self, mock_display_message, mock_display_for @patch('cartoframes.data.observatory.catalog.subscriptions.get_subscription_ids') @patch('cartoframes.data.observatory.catalog.utils.display_subscription_form') @patch('cartoframes.auth.defaults.get_default_credentials') - def test_dataset_subscribe_default_credentials(self, mocked_credentials, mock_display_form, mock_subscription_ids): + def test_dataset_subscribe_default_credentials(self, mock_credentials, mock_display_form, mock_subscription_ids): # Given expected_credentials = Credentials('fake_user', '1234') - mocked_credentials.return_value = expected_credentials + mock_credentials.return_value = expected_credentials dataset = Dataset(db_dataset1) # When @@ -476,10 +476,10 @@ def test_dataset_subscription_info(self, mock_fetch): @patch('cartoframes.data.observatory.catalog.subscription_info.fetch_subscription_info') @patch('cartoframes.auth.defaults.get_default_credentials') - def test_dataset_subscription_info_default_credentials(self, mocked_credentials, mock_fetch): + def test_dataset_subscription_info_default_credentials(self, mock_credentials, mock_fetch): # Given expected_credentials = Credentials('fake_user', '1234') - mocked_credentials.return_value = expected_credentials + mock_credentials.return_value = expected_credentials dataset = Dataset(db_dataset1) # When diff --git a/tests/unit/data/observatory/catalog/test_geography.py b/tests/unit/data/observatory/catalog/test_geography.py index 918dc120a..18447283c 100644 --- a/tests/unit/data/observatory/catalog/test_geography.py +++ b/tests/unit/data/observatory/catalog/test_geography.py @@ -1,3 +1,5 @@ +import os + import pytest import pandas as pd @@ -218,30 +220,28 @@ def test_geographies_are_exported_as_dataframe(self): assert isinstance(sliced_geography, pd.Series) assert sliced_geography.equals(expected_geography_df) - @patch.object(GeographyRepository, 'get_all') + @patch('cartoframes.data.observatory.catalog.subscriptions.get_subscription_ids') @patch.object(GeographyRepository, 'get_by_id') @patch.object(DODataset, 'download_stream') - def test_geography_download(self, download_stream_mock, get_by_id_mock, get_all_mock): + def test_geography_download(self, mock_download_stream, mock_get_by_id, mock_subscription_ids): # Given - get_by_id_mock.return_value = test_geography1 + mock_get_by_id.return_value = test_geography1 geography = Geography.get(test_geography1.id) - get_all_mock.return_value = [geography] - download_stream_mock.return_value = [] + mock_download_stream.return_value = [] + mock_subscription_ids.return_value = [test_geography1.id] credentials = Credentials('fake_user', '1234') # Then geography.to_csv('fake_path', credentials) + os.remove('fake_path') - @patch.object(GeographyRepository, 'get_all') + @patch('cartoframes.data.observatory.catalog.subscriptions.get_subscription_ids') @patch.object(GeographyRepository, 'get_by_id') - @patch.object(DODataset, 'download_stream') - def test_geography_download_not_subscribed(self, download_stream_mock, get_by_id_mock, get_all_mock): + def test_geography_download_not_subscribed(self, mock_get_by_id, mock_subscription_ids): # Given - get_by_id_mock.return_value = test_geography2 # is private - get_by_id_mock.return_value = test_geography2 + mock_get_by_id.return_value = test_geography2 # is private geography = Geography.get(test_geography2.id) - get_all_mock.return_value = [] - download_stream_mock.return_value = [] + mock_subscription_ids.return_value = [] credentials = Credentials('fake_user', '1234') with pytest.raises(Exception) as e: @@ -252,31 +252,28 @@ def test_geography_download_not_subscribed(self, download_stream_mock, get_by_id 'You are not subscribed to this Geography yet. ' 'Please, use the subscribe method first.') - @patch.object(GeographyRepository, 'get_all') @patch.object(GeographyRepository, 'get_by_id') @patch.object(DODataset, 'download_stream') - def test_geography_download_not_subscribed_but_public(self, download_stream_mock, get_by_id_mock, get_all_mock): + def test_geography_download_not_subscribed_but_public(self, mock_download_stream, mock_get_by_id): # Given - get_by_id_mock.return_value = test_geography1 # is public + mock_get_by_id.return_value = test_geography1 # is public geography = Geography.get(test_geography1.id) - get_all_mock.return_value = [] - download_stream_mock.return_value = [] + mock_download_stream.return_value = [] credentials = Credentials('fake_user', '1234') geography.to_csv('fake_path', credentials) + os.remove('fake_path') - @patch.object(GeographyRepository, 'get_all') @patch.object(GeographyRepository, 'get_by_id') @patch.object(DODataset, 'download_stream') - def test_geography_download_without_do_enabled(self, download_stream_mock, get_by_id_mock, get_all_mock): + def test_geography_download_without_do_enabled(self, mock_download_stream, mock_get_by_id): # Given - get_by_id_mock.return_value = test_geography1 + mock_get_by_id.return_value = test_geography1 geography = Geography.get(test_geography1.id) - get_all_mock.return_value = [] def raise_exception(limit=None, order_by=None, sql_query=None, add_geom=None, is_geography=None): raise ServerErrorException(['The user does not have Data Observatory enabled']) - download_stream_mock.side_effect = raise_exception + mock_download_stream.side_effect = raise_exception credentials = Credentials('fake_user', '1234') # When diff --git a/tests/unit/utils/managers/__init__.py b/tests/unit/io/managers/__init__.py similarity index 100% rename from tests/unit/utils/managers/__init__.py rename to tests/unit/io/managers/__init__.py diff --git a/tests/unit/utils/managers/test_context_manager.py b/tests/unit/io/managers/test_context_manager.py similarity index 82% rename from tests/unit/utils/managers/test_context_manager.py rename to tests/unit/io/managers/test_context_manager.py index 2c9fb6626..a8fdb2262 100644 --- a/tests/unit/utils/managers/test_context_manager.py +++ b/tests/unit/io/managers/test_context_manager.py @@ -4,11 +4,12 @@ from carto.datasets import DatasetManager from carto.sql import SQLClient, BatchSQLClient, CopySQLClient +from carto.exceptions import CartoRateLimitException from pandas import DataFrame from geopandas import GeoDataFrame from cartoframes.auth import Credentials -from cartoframes.io.managers.context_manager import ContextManager +from cartoframes.io.managers.context_manager import ContextManager, DEFAULT_RETRY_TIMES, retry_copy from cartoframes.utils.columns import ColumnInfo @@ -41,10 +42,27 @@ def test_execute_long_running_query(self, mocker): # Then mock.assert_called_once_with('query') + def test_copy_to(self, mocker): + # Given + query = '__query__' + columns = [ColumnInfo('A', 'a', 'bigint', False)] + mocker.patch.object(ContextManager, 'compute_query', return_value=query) + mocker.patch.object(ContextManager, '_get_query_columns_info', return_value=columns) + mock = mocker.patch.object(ContextManager, '_copy_to') + + # When + cm = ContextManager(self.credentials) + cm.copy_to(query) + + # Then + mock.assert_called_once_with('SELECT "A" FROM (__query__) _q', columns, 3) + def test_copy_from(self, mocker): # Given mocker.patch('cartoframes.io.managers.context_manager._create_auth_client') mocker.patch.object(ContextManager, 'has_table', return_value=False) + mocker.patch.object(ContextManager, 'get_schema', return_value='schema') + mock_create_table = mocker.patch.object(ContextManager, 'execute_long_running_query') mock = mocker.patch.object(ContextManager, '_copy_from') df = DataFrame({'A': [1]}) columns = [ColumnInfo('A', 'a', 'bigint', False)] @@ -54,7 +72,10 @@ def test_copy_from(self, mocker): cm.copy_from(df, 'TABLE NAME') # Then - mock.assert_called_once_with(df, 'table_name', columns) + mock_create_table.assert_called_once_with(''' + BEGIN; CREATE TABLE table_name ("a" bigint); SELECT CDB_CartodbfyTable(\'schema\', \'table_name\'); COMMIT; + '''.strip()) + mock.assert_called_once_with(df, 'table_name', columns, DEFAULT_RETRY_TIMES) def test_copy_from_exists_fail(self, mocker): # Given @@ -122,7 +143,7 @@ def test_internal_copy_from(self, mocker): # Then assert mock.call_args[0][0] == ''' - COPY table_name(a,b) FROM stdin WITH (FORMAT csv, DELIMITER '|', NULL '__null'); + COPY table_name("a","b") FROM stdin WITH (FORMAT csv, DELIMITER '|', NULL '__null'); '''.strip() assert list(mock.call_args[0][1]) == [ b'1|0101000020E610000000000000000000000000000000000000\n', @@ -239,3 +260,21 @@ def test_list_tables_empty(self, mocker): # Then assert DataFrame(columns=['tables']).equals(tables) + + def test_retry_copy_decorator(self): + @retry_copy + def test_function(retry_times): + class ResponseMock: + def __init__(self): + self.text = 'My text' + self.headers = { + 'Carto-Rate-Limit-Limit': 1, + 'Carto-Rate-Limit-Remaining': 1, + 'Retry-After': 1, + 'Carto-Rate-Limit-Reset': 1 + } + response_mock = ResponseMock() + raise CartoRateLimitException(response_mock) + + with pytest.raises(CartoRateLimitException): + test_function(retry_times=0) diff --git a/tests/unit/io/test_carto.py b/tests/unit/io/test_carto.py index 338dc4c66..4acb40458 100644 --- a/tests/unit/io/test_carto.py +++ b/tests/unit/io/test_carto.py @@ -1,9 +1,14 @@ import pytest +import random + from pandas import Index from geopandas import GeoDataFrame from shapely.geometry import Point +from shapely.geometry.base import BaseGeometry +from shapely import wkt +from carto.exceptions import CartoException from cartoframes.auth import Credentials from cartoframes.io.managers.context_manager import ContextManager from cartoframes.io.carto import read_carto, to_carto, copy_table, create_table_from_query @@ -41,6 +46,58 @@ def test_read_carto(mocker): assert gdf.crs == 'epsg:4326' +def test_read_carto_none_as_null_geom_value(mocker): + # Given + cm_mock = mocker.patch.object(ContextManager, 'copy_to') + cm_mock.return_value = GeoDataFrame({ + 'cartodb_id': [1], + 'the_geom': [ + None + ] + }) + + # When + gdf = read_carto('__source__', CREDENTIALS) + + # Then + expected = GeoDataFrame({ + 'cartodb_id': [1], + 'the_geom': [ + None + ] + }, geometry='the_geom') + + cm_mock.assert_called_once_with('__source__', None, None, 3) + assert expected.equals(gdf) + assert gdf.crs == 'epsg:4326' + + +def test_read_carto_basegeometry_as_null_geom_value(mocker): + # Given + cm_mock = mocker.patch.object(ContextManager, 'copy_to') + cm_mock.return_value = GeoDataFrame({ + 'cartodb_id': [1], + 'the_geom': [ + None + ] + }) + + # When + gdf = read_carto('__source__', CREDENTIALS, null_geom_value=BaseGeometry()) + + # Then + expected = GeoDataFrame({ + 'cartodb_id': [1], + 'the_geom': [ + BaseGeometry() + ] + }, geometry='the_geom') + + cm_mock.assert_called_once_with('__source__', None, None, 3) + assert expected.equals(gdf) + assert gdf.crs == 'epsg:4326' + + def test_read_carto_wrong_source(mocker): # When with pytest.raises(ValueError) as e: @@ -184,7 +241,7 @@ def test_to_carto(mocker): df = GeoDataFrame({'geometry': [Point([0, 0])]}) # When - norm_table_name = to_carto(df, table_name, CREDENTIALS) + norm_table_name = to_carto(df, table_name, CREDENTIALS, skip_quota_warning=True) # Then assert cm_mock.call_args[0][1] == table_name @@ -193,10 +250,141 @@ def test_to_carto(mocker): assert norm_table_name == table_name +def test_to_carto_non_4326(mocker): + # Given + table_name = '__table_name__' + cm_mock = mocker.patch.object(ContextManager, 'copy_from') + cm_mock.return_value = table_name + df = GeoDataFrame({'geometry': [Point([0, 0])]}) + df.crs = 'epsg:4269' + + # When + norm_table_name = to_carto(df, table_name, CREDENTIALS, skip_quota_warning=True) + + # Then + assert cm_mock.call_args[0][1] == table_name + assert cm_mock.call_args[0][2] == 'fail' + assert cm_mock.call_args[0][3] is True + assert norm_table_name == table_name + + +def test_to_carto_quota_warning(mocker): + class NoQuotaCredentials(Credentials): + @property + def me_data(self): + return { + 'user_data': { + 'remaining_byte_quota': 0 + } + } + + # Given + table_name = '__table_name__' + cm_mock = mocker.patch.object(ContextManager, 'copy_from') + cm_mock.return_value = table_name + df = GeoDataFrame({'geometry': [Point([0, 0])]}) + + # Then + with pytest.raises(CartoException): + to_carto(df, table_name, NoQuotaCredentials('fake_user', 'fake_api_key'), skip_quota_warning=False) + + +def test_to_carto_quota_warning_skip(mocker): + class NoQuotaCredentials(Credentials): + @property + def me_data(self): + return { + 'user_data': { + 'remaining_byte_quota': 0 + } + } + + # Given + table_name = '__table_name__' + cm_mock = mocker.patch.object(ContextManager, 'copy_from') + cm_mock.return_value = table_name + df = GeoDataFrame({'geometry': [Point([0, 0])]}) + + # When + norm_table_name = to_carto(df, table_name, NoQuotaCredentials('fake_user', 'fake_api_key'), + skip_quota_warning=True) + + # Then + assert cm_mock.call_args[0][1] == table_name + assert cm_mock.call_args[0][2] == 'fail' + assert cm_mock.call_args[0][3] is True + assert norm_table_name == table_name + + +def test_to_carto_two_geom_columns(mocker): + # Given + table_name = '__table_name__' + cm_mock = mocker.patch.object(ContextManager, 'copy_from') + cm_mock.return_value = table_name + df = GeoDataFrame({'geometry': [Point([0, 0])], + 'the_geom': '010100000000000000000000000000000000000000'}) + + # When + norm_table_name = to_carto(df, table_name, CREDENTIALS, skip_quota_warning=True) + + # Then + assert cm_mock.call_args[0][1] == table_name + assert cm_mock.call_args[0][2] == 'fail' + assert cm_mock.call_args[0][3] is True + assert norm_table_name == table_name + + +def test_to_carto_two_geom_columns_and_geom_col(mocker): + # Given + table_name = '__table_name__' + cm_mock = mocker.patch.object(ContextManager, 'copy_from') + cm_mock.return_value = table_name + df = GeoDataFrame({'geometry': [Point([0, 0])], + 'the_geom': '010100000000000000000000000000000000000000'}) + + # When + norm_table_name = to_carto(df, table_name, CREDENTIALS, geom_col='geometry', skip_quota_warning=True) + + # Then + assert cm_mock.call_args[0][1] == table_name + assert cm_mock.call_args[0][2] == 'fail' + assert cm_mock.call_args[0][3] is True + assert norm_table_name == table_name + + +def test_to_carto_chunks(mocker): + # Given + table_name = '__table_name__' + cm_mock = mocker.patch.object(ContextManager, 'copy_from') + cm_mock.return_value = table_name + + size = 4000 # About 1MB (1150000 bytes) + gdf = GeoDataFrame([ + ['Calle Gran Vía 46', + round(random.uniform(10, 100), 2), + round(random.uniform(100, 1000), 2), + round(random.uniform(1000, 10000), 2), + 'POLYGON((-3.68831 40.42478, -3.68841 40.42478, -3.68841 40.42488, -3.68831 40.42478))'] + for _ in range(size)], + columns=['address', 'value1', 'value2', 'value3', 'polygon'] + ) + gdf.set_geometry(gdf['polygon'].apply(wkt.loads), inplace=True) + + # When + norm_table_name = to_carto(gdf, table_name, CREDENTIALS, max_upload_size=100000, skip_quota_warning=True) + + # Then + assert cm_mock.call_count == 12 # 12 chunks as max_upload_size is 100000 bytes and we are uploading 1150000 bytes + assert cm_mock.call_args[0][1] == table_name + assert cm_mock.call_args[0][2] in ['fail', 'append'] + assert cm_mock.call_args[0][3] is True + assert norm_table_name == table_name + + def test_to_carto_wrong_dataframe(mocker): # When with pytest.raises(ValueError) as e: - to_carto(1234, '') + to_carto(1234, '', skip_quota_warning=True) # Then assert str(e.value) == 'Wrong dataframe. You should provide a valid DataFrame instance.' @@ -208,7 +396,7 @@ def test_to_carto_wrong_table_name(mocker): # When with pytest.raises(ValueError) as e: - to_carto(df, 1234) + to_carto(df, 1234, skip_quota_warning=True) # Then assert str(e.value) == 'Wrong table name. You should provide a valid table name.' @@ -220,7 +408,7 @@ def test_to_carto_wrong_credentials(mocker): # When with pytest.raises(ValueError) as e: - to_carto(df, '__table_name__', 1234) + to_carto(df, '__table_name__', 1234, skip_quota_warning=True) # Then assert str(e.value) == 'Credentials attribute is required. Please pass a `Credentials` ' + \ @@ -233,7 +421,7 @@ def test_to_carto_wrong_if_exists(mocker): # When with pytest.raises(ValueError) as e: - to_carto(df, '__table_name__', if_exists='keep_calm') + to_carto(df, '__table_name__', if_exists='keep_calm', skip_quota_warning=True) # Then assert str(e.value) == 'Wrong option for the `if_exists` param. You should provide: fail, replace, append.' @@ -245,7 +433,7 @@ def test_to_carto_if_exists_replace(mocker): df = GeoDataFrame({'geometry': [Point([0, 0])]}) # When - to_carto(df, '__table_name__', CREDENTIALS, if_exists='replace') + to_carto(df, '__table_name__', CREDENTIALS, if_exists='replace', skip_quota_warning=True) # Then assert cm_mock.call_args[0][2] == 'replace' @@ -257,7 +445,7 @@ def test_to_carto_no_cartodbfy(mocker): df = GeoDataFrame({'geometry': [Point([0, 0])]}) # When - to_carto(df, '__table_name__', CREDENTIALS, cartodbfy=False) + to_carto(df, '__table_name__', CREDENTIALS, cartodbfy=False, skip_quota_warning=True) # Then assert cm_mock.call_args[0][3] is False @@ -269,7 +457,7 @@ def test_to_carto_replace_geometry(mocker): df = GeoDataFrame({'geom': 'POINT(1 1)', 'geometry': [Point([0, 0])]}) # When - to_carto(df, '__table_name__', CREDENTIALS, geom_col='geom', cartodbfy=False) + to_carto(df, '__table_name__', CREDENTIALS, geom_col='geom', cartodbfy=False, skip_quota_warning=True) # Then assert str(cm_mock.call_args[0][0]).strip() == 'the_geom\n0 POINT (1.00000 1.00000)' diff --git a/tests/unit/io/test_crs.py b/tests/unit/io/test_crs.py index 09b61e516..520c43a83 100644 --- a/tests/unit/io/test_crs.py +++ b/tests/unit/io/test_crs.py @@ -11,46 +11,24 @@ CREDENTIALS = Credentials('fake_user', 'fake_api_key') -def test_wrong_crs_layer(): +@pytest.mark.parametrize('crs', ['epsg:4326', 'epsg:2263', 'epsg:3395']) +def test_transform_crs_layer(crs): # Given - gdf = GeoDataFrame({'geometry': [Point([0, 0])]}, crs='epsg:2263') - - # When - with pytest.raises(ValueError) as e: - Layer(gdf) - - # Then - assert str(e.value) == 'No valid geometry CRS "epsg:2263", it must be "epsg:4326".' - - -def test_transform_crs_layer(): - # Given - gdf = GeoDataFrame({'geometry': [Point([0, 0])]}, crs='epsg:4326') + gdf = GeoDataFrame({'geometry': [Point([0, 0])]}, crs=crs) # When Layer(gdf) # No error! -def test_wrong_crs_to_carto(): - # Given - gdf = GeoDataFrame({'geometry': [Point([0, 0])]}, crs='epsg:2263') - - # When - with pytest.raises(ValueError) as e: - to_carto(gdf, 'table_name') - - # Then - assert str(e.value) == 'No valid geometry CRS "epsg:2263", it must be "epsg:4326".' - - -def test_transform_crs_to_carto(mocker): +@pytest.mark.parametrize('crs', ['epsg:4326', 'epsg:2263', 'epsg:3395']) +def test_transform_crs_to_carto(mocker, crs): cm_mock = mocker.patch.object(ContextManager, 'copy_from') # Given - gdf = GeoDataFrame({'geometry': [Point([0, 0])]}, crs='epsg:4326') + gdf = GeoDataFrame({'geometry': [Point([0, 0])]}, crs=crs) # When - to_carto(gdf, 'table_name', CREDENTIALS) + to_carto(gdf, 'table_name', CREDENTIALS, skip_quota_warning=True) # Then - cm_mock.assert_called_once_with(mocker.ANY, 'table_name', 'fail', True) + cm_mock.assert_called_once_with(mocker.ANY, 'table_name', 'fail', True, 3) diff --git a/tests/unit/utils/test_utils.py b/tests/unit/utils/test_utils.py index fc0ba618b..c09426882 100644 --- a/tests/unit/utils/test_utils.py +++ b/tests/unit/utils/test_utils.py @@ -2,6 +2,7 @@ """Unit tests for cartoframes.utils""" import unittest +import warnings from collections import OrderedDict import requests @@ -9,7 +10,7 @@ from cartoframes.utils.utils import (camel_dictionary, cssify, debug_print, dict_items, importify_params, snake_to_camel, dtypes2pg, pg2dtypes, - encode_row, extract_viz_columns, remove_comments) + encode_row, extract_viz_columns, remove_comments, deprecated) class TestUtils(unittest.TestCase): @@ -222,3 +223,27 @@ def test_remove_comments(self): multiline comment */ """ assert remove_comments(viz) == 'color: blue' + + def test_deprecated_decorator_class(self): + @deprecated(message='my message') + class MyClass: + pass + + with warnings.catch_warnings(record=True) as w: + _ = MyClass() + assert issubclass(w[-1].category, DeprecationWarning) + assert 'deprecated' in str(w[-1].message) + assert 'my message' in str(w[-1].message) + assert 'class' in str(w[-1].message) + + def test_deprecated_decorator_function(self): + @deprecated(message='my message') + def my_function(): + pass + + with warnings.catch_warnings(record=True) as w: + my_function() + assert issubclass(w[-1].category, DeprecationWarning) + assert 'deprecated' in str(w[-1].message) + assert 'my message' in str(w[-1].message) + assert 'function' in str(w[-1].message) diff --git a/tests/unit/viz/test_kuviz.py b/tests/unit/viz/test_kuviz.py index 773c6272e..e928c27c1 100644 --- a/tests/unit/viz/test_kuviz.py +++ b/tests/unit/viz/test_kuviz.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- +from collections import namedtuple + import pytest from cartoframes.auth import Credentials -from cartoframes.viz import Map, Layer +from cartoframes.viz import all_publications, delete_publication, Layer, Map from cartoframes.viz.source import Source from cartoframes.viz.kuviz import KuvizPublisher, DEFAULT_PUBLIC, kuviz_to_dict from cartoframes.io.managers.context_manager import ContextManager @@ -163,21 +165,47 @@ def test_kuviz_publisher_update(self, mocker): assert result_update == kuviz_to_dict(kuviz) assert result_publish != kuviz_to_dict(kuviz) - def test_kuviz_publisher_delete(self, mocker): + def test_kuviz_all_publications(self, mocker): setup_mocks(mocker, self.credentials) - kuviz = CartoKuvizMock('fake_kuviz') + html = 'fake_html' + kuviz_name = 'fake_name' + kuviz = CartoKuvizMock(kuviz_name) + + KuvizManagerNamedtuple = namedtuple('KuvizManager', ['all']) + kuviz_manager_namedtuple = KuvizManagerNamedtuple(lambda: [kuviz]) + mocker.patch('cartoframes.viz.kuviz._create_kuviz', return_value=kuviz) + mocker.patch('cartoframes.viz.kuviz._get_kuviz_manager', return_value=kuviz_manager_namedtuple) vmap = Map(Layer('fake_table', credentials=self.credentials)) + kuviz_publisher = KuvizPublisher(None) + kuviz_publisher.set_layers(vmap.layers) + kuviz_publisher.publish(html, kuviz_name, None) + + assert all_publications(credentials=self.credentials)[0]['name'] == kuviz_name + + def test_kuviz_delete_publication(self, mocker): + setup_mocks(mocker, self.credentials) + html = 'fake_html' kuviz_name = 'fake_name' + kuviz = CartoKuvizMock(kuviz_name) + + KuvizManagerNamedtuple = namedtuple('KuvizManager', ['all']) + kuviz_manager_namedtuple = KuvizManagerNamedtuple(lambda: [kuviz]) + + mocker.patch('cartoframes.viz.kuviz._create_kuviz', return_value=kuviz) + mocker.patch('cartoframes.viz.kuviz._get_kuviz_manager', return_value=kuviz_manager_namedtuple) + mock = mocker.patch('tests.unit.mocks.kuviz_mock.CartoKuvizMock.delete') + + vmap = Map(Layer('fake_table', credentials=self.credentials)) kuviz_publisher = KuvizPublisher(None) kuviz_publisher.set_layers(vmap.layers) kuviz_publisher.publish(html, kuviz_name, None) - kuviz_publisher.delete() + delete_publication(kuviz_name, credentials=self.credentials) - assert kuviz_publisher.kuviz is None + mock.assert_called_once_with() diff --git a/tests/unit/viz/test_map.py b/tests/unit/viz/test_map.py index bcd979883..d4ab1823d 100644 --- a/tests/unit/viz/test_map.py +++ b/tests/unit/viz/test_map.py @@ -317,17 +317,6 @@ def test_map_publish_with_password(self, mocker): kuviz_dict = map.publish(name, '1234', credentials=self.credentials) self.assert_kuviz_dict(kuviz_dict, name, 'password') - def test_map_publish_deletion(self, mocker): - setup_mocks(mocker) - - map = Map(Layer(Source('fake_table', credentials=self.credentials))) - - name = 'cf_publish' - map.publish(name, None, credentials=self.credentials) - response = map.delete_publication() - - assert response is True - def test_map_publish_update_name(self, mocker): setup_mocks(mocker) diff --git a/tests/unit/viz/test_source.py b/tests/unit/viz/test_source.py index b164a454b..8aeec39cf 100644 --- a/tests/unit/viz/test_source.py +++ b/tests/unit/viz/test_source.py @@ -7,6 +7,7 @@ from cartoframes.viz.source import Source from cartoframes.io.managers.context_manager import ContextManager + POINT = { "type": "Feature", "geometry": { @@ -77,11 +78,19 @@ "type": "Feature", "geometry": { "type": "GeometryCollection", - "coordinates": None + "geometries": [] }, "properties": {} } +NONE_GEOMETRY = { + "type": "Feature", + "geometry": None, + "properties": { + "prop0": "value0" + } +} + def setup_mocks(mocker): mocker.patch.object(ContextManager, 'compute_query') @@ -158,8 +167,29 @@ def test_different_geometry_types_source(self, features): gdf = gpd.GeoDataFrame.from_features(geojson) source = Source(gdf) + assert len(source.gdf) == len(features) assert source.gdf.equals(gdf) + @pytest.mark.parametrize('features', [ + [POINT, NONE_GEOMETRY], + [MULTIPOINT, NONE_GEOMETRY], + [LINESTRING, NONE_GEOMETRY], + [MULTILINESTRING, NONE_GEOMETRY], + [LINESTRING, MULTILINESTRING, NONE_GEOMETRY], + [POLYGON, NONE_GEOMETRY], + [MULTIPOLYGON, NONE_GEOMETRY], + [POLYGON, MULTIPOLYGON, NONE_GEOMETRY] + ]) + def test_different_geometry_types_source_plus_none(self, features): + geojson = { + "type": "FeatureCollection", + "features": features + } + gdf = gpd.GeoDataFrame.from_features(geojson) + source = Source(gdf) + + assert len(source.gdf) == len(features) - 1 + @pytest.mark.parametrize('features', [ [POINT, LINESTRING], [POINT, POLYGON], @@ -189,3 +219,12 @@ def test_empty_geometries(self): source = Source(gdf) assert len(source.gdf) == 2 + + def test_nan_geometries(self): + df = pd.DataFrame({ + 'geom': ['POINT(0 0)', np.nan, np.nan, 'POINT(0 0)', None] + }) + + source = Source(df, geom_col='geom') + + assert len(source.gdf) == 2 diff --git a/tests/unit/viz/widgets/test_formula_widget.py b/tests/unit/viz/widgets/test_formula_widget.py index bf58db8ae..d9c35d24f 100644 --- a/tests/unit/viz/widgets/test_formula_widget.py +++ b/tests/unit/viz/widgets/test_formula_widget.py @@ -16,13 +16,13 @@ def test_factory(self): def test_count_formula_viewport(self): "should create a formula widget to count viewport features" - widget = widgets.formula_widget('count') + widget = widgets.formula_widget('value', operation='count') widget_info = widget.get_info() assert widget_info.get('value') == 'viewportCount()' def test_count_formula_global(self): "should create a formula widget to count global features" - widget = widgets.formula_widget('count', is_global=True) + widget = widgets.formula_widget('value', operation='count', is_global=True) widget_info = widget.get_info() assert widget_info.get('value') == 'globalCount()' diff --git a/tox.ini b/tox.ini index 1f3ac63c8..05fe93d52 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,13 @@ [tox] envlist = py35, py36, py37, py38 +[gh-actions] +python = + 3.5: py35 + 3.6: py36 + 3.7: py37 + 3.8: py38 + [testenv] deps = flake8