{"id":13551868,"url":"https://github.com/topogram/docs","last_synced_at":"2025-04-03T02:32:01.528Z","repository":{"id":83045754,"uuid":"105750713","full_name":"topogram/docs","owner":"topogram","description":"Documentation for topogram","archived":false,"fork":false,"pushed_at":"2019-06-06T12:12:51.000Z","size":469,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"gh-pages","last_synced_at":"2024-11-03T22:33:41.492Z","etag":null,"topics":["documentation","topogram"],"latest_commit_sha":null,"homepage":"http://topogram.io/docs","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/topogram.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-10-04T09:20:56.000Z","updated_at":"2020-05-12T01:50:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"61d473e4-12b5-4769-a3bb-0d90ac66a3af","html_url":"https://github.com/topogram/docs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/topogram%2Fdocs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/topogram%2Fdocs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/topogram%2Fdocs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/topogram%2Fdocs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/topogram","download_url":"https://codeload.github.com/topogram/docs/tar.gz/refs/heads/gh-pages","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246925388,"owners_count":20855881,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["documentation","topogram"],"created_at":"2024-08-01T12:01:54.769Z","updated_at":"2025-04-03T02:32:01.064Z","avatar_url":"https://github.com/topogram.png","language":"HTML","funding_links":[],"categories":["HTML","documentation"],"sub_categories":[],"readme":"# Topogram\n\n**Topogram** is a web-based app to visualize the evolution of networks over time and space.\n\n[![Build Status](https://travis-ci.org/topogram/topogram.svg?branch=api)](https://travis-ci.org/topogram/topogram)\n\nTry it online at [app.topogram.io](https://app.topogram.io) or install your own.\n\n### Features\n\n- Time-based navigation in graph\n- Network layouts + geographic data\n- Online/real-time data update via API\n\n\n![Screenshot Topogram](img/Topogram-Network.png)\n\n\n## Input data\n\nCurrently, the simplest way is to input data is to use the [Python API client](https://github.com/topogram/topogram-api-client) to push data directly into the database.\n\n\n```python\nfrom topogram-python-client import TopogramAPIClient\n\ntopogram = TopogramAPIClient(\"http://localhost:3000\")\n\n# create a new network\ntopogram.create_topogram(\"Awesome viz of geo-time network\")\n\n# add data\nr = topogram.create_nodes(topogram_ID, [...nodes])\nr = topogram.create_edges(topogram_ID, [...edges])\n\n```\n\n## Data format\n\n### Nodes\n\nYou can add geographic and time information to the nodes.\n\n| Name  | Type   |  | Description | Example |\n|---    |---     |---  |--- |--- |\n| id    | String | required | Id of the node. Should match node Id provided to the edges | 'My node 1' |\n| name  | String | optional | The name of the node | 'Michael' |\n| lat   | Float  | optional | Latitude (in degrees) | -6.7589 |\n| lng   | Float  | optional | Longitude (in degrees)| 105.8671 |\n| start | Date   | optional | Date when the node started existing | 2015 |\n| end   | Date   | optional | Date when the node stopped existing | 2012 |\n| color | String | optional | Color of the node | '#555000'|\n| weight| Float  | optional | Weight of the node | 4 |\n| group | String | optional | Some category to classify the node | 'male'|\n| notes | String | optional | (Markdown) Additional info about the nodes | '# Title' |\n\nSee the model in [/imports/api/nodes/Nodes.js]()\n\n\nExample of mapping using the Python API Client :\n\n```python\n  node = {\n    \"id\" : str,\n    \"name\" : str,\n    \"lat\" : float,\n    \"lng\" : float,\n    \"weight\" : float,\n    \"start\" : datetime,\n    \"end\" : datetime,\n    \"notes\" : str\n    }\n```\n\n### Edges\n\nEdges require a source and target. When source node or target node are absent from the data, the edge will be ignored.\n\n| Name  | Type   |  | Description | Example |\n|---      |---      |---  |---    |\n| source  | String  | required  | Id of the source node (required) | 'My node 1' |\n| target  | String  | required  | Id of the target node (required) | 'My node 2' |\n| id      | String  | optional | Id of the edge | 'My edge 1' |\n| name    | String  | optional | The name/label of the edge | 'Loves' |\n| start | Date   | optional | Date when the edge started existing | 2015 |\n| end   | Date   | optional | Date when the edge stopped existing | 2012 |\n| color | String | optional | Color of the edge | '#555000'|\n| weight| Float  | optional | Weight of the edge | 4 |\n| group | String | optional | Some category to classify the edge | 'male'|\n| notes | String | optional | (Markdown) Additional info about the edge | '# Title' |\n\nSee the model in [/imports/api/edges/Edges.js]()\n\n\nExample of mapping using the Python API Client :\n\n```python\n  edge = {\n    \"source\" : str,\n    \"target\" : str,\n    \"weight\" : float,\n    \"notes\" : str\n    }\n```\n\n## Visualization\n\nOnce you have created your topogram, it will be available at the list at the address [/topograms]() of your server. You can click on the title to access\n\n\n### Panel Selector\n\nThe main visualization is divided between 3 panels :\n\n* network graph\n* geographical map\n* timeline\n\n![Topogram Panels](img/Topogram-panels.png)\n\n\nYou can toggle each of these panels by using the panel selector. When no geo or time element are detected, the checkboxes are disabled automatically.\n\n### Side menu\n\nBy clicking on the title, you can access the main menu to manipulate and edit your topogram.\n\n#### Map background\n\nChange the tiles of the map according to your needs.\n\n#### Network layout\n\nDifferent layouts are available to display your graph. Try different options to see what fits you best.\n\n#### Node Radius\n\nDifferent options are available to display the nodes. It can used the degree of the node in the graph or a user-defined weight (if you assigned it in the data).\n\n### Selection mode\n\nWhen the selection mode is activated, you can click to highlight specific elements of the graphs.\n\n\n## Download \u0026 Install\n\nYou need [Meteor JS](https://www.meteor.com/) to install Topogram.\n\n    git clone https://github.com/topogram/topogram-client.git\n    cd topogram-client\n    meteor npm install\n    meteor\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftopogram%2Fdocs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftopogram%2Fdocs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftopogram%2Fdocs/lists"}