### Install Python Dependencies with Pip Source: https://github.com/snkas/hypatia/blob/master/paper/README.md Installs necessary Python packages using pip, including numpy and custom packages from GitHub repositories. Ensure you have pip and Git installed. ```bash pip install numpy pip install git+https://github.com/snkas/exputilpy.git@v1.6 pip install git+https://github.com/snkas/networkload.git@v1.3 ``` -------------------------------- ### Ground Station File Example (Basic) Source: https://github.com/snkas/hypatia/blob/master/satgenpy/README.md Provides an example of a basic ground station file, illustrating the comma-separated format for defining ground station properties. ```text 0,City: Tokyo; Country: Japan,35.6895,139.69171,0.0 1,City: Delhi; Country: India,28.66667,77.21667,0.0 ``` -------------------------------- ### Ground Station File Example (Extended) Source: https://github.com/snkas/hypatia/blob/master/satgenpy/README.md Provides an example of an extended ground station file, showing the comma-separated format including Cartesian coordinates. ```text 0,Tokyo,Japan,37875.951,0.915,35.6895,139.69171,0.0,-3954844.87446858,3354936.24256892,3700264.78797276,0 ``` -------------------------------- ### Install gnuplot System Dependency Source: https://github.com/snkas/hypatia/blob/master/paper/README.md Installs the gnuplot package using the apt-get package manager. This command is typically run on Debian-based Linux distributions. ```bash sudo apt-get install gnuplot ``` -------------------------------- ### Install satgenpy Dependencies Source: https://github.com/snkas/hypatia/blob/master/satgenpy/README.md Installs the necessary Python and system dependencies for satgenpy. This includes scientific libraries like numpy, astropy, and ephem, as well as geospatial libraries like cartopy. ```bash pip install numpy astropy ephem networkx sgp4 geopy matplotlib statsmodels sudo apt-get install libproj-dev proj-data proj-bin libgeos-dev pip install cartopy pip install git+https://github.com/snkas/exputilpy.git@v1.6 ``` -------------------------------- ### Initialize Cesium Viewer and Globe Settings Source: https://github.com/snkas/hypatia/blob/master/satviz/static_html/top.html Initializes a Cesium.js viewer with a specified access token and custom configuration. It then proceeds to configure the globe's appearance, setting a custom base color and adding a Stamen Toner imagery provider with adjusted visual properties. This setup is useful for creating custom 3D globe applications. ```javascript Cesium.Ion.defaultAccessToken = ''; var viewer = new Cesium.Viewer('cesiumContainer', { skyBox : false, skyAtmosphere: false, baseLayerPicker: false, geocoder: false, homeButton: false, infoBox: false, sceneModePicker: false, navigationHelpButton: false, shouldAnimate : true, contextOptions : { webgl: { alpha: true } } }); var scene = viewer.scene; scene.backgroundColor = Cesium.Color.WHITE; scene.highDynamicRange = false; var canvas = viewer.canvas; canvas.setAttribute('tabindex', '0'); // needed to put focus on the canvas canvas.onclick = function() { canvas.focus(); }; var ellipsoid = scene.globe.ellipsoid; var globe = viewer.scene.globe; globe.imageryLayers.removeAll(); globe.baseColor = Cesium.Color.fromCssColorString('#f7fbff'); var tonerLayer = globe.imageryLayers.addImageryProvider( Cesium.createOpenStreetMapImageryProvider({ url : 'https://stamen-tiles.a.ssl.fastly.net/toner-background/', credit : 'Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.' }) ); tonerLayer.alpha = 0.3; tonerLayer.brightness = 3; tonerLayer.contrast = 0.7; ``` -------------------------------- ### Perform Full Analysis using Satgenpy Source: https://github.com/snkas/hypatia/blob/master/paper/satgenpy_analysis/README.md This command executes the full analysis of satellite constellations using the Satgenpy tool. Ensure all dependencies are installed before running. The output will be stored in the 'data' directory, organized by satellite network name. ```python python perform_full_analysis.py ``` -------------------------------- ### Insert Cesium Access Token in HTML Source: https://github.com/snkas/hypatia/blob/master/satviz/README.md This code snippet demonstrates how to insert your Cesium access token into the `static_html/top.html` file. This is a required step to initialize the Cesium API for visualizations. Ensure you replace the placeholder with your actual token. ```javascript Cesium.Ion.defaultAccessToken = ''; ``` -------------------------------- ### Visualize Path-wise Link Utilization - Python Source: https://github.com/snkas/hypatia/blob/master/satviz/README.md Visualizes link utilization for specific end-to-end paths at a given time instance. Users can specify the visualization time, end-to-end path, and utilization data by adjusting `GEN_TIME`, `path_file`, and `IN_UTIL_FILE`. The default values generate the top part of Figure 14. ```python # visualize_path_wise_utilization.py # Visualizes link utilization for specific end-to-end paths at a specific time instance. # Change GEN_TIME, path_file, and IN_UTIL_FILE for visualization time, path, and utilization. # Default values generate Fig. 14 (top). ``` -------------------------------- ### Description Properties (description.txt) Format Source: https://github.com/snkas/hypatia/blob/master/satgenpy/README.md Details the format of description.txt, containing key simulation parameters such as maximum GSL and inter-satellite link lengths. ```text max_gsl_length_m= max_isl_length_m= ``` -------------------------------- ### Ground Station File Format (Basic) Source: https://github.com/snkas/hypatia/blob/master/satgenpy/README.md Defines the line format for a basic ground station description file. Each line contains the station's ID, name, latitude, longitude, and elevation, separated by commas. ```text [id: int],[name: string],[latitude: float],[longitude: float],[elevation: float] ``` -------------------------------- ### Visualize Constellation-wide Link Utilization - Python Source: https://github.com/snkas/hypatia/blob/master/satviz/README.md Visualizes link utilization for all end-to-end paths at a specific time instance. The visualization time and utilization data can be set by modifying `GEN_TIME` and `IN_UTIL_FILE`. This script is used for generating Figure 15. ```python # visualize_utilization.py # Visualizes link utilization for all end-to-end paths at a specific time instance. # Change GEN_TIME and IN_UTIL_FILE for visualization generation time and utilization. # Default values generate Fig. 15. ``` -------------------------------- ### GSL Interfaces Info (gsl_interfaces_info.txt) Format Source: https://github.com/snkas/hypatia/blob/master/satgenpy/README.md Explains the format of gsl_interfaces_info.txt, which details the number of Ground to Space Links (GSL) interfaces and their maximum aggregate bandwidth for each node. ```text ,, ``` -------------------------------- ### GSL Interface Bandwidth (gsl_if_bandwidth_[time].txt) Format Source: https://github.com/snkas/hypatia/blob/master/satgenpy/README.md Specifies the format for dynamic GSL interface bandwidth files (gsl_if_bandwidth_*.txt). Each entry details the bandwidth available for a specific interface on a given node at a particular time. ```text ,, ``` -------------------------------- ### Forwarding State (fstate_[time].txt) Format Source: https://github.com/snkas/hypatia/blob/master/satgenpy/README.md Defines the format for dynamic forwarding state files (fstate_*.txt), which record packet routing information at specific times. Each line specifies the current node, destination, next hop, and associated interface IDs. ```text ,,,, ``` -------------------------------- ### Visualize Path Between Endpoints - Python Source: https://github.com/snkas/hypatia/blob/master/satviz/README.md Visualizes paths between pairs of endpoints at specific time instances. The visualization time and city pairs can be adjusted by changing `GEN_TIME` and `path_file`. This script is used for generating Figure 13 (left), and also Figures 16(a) and 17(a). ```python # visualize_path.py # Visualizes paths between pairs of endpoints at specific time instances. # Change GEN_TIME and path_file for different visualization times and city pairs. # Default values generate Fig. 13 (left). # Can also be used for Fig. 16(a) and 17(a). ``` -------------------------------- ### Ground Station File Format (Extended) Source: https://github.com/snkas/hypatia/blob/master/satgenpy/README.md Defines the line format for an extended ground station description file. In addition to basic properties, it includes Cartesian coordinates (x, y, z). ```text [id: int],[name: string],[latitude: float],[longitude: float],[elevation: float],[x cartesian: float],[y cartesian: float],[z cartesian: float] ``` -------------------------------- ### Visualize Satellite Constellation - Python Source: https://github.com/snkas/hypatia/blob/master/satviz/README.md Generates visualizations for entire satellite constellations, including multiple shells. Users can uncomment parameters to visualize specific constellations like Starlink, Kuiper, or Telesat, with Starlink (5-shell) being the default. This script is used for generating Figure 11. ```python # visualize_constellation.py # Generates visualizations for entire constellation (multiple shells). # Uncomment parameters for Starlink, Kuiper, or Telesat. # Default is Starlink 5-shell. ``` -------------------------------- ### Visualize Satellite Horizon Over Time - Python Source: https://github.com/snkas/hypatia/blob/master/satviz/README.md Calculates and plots satellite positions (azimuth, altitude) over time for a static observer. The observer's location can be changed by modifying the `LOCATION` coordinates. Visualization duration and granularity are controlled by `VIZ_TIME` and `VIZ_GRAN` respectively. This script is used for generating Figure 12. ```python # visualize_horizon_over_time.py # Finds satellite positions (azimuth, altitude) over time for a static observer and plots them relative to the observer. # Change LOCATION for observer coordinates. # Set VIZ_TIME = X and VIZ_GRAN = Y for X seconds at Y seconds granularity. # Default: LOCATION = (59.9311, 30.3609), X = 170, Y = 5. ``` -------------------------------- ### Extract Temporary Data with Python Script Source: https://github.com/snkas/hypatia/blob/master/paper/README.md Executes a Python script to extract temporary data. This script is designed to be run from within the 'paper' directory after downloading the data archive. ```python cd paper python extract_temp_data.py ``` -------------------------------- ### Generate Satellite Network State (Bash) Source: https://github.com/snkas/hypatia/blob/master/paper/satellite_networks_state/README.md Executes a bash script to generate the satellite network state for all defined networks. This is typically the primary method for initiating the state generation process. ```bash generate_all_local.sh ``` -------------------------------- ### Execute Gnuplot Files for Figure Generation Source: https://github.com/snkas/hypatia/blob/master/paper/figures/README.md This script executes all gnuplot files in the directory to generate PDF versions of the figures for the paper. It assumes that all necessary data has already been generated. No external dependencies beyond Python and gnuplot are required. ```python python plot_all.py ``` -------------------------------- ### Generate Satellite Network State (Python) Source: https://github.com/snkas/hypatia/blob/master/paper/satellite_networks_state/README.md Executes a Python script to generate the satellite network state, potentially distributing workloads across remote machines. This offers an alternative to the local bash script execution. ```python python generate_all_remote.py ``` -------------------------------- ### Satellite Orbits (tles.txt) Format Source: https://github.com/snkas/hypatia/blob/master/satgenpy/README.md Defines the format for the tles.txt file, which contains satellite positions using the Two-line Element Set (TLE) Coordinate System. It specifies the header line and the four-line structure for each satellite's orbital data. ```text 1 1 2 ``` -------------------------------- ### Visualize Path Without Inter-Satellite Links - Python Source: https://github.com/snkas/hypatia/blob/master/satviz/README.md Visualizes paths between pairs of endpoints when no inter-satellite connectivity exists. Similar to `visualize_path.py`, users can modify `GEN_TIME` and `path_file` to adjust visualization time and city pairs. This script is used for generating Figure 17(b) by default. ```python # visualize_path_no_isl.py # Visualizes paths between pairs of endpoints when no inter-satellite connectivity exists. # Change GEN_TIME and path_file for various visualization times and city pairs. # Default values generate Fig 17(b). ``` -------------------------------- ### Inter-Satellite Links (isls.txt) Format Source: https://github.com/snkas/hypatia/blob/master/satgenpy/README.md Describes the format of the isls.txt file, used to define persistent inter-satellite links. Each line in the file represents a link between two satellites identified by their integer IDs. ```text ``` -------------------------------- ### Convert PDF Figures to PNG Format Source: https://github.com/snkas/hypatia/blob/master/paper/figures/README.md This script converts all generated PDF figures to PNG format. This is recommended because PDFs with a large number of data points can be slow to load. It requires Python and potentially image manipulation libraries. ```python python generate_pngs.py ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.