22
33-- name: CreateGeometry :one
44INSERT INTO loc .geometries AS l (
5- geometry_name, geom, geometry_type_id
5+ geometry_name, geom, geometry_type_id, associated_point
66) VALUES (
77 LOWER (sqlc .arg (geometry_name)::TEXT ),
8- ST_GEOMFROMTEXT(sqlc .arg (geom)::TEXT , 4326 ), -- Ensure in WSG84
9- $1
10- ) RETURNING l .geometry_uuid , l .geometry_name , ST_X(l .centroid )::REAL AS longitude, ST_Y(l .centroid )::REAL AS latitude;
8+ ST_GEOMFROMTEXT(sqlc .arg (geom)::TEXT , 4326 ),
9+ $1 ,
10+ COALESCE(
11+ ST_GEOMFROMTEXT(sqlc .narg (associated_point)::TEXT , 4326 ),
12+ ST_CENTROID(ST_GEOMFROMTEXT(sqlc .arg (geom)::TEXT , 4326 ))
13+ )
14+ ) RETURNING
15+ l .geometry_uuid , l .geometry_name , ST_X(l .associated_point )::REAL AS longitude, ST_Y(l .associated_point )::REAL AS latitude;
1116
1217-- name: RenameGeometry :one
1318UPDATE loc .geometries AS l
1419SET geometry_name = LOWER (sqlc .arg (new_geometry_name)::TEXT )
1520WHERE l .geometry_uuid = $1
16- RETURNING l .geometry_uuid , l .geometry_name , ST_X(l .centroid )::REAL AS longitude, ST_Y(l .centroid )::REAL AS latitude;
21+ RETURNING
22+ l .geometry_uuid , l .geometry_name , ST_X(l .associated_point )::REAL AS longitude, ST_Y(l .associated_point )::REAL AS latitude;
1723
1824-- name: GetGeometryGeoJSON :one
1925/* GetLocationGeoJSON returns a GeoJSON FeatureCollection for the given geometries.
5258 s .geometry_uuid ,
5359 l .geometry_name ,
5460 s .sys_period ,
55- ST_X(l .centroid )::REAL AS longitude,
56- ST_Y(l .centroid )::REAL AS latitude
61+ ST_X(l .associated_point )::REAL AS longitude,
62+ ST_Y(l .associated_point )::REAL AS latitude
5763FROM loc .sources_mv AS s
5864 INNER JOIN loc .geometries AS l USING (geometry_uuid)
5965WHERE
@@ -127,8 +133,8 @@ WITH unfiltered_sources AS (
127133 ls .capacity_limit_sip ,
128134 l .geometry_name ,
129135 l .geometry_type_id ,
130- ST_X(l .centroid )::REAL AS longitude,
131- ST_Y(l .centroid )::REAL AS latitude,
136+ ST_X(l .associated_point )::REAL AS longitude,
137+ ST_Y(l .associated_point )::REAL AS latitude,
132138 l .metadata AS geometry_metadata,
133139 ls .metadata AS source_metadata
134140 FROM loc .sources_mv AS ls
@@ -161,7 +167,7 @@ WITH contained_geometries AS (
161167 l .geometry_name ,
162168 l .geometry_type_id ,
163169 l .geom ,
164- l .centroid ,
170+ l .associated_point ,
165171 l .metadata
166172 FROM loc .geometries AS l
167173 INNER JOIN
@@ -181,8 +187,8 @@ unfiltered_sources AS (
181187 ls .capacity_limit_sip ,
182188 l .geometry_name ,
183189 l .geometry_type_id ,
184- ST_X(l .centroid )::REAL AS longitude,
185- ST_Y(l .centroid )::REAL AS latitude,
190+ ST_X(l .associated_point )::REAL AS longitude,
191+ ST_Y(l .associated_point )::REAL AS latitude,
186192 l .metadata AS geometry_metadata,
187193 ls .metadata AS source_metadata
188194 FROM loc .sources_mv AS ls
@@ -215,12 +221,12 @@ WITH containing_geometries AS (
215221 l .geometry_name ,
216222 l .geometry_type_id ,
217223 l .geom ,
218- l .centroid ,
224+ l .associated_point ,
219225 l .metadata
220226 FROM loc .geometries AS l
221227 INNER JOIN
222228 loc .geometries AS l_inner ON ST_WITHIN(
223- l_inner .geom ,
229+ l_inner .associated_point ,
224230 l .geom
225231 ) AND l_inner .geometry_uuid = sqlc .arg (inner_geometry_uuid)::UUID
226232 AND l .geometry_uuid <> sqlc .arg (inner_geometry_uuid)::UUID
@@ -235,8 +241,8 @@ unfiltered_sources AS (
235241 ls .capacity_limit_sip ,
236242 l .geometry_name ,
237243 l .geometry_type_id ,
238- ST_X(l .centroid )::REAL AS longitude,
239- ST_Y(l .centroid )::REAL AS latitude,
244+ ST_X(l .associated_point )::REAL AS longitude,
245+ ST_Y(l .associated_point )::REAL AS latitude,
240246 l .metadata AS geometry_metadata,
241247 ls .metadata AS source_metadata
242248 FROM loc .sources_mv AS ls
0 commit comments