blob: 88ecc512badb16e04f709560de47ed3b10994857 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#------------------------------------------------------------------------------
# $File: sosi,v 1.2 2021/02/23 00:51:10 christos Exp $
# SOSI
# Summary: Systematic Organization of Spatial Information
# Long description: Norwegian text based map format
# File extension: .sos
# Full name: Petter Reinholdtsen (pere@hungry.com)
# Reference: https://en.wikipedia.org/wiki/SOSI
#
# Example SOSI files available from
# https://trac.osgeo.org/gdal/ticket/3638
# https://nedlasting.geonorge.no/geonorge/Basisdata/N50Kartdata/SOSI/
# https://nedlasting.geonorge.no/geonorge/Samferdsel/Elveg/SOSI/
#
# Start with optional comments (from "!" to the next line end)
# followed by ".HODE" and end with "\n.SLUTT" followed by an optional
# separator (any number of " ", "\t", "\n" or "\r"), might have BOM at
# the start and following ".HODE" near the start there is "..OMR=C3=85DE"
# (either UTF-8, ISO-8859-1 or some 7 bit Norwegian charset based on
# ASCII) , "..TRANSPAR", "..TEGNSETT " followed by the charset and a
# separator, as well as "..SOSI-VERSJON " followed by the format
# version and a separator.
#
# FIXME figure out how to accept any of [space], [tab], [newline] and
# [carriage return] as separators, not only line end.
# Not searching for full "OMR=C3=85DE" to match also for non-UTF-8
# character sets
0 search ..OMR
>0 search ..TRANSPAR
>>0 search .HODE SOSI map data
>>>&0 search ..SOSI-VERSJON
>>>>&1 string x \b, version %s
# FIXME could not figure out way to make a match for .SLUTT at the end required
#>-7 string \n.SLUTT slutt
#>-8 string \n.SLUTT\n slutt-nl
#>-9 string \n.SLUTT\r\n slutt-crnl2
!:mime text/vnd.sosi
!:ext sos
|