Skip to main content

EDA tool for spatio-temporal data

Project description

GeoViz

GeoViz is an Exploratory Data Analysis tool designed to empower data analysts to visualize and interpret spatio-temporal data. It offers a user-friendly, interactive web interface built on Panel, ensuring simplicity and maximal explainability. The software provides visualizations, including 3D geographical coordinates, seasonality analysis, heatmap displays, and categorization/clustering using Natural Language Processing (NLP). With a focus on simplicity and shareability, GeoViz enhances data analysis for a broader audience.

The documentation can be found at our readthedocs page.

Example Usage

First, install GeoViz:

pip install rrcgeoviz

Once done, create an options.json file for your spatio-temporal CSV dataset. Here's a basic example:

{
    "columns": {
        "latitude_column": "latitude",
        "longitude_column": "longitude",
        "time_column": "date"
    },
    "features": [
        "month_year_heatmap",
        "test_option_name",
        "yearly_range",
        "one_year",
        "all_months",
        "one_year_months",
        "threeD",
        "nlp_clustering"
    ],
    "features_customizations": {
        "hover_text_columns": [
            "victim"
        ],
        "filter_one_year_column": "victim"
    },
}

Finally, run GeoViz with the following command:

rrcgeoviz path/to/dataset.csv path/to/options.json

A tab should open in your browser with all of the enabled features!

Brief overview of how it works (for contributers)

When running from the command line, the main() function in src/rrcgeoviz/geoviz_cli.py runs. The options and dataset are stored in an Arguments object.

The Arguments object is first passed to the GeneratedData class. The GeneratedData class checks whether to pull data from the cache or not. If it needs new data, then it calls any relevant classes in the DATA_GENERATORS array to make it for it to store. The data is then passed back to the Arguments object as the .generateddata attribute.

The Arguments object with the data, options, and generated data is passed to the GeoVizPanelDashboard class. Here, the data is checked (i.e. it is not null, it's in the correct range, etc.) and then the relevant classes in the ALL_FEATURE_CLASSES array are called to create the features for GeoViz. These don't make any data, just render what's there into pretty visualizations.

Here's a general flow of how to add new components:

  1. If new data is required (e.g. distance to nearest POI) create a new subclass of the ParentGeneratorClass in src/rrcgeoviz/datagenerators. Look at GeneratorExample for reference.
  2. If a new data generator was made, add it to the DATA_GENERATORS array at the top of the GeneratedData file.
  3. Create the panel component as a subclass of ParentGeovizFeatures in src/rrcgeoviz/features. Look at other features in the directory for a sense of what they look like.
  4. Add the new feature to the ALL_FEATURE_CLASSES array at the top of the GeoVizPanelDashboard file.

That's pretty much it!

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

rrcgeoviz-0.1.0.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

rrcgeoviz-0.1.0-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file rrcgeoviz-0.1.0.tar.gz.

File metadata

  • Download URL: rrcgeoviz-0.1.0.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for rrcgeoviz-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e82be752f0297303a3df073f1e9041d9e11ed2c1f3a91ea017722922a0b97d4a
MD5 956c6af9f3d2fc39c3c52f0e0da9b0d6
BLAKE2b-256 d02b102390d001c7f1c58bc9ecaa33d6a975a28e09113659106cd7331c6328cd

See more details on using hashes here.

File details

Details for the file rrcgeoviz-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: rrcgeoviz-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.18

File hashes

Hashes for rrcgeoviz-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6cc0c99e458d3d606d0eefa37044f87c388c9287d115e995c0a7cb4db656c949
MD5 9640e09504ff01199cd722555c1a1d14
BLAKE2b-256 9140487ae9a45d9e5e6b62f0995f68f6ab0819f03e6c2141f89579483a9a3d40

See more details on using hashes here.

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