搜索

PythonReactSEOPDF
GitHub Skill

marine-safety-incidents

Collect, analyze, and report marine safety incident data from 7 global maritime authorities. Use for incident scraping, safety trend analysis, risk assessment, geographic hotspot identification, and marine safety reporting.

vamseeachanta☆ 1 仓库 Stars0 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

Marine Safety Incidents Skill

Collect, analyze, and report marine safety incident data from global maritime authorities including USCG, NTSB, BSEE, IMO, and more.

When to Use

  • Marine safety incident data collection and scraping
  • Safety trend analysis and risk assessment
  • Geographic hotspot identification
  • Incident type classification and severity analysis
  • Environmental impact assessment from marine incidents
  • Regulatory compliance reporting
  • Root cause analysis

Prerequisites

  • Python environment with worldenergydata package installed
  • Database connection (PostgreSQL recommended)
  • API keys for relevant data sources (if applicable)

Analysis Types

1. Incident Data Collection

Scrape and import incident data from multiple sources.

marine_safety:
  collection:
    flag: true
    sources:
      - uscg       # US Coast Guard
      - ntsb       # National Transportation Safety Board
      - bsee       # Bureau of Safety and Environmental Enforcement
      - imo        # International Maritime Organization
      - maib       # UK Marine Accident Investigation Branch
      - atsb       # Australian Transport Safety Bureau
      - tsb        # Canadian Transportation Safety Board
    date_range:
      start: "2020-01-01"
      end: "2024-12-31"
    output:
      database: "marine_safety_db"
      format: "normalized"
2. Trend Analysis

Analyze incident trends over time.

marine_safety:
  trend_analysis:
    flag: true
    grouping:
      - by_year
      - by_month
      - by_incident_type
      - by_severity
    metrics:
      - incident_count
      - fatality_rate
      - injury_rate
      - environmental_impact_score
    output:
      report_file: "results/safety_trends.html"
      data_file: "results/trend_data.csv"
3. Geographic Analysis

Identify incident hotspots and high-risk areas.

marine_safety:
  geographic_analysis:
    flag: true
    regions:
      - gulf_of_mexico
      - north_sea
      - asia_pacific
    clustering:
      method: "dbscan"
      eps: 50  # km
    output:
      map_file: "results/incident_hotspots.html"
      summary: "results/geographic_summary.json"
4. Risk Assessment

Calculate risk scores for vessel types and operations.

marine_safety:
  risk_assessment:
    flag: true
    vessel_types:
      - tanker
      - cargo
      - offshore_platform
      - drilling_rig
    factors:
      - historical_incidents
      - environmental_conditions
      - operational_complexity
    output:
      risk_matrix: "results/risk_matrix.csv"
      recommendations: "results/risk_recommendations.md"

Python API

Data Collection
from worldenergydata.modules.marine_safety.scrapers import MarineSafetyScraper
from worldenergydata.modules.marine_safety.database import IncidentDatabase

# Initialize scraper
scraper = MarineSafetyScraper()

# Scrape from specific source
incidents = scraper.scrape(
    source="uscg",
    start_date="2023-01-01",
    end_date="2023-12-31"
)

# Store in database
db = IncidentDatabase()
db.insert_incidents(incidents)
print(f"Imported {len(incidents)} incidents")
Incident Analysis
from worldenergydata.modules.marine_safety.analysis import IncidentAnalyzer

# Initialize analyzer
analyzer = IncidentAnalyzer(database_url="postgresql://...")

# Get trend summary
trends = analyzer.get_trends(
    start_date="2020-01-01",
    end_date="2024-12-31",
    grouping="monthly"
)

# Analyze by incident type
type_summary = analyzer.analyze_by_type(
    incident_types=["collision", "grounding", "fire", "explosion"]
)

# Get severity distribution
severity = analyzer.severity_distribution()
Geographic Hotspot Detection
from worldenergydata.modules.marine_safety.analysis import GeographicAnalyzer

# Initialize geographic analyzer
geo = GeographicAnalyzer()

# Find hotspots
hotspots = geo.detect_hotspots(
    region="gulf_of_mexico",
    method="dbscan",
    min_incidents=5
)

# Generate interactive map
geo.generate_map(
    hotspots=hotspots,
    output_file="results/hotspot_map.html"
)
Risk Scoring
from worldenergydata.modules.marine_safety.analysis import RiskAssessor

# Initialize risk assessor
risk = RiskAssessor()

# Calculate risk scores
scores = risk.calculate_risk(
    vessel_type="offshore_platform",
    region="north_sea",
    factors=["weather", "traffic_density", "historical_incidents"]
)

print(f"Risk Score: {scores['overall']:.2f}")
print(f"Risk Level: {scores['level']}")  # LOW, MEDIUM, HIGH, CRITICAL
Reporting
from worldenergydata.modules.marine_safety.visualization import SafetyReportGenerator

# Initialize report generator
reporter = SafetyReportGenerator()

# Generate comprehensive report
report = reporter.generate_report(
    start_date="2023-01-01",
    end_date="2023-12-31",
    sections=[
        "executive_summary",
        "trend_analysis",
        "geographic_distribution",
        "vessel_type_breakdown",
        "recommendations"
    ],
    output_file="results/safety_report.html"
)

CLI Usage

# Scrape incident data
python -m worldenergydata.modules.marine_safety.cli scrape --source uscg --year 2023

# Analyze trends
python -m worldenergydata.modules.marine_safety.cli analyze --type trends --output trends.html

# Generate risk report
python -m worldenergydata.modules.marine_safety.cli report --format html --output safety_report.html

# Export data
python -m worldenergydata.modules.marine_safety.cli export --format csv --output incidents.csv

Key Classes

Class Purpose
MarineSafetyScraper Multi-source incident scraping
IncidentDatabase Database operations and storage
IncidentAnalyzer Statistical analysis and trends
GeographicAnalyzer Hotspot detection and mapping
RiskAssessor Risk scoring and assessment
SafetyReportGenerator HTML/PDF report generation

Data Sources

Source Coverage Data Types
USCG US waters All marine incidents
NTSB US Major accidents, investigations
BSEE US OCS Offshore incidents
IMO International Global shipping incidents
MAIB UK waters UK marine accidents
ATSB Australia Australian marine incidents
TSB Canada Canadian marine accidents

Output Formats

Incident CSV
incident_id,date,location_lat,location_lon,vessel_type,incident_type,severity,fatalities,injuries,source
INC001,2023-05-15,28.5,-88.2,tanker,collision,high,0,3,uscg
INC002,2023-06-20,29.1,-94.5,platform,fire,critical,2,5,bsee
Risk Assessment JSON
{
  "assessment_date": "2024-01-15",
  "vessel_type": "offshore_platform",
  "region": "gulf_of_mexico",
  "overall_risk_score": 7.2,
  "risk_level": "HIGH",
  "factors": {
    "historical_incidents": 8.5,
    "weather_exposure": 6.0,
    "traffic_density": 7.0
  },
  "recommendations": [
    "Increase safety inspections",
    "Enhanced weather monitoring"
  ]
}

Best Practices

  1. Rate limiting - Respect source rate limits when scraping
  2. Data validation - Validate and deduplicate incoming data
  3. Incremental updates - Use incremental scraping for efficiency
  4. Geographic accuracy - Verify coordinates for hotspot analysis
  5. Source attribution - Always track data provenance

Related Skills

References

  • USCG Marine Safety Information Portal
  • BSEE Incident Statistics
  • IMO GISIS Maritime Casualties Database
  • DNV Maritime Safety Standards

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-01-20
索引更新时间
2026-01-26
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!