I might misunderstand but aren’t you just trying a leftjoin
here? There are more lightweight options available but the simplest is probably just to use a standard DataFrames
workflow:
julia> using DataFrames
julia> lldf = DataFrame(lon_lat, [:station, :lon, :lat])
9×3 DataFrame
Row │ station lon lat
│ Any Any Any
─────┼────────────────────────────
1 │ 1LSU -91.1803 30.4074
2 │ 1NSU -93.0976 31.7508
3 │ 1ULM -92.0759 32.529
4 │ 299C -142.076 64.0289
5 │ 3RIV -72.5761 46.3148
6 │ 59WE -112.183 33.4311
7 │ 5PTS -120.265 36.4292
8 │ 7OAK -114.759 37.595
9 │ 7ODM -117.093 34.1164
julia> mdf = DataFrame(station = midas_bytes);
julia> leftjoin(mdf, lldf, on = :station)
7×3 DataFrame
Row │ station lon lat
│ String Any Any
─────┼────────────────────────────
1 │ 7ODM -117.093 34.1164
2 │ AGMT missing missing
3 │ AHID missing missing
4 │ AIS5 missing missing
5 │ AIS6 missing missing
6 │ ALAM missing missing
7 │ ALBH missing missing