Морские навигационные карты S-57 в браузере: открытый парсер на TypeScript без GDAL и без SDK за $200k
Habr ·

Электронные навигационные карты S-57 стоят на каждом коммерческом судне, но живого JavaScript-парсера для них не было: только серверный GDAL или коммерческие SDK за десятки тысяч долларов в год. Я написал открытый стек на TypeScript, который читает карты S-57 и S-101, собирает топологию и рисует их по стандарту S-52 прямо в браузере, без сервера и без зависимостей. Рассказываю, на какие грабли бинарного формата 1994 года я наступил, и показываю демо, где любую из 7108 карт NOAA можно открыть в один клик. P.S. Причалы на обложке складываются в S-57, а в коде слева спрятаны две строки. Кто первый расшифрует, пишите в комментарии. Читать далее
Электронные навигационные карты S-57 стоят на каждом коммерческом судне, но живого JavaScript-парсера для них не было: только серверный GDAL или коммерческие SDK за десятки тысяч долларов в год. Я написал открытый стек на TypeScript, который читает карты S-57 и S-101, собирает топологию и рисует их по стандарту S-52 прямо в браузере, без сервера и без зависимостей. Рассказываю, на какие грабли бинарного формата 1994 года я наступил, и показываю демо, где любую из 7108 карт NOAA можно открыть в один клик. P.S. Причалы на обложке складываются в S-57, а в коде слева спрятаны две строки. Кто первый расшифрует, пишите в комментарии. Читать далее