MPC Kometen Import verbessert

This commit is contained in:
Eskimue
2026-04-10 14:45:02 +02:00
parent 25e3542d3c
commit 92c45a60af
3 changed files with 518 additions and 217 deletions
+20 -17
View File
@@ -119,31 +119,34 @@ CREATE TABLE IF NOT EXISTS `app_user_satellites` (
-- Exportiere Struktur von Tabelle d0467f49.comets_mpc
CREATE TABLE IF NOT EXISTS `comets_mpc` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`orbit_type` char(1) NOT NULL COMMENT 'MPC Orbit_type, z.B. C fuer cometary orbit',
`provisional_packed_desig` varchar(32) DEFAULT NULL COMMENT 'Gepackte MPC-Bezeichnung, z.B. .53P010',
`year_of_perihelion` smallint(6) NOT NULL COMMENT 'Jahr des Periheldurchgangs, kann auch negativ sein',
`designation_packed` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 'Fixed-width MPC-Packbezeichnung aus Soft00Cmt.txt, inkl. Fragmentkennung',
`orbit_type` char(1) NOT NULL COMMENT 'Abgeleiteter Kometentyp, z. B. C, P oder I',
`year_of_perihelion` smallint(6) NOT NULL COMMENT 'Jahr des Periheldurchgangs',
`month_of_perihelion` tinyint(3) unsigned NOT NULL COMMENT 'Monat des Periheldurchgangs',
`day_of_perihelion` decimal(8,5) NOT NULL COMMENT 'Tag des Periheldurchgangs inklusive Tagesbruchteil',
`perihelion_dist` decimal(12,8) NOT NULL COMMENT 'Periheldistanz q in AE',
`eccentricity` decimal(12,8) NOT NULL COMMENT 'Exzentrizitaet e',
`arg_perihelion_deg` decimal(10,6) NOT NULL COMMENT 'Argument des Perihels in Grad',
`ascending_node_deg` decimal(10,6) NOT NULL COMMENT 'Laenge des aufsteigenden Knotens in Grad',
`inclination_deg` decimal(10,6) NOT NULL COMMENT 'Bahnneigung in Grad',
`absolute_magnitude_h` decimal(8,3) DEFAULT NULL COMMENT 'H-Magnitude laut MPC',
`slope_parameter_g` decimal(8,3) DEFAULT NULL COMMENT 'G-Parameter laut MPC',
`designation_and_name` varchar(255) NOT NULL COMMENT 'Lesbare Bezeichnung, z.B. C/-146 P1',
`reference_text` varchar(64) DEFAULT NULL COMMENT 'Referenzfeld aus MPC, z.B. 31, 257',
`raw_json` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 'Originaler JSON-Datensatz fuer Nachvollziehbarkeit' CHECK (json_valid(`raw_json`)),
`day_of_perihelion` decimal(8,4) NOT NULL COMMENT 'Tag des Periheldurchgangs inklusive Tagesbruchteil',
`perihelion_dist_au` decimal(12,6) NOT NULL COMMENT 'Periheldistanz q in AE',
`eccentricity` decimal(12,6) NOT NULL COMMENT 'Exzentrizitaet e',
`arg_perihelion_deg` decimal(9,4) NOT NULL COMMENT 'Argument des Perihels in Grad',
`ascending_node_deg` decimal(9,4) NOT NULL COMMENT 'Laenge des aufsteigenden Knotens in Grad',
`inclination_deg` decimal(9,4) NOT NULL COMMENT 'Bahnneigung in Grad',
`epoch_compact` char(8) DEFAULT NULL COMMENT 'Epoche des Elementsatzes als YYYYMMDD; kann bei Fragmenten fehlen',
`epoch_date` date DEFAULT NULL COMMENT 'Epoche des Elementsatzes als SQL-Datum',
`absolute_magnitude_h` decimal(5,1) DEFAULT NULL COMMENT 'Absolute Helligkeit H laut MPC',
`slope_parameter_g` decimal(4,1) DEFAULT NULL COMMENT 'Steigungsparameter G laut MPC',
`designation_and_name` varchar(255) NOT NULL COMMENT 'Lesbare Bezeichnung, z. B. C/1995 O1 (Hale-Bopp)',
`reference_text` varchar(64) DEFAULT NULL COMMENT 'Referenz aus der MPC-Datei, z. B. MPEC 2026-FC3',
`raw_record` varchar(255) DEFAULT NULL COMMENT 'Originale Fixed-width-Zeile aus Soft00Cmt.txt',
`source_url` varchar(255) DEFAULT NULL COMMENT 'Quelle des letzten Imports',
`imported_at` datetime NOT NULL DEFAULT current_timestamp() COMMENT 'Zeitpunkt des letzten Imports',
`created_at` datetime NOT NULL DEFAULT current_timestamp(),
`updated_at` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`id`),
UNIQUE KEY `uq_mpc_comets_designation_name` (`designation_and_name`),
UNIQUE KEY `uq_mpc_comets_designation_packed` (`designation_packed`),
KEY `idx_mpc_comets_orbit_type` (`orbit_type`),
KEY `idx_mpc_comets_perihelion_year_month` (`year_of_perihelion`,`month_of_perihelion`),
KEY `idx_mpc_comets_provisional_packed_desig` (`provisional_packed_desig`)
) ENGINE=InnoDB AUTO_INCREMENT=4630 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Kometenelemente vom Minor Planet Center';
KEY `idx_mpc_comets_epoch_compact` (`epoch_compact`),
KEY `idx_mpc_comets_designation_and_name` (`designation_and_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Kometenelemente aus Soft00Cmt.txt des Minor Planet Center';
-- Daten-Export vom Benutzer nicht ausgewählt