16fca56fbSSascha Wildner 26fca56fbSSascha Wildner#------------------------------------------------------------------------------ 3*970935fdSSascha Wildner# $File: sosi,v 1.2 2021/02/23 00:51:10 christos Exp $ 46fca56fbSSascha Wildner# SOSI 56fca56fbSSascha Wildner# Summary: Systematic Organization of Spatial Information 66fca56fbSSascha Wildner# Long description: Norwegian text based map format 76fca56fbSSascha Wildner# File extension: .sos 86fca56fbSSascha Wildner# Full name: Petter Reinholdtsen (pere@hungry.com) 96fca56fbSSascha Wildner# Reference: https://en.wikipedia.org/wiki/SOSI 106fca56fbSSascha Wildner# 116fca56fbSSascha Wildner# Example SOSI files available from 126fca56fbSSascha Wildner# https://trac.osgeo.org/gdal/ticket/3638 136fca56fbSSascha Wildner# https://nedlasting.geonorge.no/geonorge/Basisdata/N50Kartdata/SOSI/ 146fca56fbSSascha Wildner# https://nedlasting.geonorge.no/geonorge/Samferdsel/Elveg/SOSI/ 156fca56fbSSascha Wildner# 166fca56fbSSascha Wildner# Start with optional comments (from "!" to the next line end) 176fca56fbSSascha Wildner# followed by ".HODE" and end with "\n.SLUTT" followed by an optional 186fca56fbSSascha Wildner# separator (any number of " ", "\t", "\n" or "\r"), might have BOM at 196fca56fbSSascha Wildner# the start and following ".HODE" near the start there is "..OMR=C3=85DE" 206fca56fbSSascha Wildner# (either UTF-8, ISO-8859-1 or some 7 bit Norwegian charset based on 216fca56fbSSascha Wildner# ASCII) , "..TRANSPAR", "..TEGNSETT " followed by the charset and a 226fca56fbSSascha Wildner# separator, as well as "..SOSI-VERSJON " followed by the format 236fca56fbSSascha Wildner# version and a separator. 246fca56fbSSascha Wildner# 256fca56fbSSascha Wildner# FIXME figure out how to accept any of [space], [tab], [newline] and 26*970935fdSSascha Wildner# [carriage return] as separators, not only line end. 276fca56fbSSascha Wildner 286fca56fbSSascha Wildner# Not searching for full "OMR=C3=85DE" to match also for non-UTF-8 296fca56fbSSascha Wildner# character sets 306fca56fbSSascha Wildner0 search ..OMR 316fca56fbSSascha Wildner>0 search ..TRANSPAR 326fca56fbSSascha Wildner>>0 search .HODE SOSI map data 336fca56fbSSascha Wildner>>>&0 search ..SOSI-VERSJON 346fca56fbSSascha Wildner>>>>&1 string x \b, version %s 356fca56fbSSascha Wildner# FIXME could not figure out way to make a match for .SLUTT at the end required 366fca56fbSSascha Wildner#>-7 string \n.SLUTT slutt 376fca56fbSSascha Wildner#>-8 string \n.SLUTT\n slutt-nl 386fca56fbSSascha Wildner#>-9 string \n.SLUTT\r\n slutt-crnl2 396fca56fbSSascha Wildner!:mime text/vnd.sosi 406fca56fbSSascha Wildner!:ext sos 41