这是一个用于分析EVE Online游戏中星系通达度的Python工具集。通过计算特征向量中心性和度中心性,识别星系网络中的核心星系,并支持自定义星门配置进行对比分析。
- 从EVE官方SDE提取星门连接信息
- 支持安全等级筛选(默认0.45-1.0高安)
- 自动去除孤立的小星系群
- 计算特征向量中心性和度中心性
- 支持自定义星门配置(添加/删除星门)
- 生成普通版本和增强版本的对比分析
- 按星域和星座进行统计分析
| 文件名 | 说明 |
|---|---|
extract_stargates.py |
从SDE提取星门连接信息 |
filter_stargates.py |
筛选星门连接(安全等级+连通性) |
create_adjacency_matrix.py |
创建邻接矩阵 |
calculate_centrality.py |
计算中心性指标 |
analyze_centrality.py |
分析对比结果 |
-
准备SDE数据
- 下载EVE官方SDE(JSONL格式)
- 将以下文件放入
sde/文件夹:- mapSolarSystems.jsonl
- mapStargates.jsonl
- mapRegions.jsonl
- mapConstellations.jsonl
-
运行分析流程
# 步骤1: 提取星门连接 python extract_stargates.py # 步骤2: 筛选星门 python filter_stargates.py # 步骤3: 创建邻接矩阵 python create_adjacency_matrix.py # 步骤4: 计算中心性 python calculate_centrality.py # 步骤5: 分析结果 python analyze_centrality.py
-
自定义星门配置
编辑
calculate_centrality.py中的配置区域:ADD_STARGATES = [ ("Kassigainen", "Pakhshi"), ("Kemerk", "Bania"), ("Rayeret", "Jakri"), ("Mehatoor", "Akes") ]
| 文件名 | 说明 |
|---|---|
stargate_connections.xlsx |
原始星门连接数据 |
filtered_stargate_connections.xlsx |
筛选后的星门连接 |
adjacency_matrix.xlsx |
邻接矩阵 |
system_list.xlsx |
星系列表 |
centrality_results_normal.xlsx |
普通版本中心性结果 |
centrality_results_enhanced.xlsx |
增强版本中心性结果 |
stargate_config.txt |
星门配置文件 |
centrality_analysis_report.xlsx |
分析报表 |
- 特征向量中心性(Eigenvector Centrality):衡量星系在整个网络中的全局重要性。数值越高,说明该星系不仅连接多,而且连接的星系也很重要。
- 度中心性(Degree Centrality):衡量星系的直接连接数量。数值越高,说明该星系的星门越多。
A Python toolkit for analyzing system accessibility in EVE Online. By calculating eigenvector centrality and degree centrality, it identifies core systems in the network and supports custom stargate configurations for comparative analysis.
- Extract stargate connections from official EVE SDE
- Security status filtering (default 0.45-1.0 for high-sec)
- Automatic removal of isolated small system clusters
- Calculate eigenvector centrality and degree centrality
- Support custom stargate configurations (add/remove stargates)
- Generate comparative analysis between normal and enhanced versions
- Statistical analysis by region and constellation
| File | Description |
|---|---|
extract_stargates.py |
Extract stargate connections from SDE |
filter_stargates.py |
Filter stargate connections (security + connectivity) |
create_adjacency_matrix.py |
Create adjacency matrix |
calculate_centrality.py |
Calculate centrality metrics |
analyze_centrality.py |
Analyze and compare results |
-
Prepare SDE Data
- Download EVE official SDE (JSONL format)
- Place the following files in
sde/folder:- mapSolarSystems.jsonl
- mapStargates.jsonl
- mapRegions.jsonl
- mapConstellations.jsonl
-
Run Analysis Pipeline
# Step 1: Extract stargate connections python extract_stargates.py # Step 2: Filter stargates python filter_stargates.py # Step 3: Create adjacency matrix python create_adjacency_matrix.py # Step 4: Calculate centrality python calculate_centrality.py # Step 5: Analyze results python analyze_centrality.py
-
Custom Stargate Configuration
Edit the configuration section in
calculate_centrality.py:ADD_STARGATES = [ ("Kassigainen", "Pakhshi"), ("Kemerk", "Bania"), ("Rayeret", "Jakri"), ("Mehatoor", "Akes") ]
| File | Description |
|---|---|
stargate_connections.xlsx |
Raw stargate connection data |
filtered_stargate_connections.xlsx |
Filtered stargate connections |
adjacency_matrix.xlsx |
Adjacency matrix |
system_list.xlsx |
System list |
centrality_results_normal.xlsx |
Normal version centrality results |
centrality_results_enhanced.xlsx |
Enhanced version centrality results |
stargate_config.txt |
Stargate configuration file |
centrality_analysis_report.xlsx |
Analysis report |
- Eigenvector Centrality: Measures the global importance of a system in the network. Higher values indicate the system is not only well-connected but also connected to other important systems.
- Degree Centrality: Measures the number of direct connections. Higher values indicate more stargates in the system.
See requirements.txt for required Python packages.
MIT License
Vardal in EVE online (Elwina)