geometry_type = self.pg_op.query(sql=f"select coord_type from {PG_MANAGE_PROJECT_INFO} where"
f" project_id = '{project_id}'")[0]['coord_type']
if geometry_type == "WGS-84" or geometry_type == "GCJ-02":
strid = 4326
elif geometry_type == "墨卡托":
strid = 3857
elif geometry_type == "CGCS2000":
strid = 4490
else:
raise ValueError('坐标系类型选择参数为非法参数,%s' % geometry_type)
if strid != 3857:
self.pg_op.update(sql=f"UPDATE dt_node_test SET geom = ST_SetSRID(geom, {strid}) WHERE "
f"projectid = projectid='{project_id}' AND ST_SRID(geom) not in ({strid}, 3857);")
self.pg_op.update(sql=f"UPDATE dt_pipeline_test SET geom = ST_SetSRID(geom, {strid}) WHERE "
f"projectid = projectid='{project_id}' AND ST_SRID(geom) not in ({strid}, 3857);")
self.pg_op.update(sql=f"UPDATE dt_node_test SET geom = ST_Transform(ST_SetSRID(geom, {strid}), 3857) WHERE"
f" projectid = '{project_id}' AND ST_SRID(geom) = {strid};")
self.pg_op.update(sql=f"UPDATE dt_pipeline_test SET geom = ST_Transform(ST_SetSRID(geom, {strid}), 3857) WHERE"
f" projectid = '{project_id}' AND ST_SRID(geom) = {strid};")
self.pg_op.query(sql=f"UPDATE {PG_MANAGE_PROJECT_INFO} SET coord_type = '墨卡托' WHERE "
f"project_id = '{project_id}'")