ratiopath.parsers.GeoJSONParser
Parser for GeoJSON format annotation files.
GeoJSON is a format for encoding geographic data structures using JSON. This parser supports both polygon and point geometries.
Extended capabilities include relational metadata integration, which maps properties from geometry-less definition features to spatial annotation features via a shared join key (solve_relations).
Expected relational schema for solve_relations:
| Feature | Geometry | Join key | Metadata |
|---|---|---|---|
| Definition | null |
properties[join_key], for example presetID |
properties.meta values merged into matching annotations |
| Annotation | Spatial GeoJSON geometry, for example Polygon |
properties[join_key], for example presetID |
Receives metadata from the matching definition feature |
Source code in ratiopath/parsers/geojson_parser.py
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | |
gdf = gpd.read_file(file_path)
instance-attribute
__init__(file_path, join_key='presetID')
Read GeoJSON annotations from a file path or text stream.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file_path
|
Path | str | TextIO
|
GeoJSON file path or readable text stream. |
required |
join_key
|
str | None
|
Shared property key used to merge geometry-less definition
features into spatial annotation features. Set to |
'presetID'
|
Source code in ratiopath/parsers/geojson_parser.py
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | |
get_filtered_geodataframe(separator='_', **kwargs)
Filter the GeoDataFrame based on property values.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
separator
|
str
|
The string used to separate keys in the filtering. |
'_'
|
**kwargs
|
str
|
Keyword arguments for filtering. Keys are column names (e.g., 'classification.name') and values are regex patterns to match against. |
{}
|
Returns:
| Type | Description |
|---|---|
GeoDataFrame
|
A filtered GeoDataFrame. |
Source code in ratiopath/parsers/geojson_parser.py
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | |
get_points(**kwargs)
Get points from the GeoDataFrame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
**kwargs
|
str
|
Keyword arguments for filtering properties. |
{}
|
Yields:
| Type | Description |
|---|---|
Iterable[Point]
|
Shapely Point objects. |
Source code in ratiopath/parsers/geojson_parser.py
148 149 150 151 152 153 154 155 156 157 158 159 160 | |
get_polygons(**kwargs)
Get polygons from the GeoDataFrame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
**kwargs
|
str
|
Keyword arguments for filtering properties. |
{}
|
Yields:
| Type | Description |
|---|---|
Iterable[Polygon]
|
Shapely Polygon objects. |
Source code in ratiopath/parsers/geojson_parser.py
134 135 136 137 138 139 140 141 142 143 144 145 146 | |