data trove lighthouses worldwide
Reading
This dataset contains 14,585 lighthouse and seamark records sourced from OpenStreetMap, covering navigational lights and related structures worldwide. The most immediately striking feature is that many descriptive columns — country, operator, year_built, height, and heritage — have null rates of 90% or higher, meaning the richest analysis must focus on the minority of well-filled records. Two columns worth close inspection are seamark_type, which cleanly splits records into light_minor (3,496), light_major (3,051), and landmark (716) with no nulls beyond the 48% gap, and light_character, where 'Fl' (flashing) dominates at 74.7% of non-null values across 19 pattern types. Geographically, all 14,585 records carry latitude and longitude, revealing a notable left skew in latitude (mean 34.5°, median 40.8°) with 1,295 outliers, suggesting a clustering of records in the Northern Hemisphere with some Southern outliers worth mapping.
citing: row_count · column_count · seamark_type.top_values · seamark_type.null_rate · light_character.top_rate · light_character.top_value · light_character.null_rate · lat.mean · lat.median · lat.skew · lat.n_outliers · country.null_rate · operator.null_rate · year_built.null_rate · height.null_rate · osm_type.top_values
Charts the summary said to look at first
Show data table
| value | count | share |
|---|---|---|
| light_minor | 3496 | 24.0% |
| light_major | 3051 | 20.9% |
| landmark | 716 | 4.9% |
| beacon_special_purpose | 146 | 1.0% |
| beacon_lateral | 102 | 0.7% |
| beacon_cardinal | 19 | 0.1% |
| light | 9 | 0.1% |
| beacon | 5 | 0.0% |
| beacon_isolated_danger | 5 | 0.0% |
| building | 4 | 0.0% |
| daymark | 4 | 0.0% |
| radio_station | 3 | 0.0% |
| pile | 3 | 0.0% |
| signal_station_traffic | 3 | 0.0% |
| signal_station_warning | 3 | 0.0% |
| buoy_lateral | 3 | 0.0% |
| navigation_line | 2 | 0.0% |
| fishing_facility | 2 | 0.0% |
| light_vessel | 1 | 0.0% |
| cone | 1 | 0.0% |
Show data table
| value | count | share |
|---|---|---|
| Fl | 3126 | 21.4% |
| Iso | 249 | 1.7% |
| F | 245 | 1.7% |
| Q | 182 | 1.2% |
| Oc | 151 | 1.0% |
| LFl | 148 | 1.0% |
| VQ | 24 | 0.2% |
| Al.Fl | 24 | 0.2% |
| Mo | 14 | 0.1% |
| FFl | 4 | 0.0% |
| Al | 4 | 0.0% |
| IQ | 3 | 0.0% |
| Al.LFl | 2 | 0.0% |
| Al.Oc | 2 | 0.0% |
| Q+LFl | 2 | 0.0% |
| IVQ | 1 | 0.0% |
| Fl(2) | 1 | 0.0% |
| LFl W 10s | 1 | 0.0% |
| Al.Iso | 1 | 0.0% |
Show data table
| bin | count |
|---|---|
| -63.4 – -59.77 | 3 |
| -59.77 – -56.14 | 2 |
| -56.14 – -52.51 | 38 |
| -52.51 – -48.88 | 44 |
| -48.88 – -45.25 | 29 |
| -45.25 – -41.62 | 92 |
| -41.62 – -37.99 | 108 |
| -37.99 – -34.36 | 112 |
| -34.36 – -30.73 | 147 |
| -30.73 – -27.1 | 101 |
| -27.1 – -23.47 | 93 |
| -23.47 – -19.84 | 113 |
| -19.84 – -16.21 | 58 |
| -16.21 – -12.58 | 92 |
| -12.58 – -8.947 | 58 |
| -8.947 – -5.317 | 130 |
| -5.317 – -1.687 | 129 |
| -1.687 – 1.942 | 168 |
| 1.942 – 5.572 | 121 |
| 5.572 – 9.202 | 239 |
| 9.202 – 12.83 | 549 |
| 12.83 – 16.46 | 274 |
| 16.46 – 20.09 | 241 |
| 20.09 – 23.72 | 383 |
| 23.72 – 27.35 | 273 |
| 27.35 – 30.98 | 226 |
| 30.98 – 34.61 | 1062 |
| 34.61 – 38.24 | 1554 |
| 38.24 – 41.87 | 1300 |
| 41.87 – 45.5 | 1976 |
| 45.5 – 49.13 | 1257 |
| 49.13 – 52.76 | 625 |
| 52.76 – 56.39 | 900 |
| 56.39 – 60.02 | 1039 |
| 60.02 – 63.65 | 410 |
| 63.65 – 67.28 | 357 |
| 67.28 – 70.91 | 179 |
| 70.91 – 74.54 | 73 |
| 74.54 – 78.17 | 22 |
| 78.17 – 81.8 | 8 |
Show data table
| value | count | share |
|---|---|---|
| node | 11358 | 77.9% |
| way | 3227 | 22.1% |
Show data table
| value | count | share |
|---|---|---|
| 15 | 59 | 0.4% |
| 12 | 55 | 0.4% |
| 14 | 54 | 0.4% |
| 10 | 51 | 0.3% |
| 8 | 45 | 0.3% |
| 18 | 44 | 0.3% |
| 20 | 43 | 0.3% |
| 13 | 38 | 0.3% |
| 6 | 37 | 0.3% |
| 17 | 33 | 0.2% |
| 25 | 31 | 0.2% |
| 11 | 28 | 0.2% |
| 30 | 28 | 0.2% |
| 16 | 27 | 0.2% |
| 23 | 26 | 0.2% |
| 21 | 21 | 0.1% |
| 19 | 20 | 0.1% |
| 28 | 19 | 0.1% |
| 9 | 19 | 0.1% |
| 26 | 18 | 0.1% |
Schema
13 columns| Alerts | ||||
|---|---|---|---|---|
| name | text | 0.0% | 14,239 |
near_unique
|
| lat | numeric | 0.0% | 14,572 |
outliers
|
| lon | numeric | 0.0% | 14,565 |
|
| country | categorical | 99.6% | 19 |
long_tail
null_rate
|
| height | categorical | 90.2% | 316 |
long_tail
null_rate
|
| year_built | categorical | 93.2% | 429 |
long_tail
null_rate
|
| operator | categorical | 92.7% | 283 |
long_tail
null_rate
|
| seamark_type | categorical | 48.0% | 25 |
null_rate
|
| light_character | categorical | 71.3% | 19 |
null_rate
|
| heritage | categorical | 96.9% | 7 |
null_rate
|
| wikipedia | text | 86.2% | 1,965 |
near_unique
null_rate
|
| osm_id | numeric | 0.0% | 14,584 |
|
| osm_type | categorical | 0.0% | 2 |
|
name
text label near_uniqueThis column contains the proper names of lighthouses, drawn from a multilingual global dataset — 'lighthouse', 'faro' (Spanish/Italian), 'fyr' (Scandinavian), 'phare' (French), 'farol' (Portuguese), and 'маяк' (Russian/Cyrillic) all appear in the top words, confirming broad geographic coverage. With 14,239 unique values across 14,585 rows, the near-unique alert is expected for a name field; the 346 duplicates (2.37%) likely reflect shared names for distinct structures (e.g., 'North Light'). Average name length is ~19 characters with a median of 2 words, consistent with short proper-noun phrases. The multilingual vocabulary mix is the key surprise and warrants attention if name-matching or NLP is planned. Treatment: Use as a display label or entity identifier; normalize Unicode and language variants before any string-matching or embedding.
- n
- 14,585
- nulls
- 0 (0.0%)
- unique
- 14,239
- len_min
- 2
- len_max
- 91
- len_mean
- 18.95
- len_median
- 21
- len_p95
- 27
- word_mean
- 2.327
- word_median
- 2
- n_empty
- 0
- n_duplicates
- 346
- duplicate_rate
- 0.02372
- vocab_size
- 14,670
- readability_flesch_mean
- 75.78
- emoji_rate
- 0
- url_rate
- 0
- one_word_rate
- 0.1068
- allcaps_rate
- 0.05794
- boilerplate_rate
- 0
lat
numeric feature outliersThis column represents geographic latitude, with values ranging from -63.4° (near Antarctica) to 81.8° (high Arctic), consistent with global location data across 14,585 records. The distribution is notably left-skewed (skew = -1.46) with a mean of 34.5° but a median of 40.8°, suggesting a concentration of records in mid-to-high Northern Hemisphere latitudes pulled down by a Southern Hemisphere tail. Nearly 9% of values (1,295) are flagged as outliers, likely corresponding to records in the Southern Hemisphere or extreme polar regions which are genuinely sparse in most datasets. Uniqueness is near-perfect (14,572 of 14,585 values distinct), implying precise coordinate capture with minimal rounding. Treatment: Use as-is or pair with longitude for spatial modelling; consider binning into latitude bands or projecting to Cartesian coordinates for distance-based algorithms.
- n
- 14,585
- nulls
- 0 (0.0%)
- unique
- 14,572
- min
- -63.4
- max
- 81.8
- mean
- 34.52
- median
- 40.81
- std
- 24.64
- q1
- 28.11
- q3
- 48.98
- iqr
- 20.87
- skew
- -1.458
- kurtosis
- 2.028
- n_outliers
- 1,295
- outlier_rate
- 0.08879
- zero_rate
- 0
lon
numeric featureThis column contains geographic longitude values, spanning the full valid range from -179.2 to 179.3 degrees with a mean near 23° and median near 15°, suggesting a slight concentration of observations in Europe/Africa relative to the Americas and East Asia. The distribution is nearly symmetric (skew ≈ 0.05) and platykurtic (kurtosis ≈ -0.95), consistent with a broad, flat spread of coordinates across the globe rather than clustering around a single region. Near-uniqueness (14,565 distinct values out of 14,585 rows) and zero nulls confirm these are precise geospatial measurements, not coarse bins. The IQR of ~153 degrees reinforces global coverage. Treatment: Pair with latitude for spatial modelling; consider map-projection or trigonometric encoding (sin/cos) to handle the -180/180 wraparound boundary.
- n
- 14,585
- nulls
- 0 (0.0%)
- unique
- 14,565
- min
- -179.2
- max
- 179.3
- mean
- 23.04
- median
- 14.97
- std
- 79.4
- q1
- -40.5
- q3
- 112.4
- iqr
- 152.9
- skew
- 0.0526
- kurtosis
- -0.9537
- n_outliers
- 0
- outlier_rate
- 0
- zero_rate
- 0
country
categorical long_tail null_rate- n
- 14,585
- nulls
- 14,524 (99.6%)
- unique
- 19
- top_value
- LV
- top_rate
- 0.2951
- cardinality
- 19
- entropy
- 3.442
- entropy_ratio
- 0.8102
height
categorical feature long_tail null_rateThis column represents a numeric height measurement stored as a categorical/string type, with values that appear to be small integers (range visible: 6–20, likely in inches or some domain-specific unit). The most alarming signal is a null rate of 90.18%, meaning only ~1,433 of 14,585 rows carry any value at all — this is a severely sparse field. Among non-null values, 316 unique levels exist with modest concentration (top value '15' appears in only 4.12% of rows) and a high entropy ratio of 0.823, indicating the non-null values are broadly spread rather than clustered. Treatment: Cast to numeric after handling nulls; impute or flag missing values given the 90.18% null rate before modelling.
- n
- 14,585
- nulls
- 13,153 (90.2%)
- unique
- 316
- top_value
- 15
- top_rate
- 0.0412
- cardinality
- 316
- entropy
- 6.837
- entropy_ratio
- 0.8234
year_built
categorical feature long_tail null_rateThis column represents the year a structure was built, but it has been parsed as categorical rather than numeric, likely because it contains century-level codes such as 'C19' and 'C20' mixed with specific years like '1875' and '1906'. The null rate is extremely high at 93.2%, meaning only about 990 of 14,585 rows carry any value at all. Among populated values, 429 distinct entries exist with the top value 'C19' appearing only 31 times (3.1% of non-null rows), indicating a very long tail. The mixed format — century codes alongside specific years — signals data quality issues that require harmonisation before any temporal analysis. Treatment: Impute or exclude 93.2% nulls, normalise century codes ('C19' → 1800–1899) to numeric ranges, then convert to integer or ordinal decade bins before modelling.
- n
- 14,585
- nulls
- 13,593 (93.2%)
- unique
- 429
- top_value
- C19
- top_rate
- 0.03125
- cardinality
- 429
- entropy
- 8.142
- entropy_ratio
- 0.9311
operator
categorical label long_tail null_rateThis column records the operating authority or agency responsible for a navigational aid or maritime infrastructure asset — dominated by coast guard entities (U.S., Philippine, and Chinese 海上保安厅) alongside European bodies like Plovput and INEA. The 92.7% null rate is the critical anomaly: only 1,074 of 14,585 rows carry a value, meaning operator attribution is nearly absent across the dataset. Among populated rows, entropy ratio of 0.861 across 283 unique values signals a long tail of rarely-seen operators beyond the top few, and the top value 'U.S. Coast Guard' covers only 7.7% of non-null rows. The presence of CJK characters (海上保安庁) confirms a multilingual mix requiring normalisation before any grouping or analysis. Treatment: Impute or flag nulls explicitly, normalise multilingual variants to a canonical form, then use as a categorical grouping variable with an 'Unknown' level for the 92.7% missing.
- n
- 14,585
- nulls
- 13,520 (92.7%)
- unique
- 283
- top_value
- U.S. Coast Guard
- top_rate
- 0.077
- cardinality
- 283
- entropy
- 7.013
- entropy_ratio
- 0.8611
seamark_type
categorical label null_rateThis column captures the classification of maritime seamarks (navigational aids such as lights, beacons, and landmarks), drawn from what appears to be nautical/GIS data. Nearly half the rows (48.01%) are null, which is flagged as an alert and likely reflects features in the dataset that are not seamarks at all. Among the 7,588 populated rows, the distribution is heavily skewed toward light types: 'light_minor' alone accounts for 46.1% of non-null values, and combined with 'light_major' these two dominate, while the remaining 23 categories (beacons, landmarks, buildings, etc.) cover a long tail. Entropy ratio of 0.357 confirms moderate but uneven spread across the 25 categories. Treatment: Impute nulls only if missingness is structurally meaningful (i.e., non-seamark features); otherwise keep as-is, one-hot or ordinal encode the 25 categories, and consider grouping rare categories (≤5 occurrences) into an 'other' bucket before modelling.
- n
- 14,585
- nulls
- 7,002 (48.0%)
- unique
- 25
- top_value
- light_minor
- top_rate
- 0.461
- cardinality
- 25
- entropy
- 1.657
- entropy_ratio
- 0.3569
light_character
categorical feature null_rateThis column encodes the light character (flashing pattern) of maritime navigational aids — values like 'Fl' (flashing), 'Iso' (isophase), 'Oc' (occulting), and 'LFl' (long flashing) are standard IALA light notation. The dominant concern is a 71.31% null rate, meaning nearly three-quarters of records carry no light character, likely because many features in the dataset are unlighted aids or non-light structures. Among populated rows, 'Fl' accounts for 74.7% of non-null values, making the distribution heavily skewed across 19 categories. Treatment: Impute nulls with an explicit 'None/Unlighted' category, then one-hot or ordinal encode the 19 light character types before modelling.
- n
- 14,585
- nulls
- 10,401 (71.3%)
- unique
- 19
- top_value
- Fl
- top_rate
- 0.7471
- cardinality
- 19
- entropy
- 1.503
- entropy_ratio
- 0.3539
heritage
categorical null_rate- n
- 14,585
- nulls
- 14,132 (96.9%)
- unique
- 7
- top_value
- 2
- top_rate
- 0.7572
- cardinality
- 7
- entropy
- 1.244
- entropy_ratio
- 0.4431
wikipedia
text metadata near_unique null_rateThis column contains Wikipedia article titles or slugs for lighthouse-related entries, as evidenced by top words including 'lighthouse', 'light', 'fr:phare', 'es:faro', 'de:leuchtturm', and 'pt:farol' — indicating multilingual cross-references. The column is extremely sparse, with an 86.23% null rate across 14,585 rows, meaning only ~2,027 rows carry a value. Despite being flagged near-unique, there are 43 duplicate values across 1,965 unique entries, which is low but worth noting if this is intended as a one-to-one reference. Treatment: Use as an optional external reference link; impute or exclude nulls before joining, and investigate the 43 duplicates for data quality issues.
- n
- 14,585
- nulls
- 12,577 (86.2%)
- unique
- 1,965
- len_min
- 6
- len_max
- 55
- len_mean
- 22.3
- len_median
- 22
- len_p95
- 33
- word_mean
- 2.996
- word_median
- 3
- n_empty
- 0
- n_duplicates
- 43
- duplicate_rate
- 0.02141
- vocab_size
- 2,370
- readability_flesch_mean
- 48.92
- emoji_rate
- 0
- url_rate
- 0
- one_word_rate
- 0.0762
- allcaps_rate
- 0
- boilerplate_rate
- 0
osm_id
numeric foreign_keyThis column contains OpenStreetMap object identifiers, a well-known external reference system where numeric IDs are assigned sequentially as features are added to the OSM database. Nearly all 14,585 rows have a unique ID (only 1 duplicate exists across 14,584 unique values), and the null rate is zero, indicating high integrity. The wide IQR of ~5.4 billion and right skew (1.07) reflect OSM's historical ID growth — older features have lower IDs while newer additions push into the 10+ billion range, which is consistent with OSM's current ID space. Treatment: Use as a join key to OSM data sources; do not use as a numeric feature in modelling.
- n
- 14,585
- nulls
- 0 (0.0%)
- unique
- 14,584
- min
- 1.339e+07
- max
- 1.353e+10
- mean
- 3.723e+09
- median
- 1.574e+09
- std
- 3.828e+09
- q1
- 1.001e+09
- q3
- 6.402e+09
- iqr
- 5.401e+09
- skew
- 1.073
- kurtosis
- -0.1991
- n_outliers
- 0
- outlier_rate
- 0
- zero_rate
- 0
osm_type
categorical featureThis column captures the OpenStreetMap geometry type, distinguishing between point features ('node') and linear/polygon features ('way'). With only 2 distinct values across 14,585 rows and zero nulls, it is a clean binary indicator. The distribution is notably skewed: 'node' dominates at 77.9% (11,358 records) versus 'way' at 22.1% (3,227 records), reflecting the typical OSM pattern where point features outnumber area/line features. Entropy ratio of 0.76 confirms moderate imbalance but not extreme dominance. Treatment: One-hot encode or binary-encode (node=1, way=0) before modelling; consider as a stratification variable given the 78/22 class split.
- n
- 14,585
- nulls
- 0 (0.0%)
- unique
- 2
- top_value
- node
- top_rate
- 0.7787
- cardinality
- 2
- entropy
- 0.7625
- entropy_ratio
- 0.7625