MCPcopy Create free account
hub / github.com/OSGeo/PROJ / parse_wkt_array

Function parse_wkt_array

scripts/build_db_from_esri.py:820–853  ·  view source on GitHub ↗
(s, level=0)

Source from the content-addressed store, hash-verified

818
819
820def parse_wkt_array(s, level=0):
821 ar = []
822 in_string = False
823 cur_token = ''
824 indent_level = 0
825
826 for c in s:
827 if in_string:
828 if c == '"':
829 in_string = False
830 else:
831 cur_token += c
832 elif c == '"':
833 in_string = True
834 elif c == '[':
835 cur_token += c
836 indent_level += 1
837 elif c == ']':
838 cur_token += c
839 indent_level -= 1
840 assert indent_level >= 0
841 elif indent_level == 0 and c == ',':
842 ar.append(parse_wkt(cur_token, level + 1))
843 cur_token = ''
844 else:
845 cur_token += c
846 assert indent_level == 0
847 if cur_token:
848 ar.append(parse_wkt(cur_token, level + 1))
849
850 if level == 0:
851 return wkt_array_to_dict(ar)
852 else:
853 return ar
854
855
856def wkt_array_to_dict(ar):

Callers 4

parse_wktFunction · 0.85
import_projcsFunction · 0.85
import_vertcsFunction · 0.85
import_geogtranFunction · 0.85

Calls 2

parse_wktFunction · 0.85
wkt_array_to_dictFunction · 0.85

Tested by

no test coverage detected