Skip to main content

No project description provided

Project description

Embeddable mapping application

This Svelte app and related Python code are intended to provide a minimal, embeddable interactive map for embedding in Jupyter notebooks, especially those built into static websites using JupyterBook. By using IFrame widgets to call the deployed application with a specific URL containing the desired state, a Jupyter user can render geospatial data that has been stored in GCS. This avoids the problem of ipyleaflet and other Jupyter visualization widgets that store their data in the static HTML of a rendered JupyterBook webpage. The Python code in calitp_map_utils defines the contract between data producers (i.e. notebooks) and the data consumer (i.e. the Svelte app) as well as provides some utilities for validating the GeoJSON of specific analysis types.

Developing

You can run a development server locally; use the calitp-map-utils CLI to generate a valid state URL for testing.

npm run dev
echo '{ "legend_url": "https://storage.googleapis.com/calitp-map-tiles/legend_test.svg", "layers": [ {"name": "D7 State Highway Network", "url": "https://storage.googleapis.com/calitp-map-tiles/d7_shn.geojson.gz", "type": "state_highway_network"}, {"name": "California High Quality Transit Areas - Stops", "url": "https://storage.googleapis.com/calitp-map-tiles/ca_hq_transit_stops.geojson.gz"}, {"name": "LA Metro Bus Speed Maps AM Peak", "url": "https://storage.googleapis.com/calitp-map-tiles/metro_am.geojson.gz", "type": "speedmap"} ] }' | gzip | basenc --base64url | poetry run python -m calitp_map_utils validate-state --base64url --compressed --data --verbose --host=http://localhost:5173
...
URL: localhost:5173?state=H4sIAO38fWQC_6WSMU_DMBCF_8opM03GSt0KDAwUgcqGkHVNr47B8RnfhZJW_e8kbVE6FAY6WSef3_fek7dZwJqyCYTG-yvIPLaUpJtftj832e0Y5opKcOdstcYWHkjXnN6zbr9Jvl-pVKNMikKUE1rKLbP1hNFJXnJdlOidxlGNcaTOkxTLsZEq5Jb4Tbg7N72WtnHPkx5mqgPMhAEWE0dK6kiOhndXMNi86SArTsHh3ig8NT21heeEQZzCNBEKjLosHOUC7yWa6sPoQdVIr3Y-yLHSv13fT2FGmhiuG4F5JFrCDKPAdAaPhJd0XPeyBuvfWu5Z3fb5Yl_3f0GN5zAk2TDXw7RY8NfJhEKdmik5rJw9-VBkKSzNPzMcXyuJ5vJps9039EE5DrACAAA%3D

Build and deploy to Netlify

To create a production version of your app:

npm run build
netlify deploy --site=cal-itp-data-analyses --dir=build --alias=leaflet-speedmaps

We could look into using the Netlify adapter at some point.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

calitp_map_utils-2023.6.5.tar.gz (4.6 kB view hashes)

Uploaded Source

Built Distribution

calitp_map_utils-2023.6.5-py3-none-any.whl (5.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page