Skip to content

Commit 6e207d1

Browse files
authored
spatialite: move sim_time column. remove meaningless cat column (#190)
1 parent ac6017a commit 6e207d1

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

src/itzi/data_containers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def get_columns_definition(cls, cat_primary_key=True) -> list[tuple[str, str]]:
4848
type_mapping = {str: "TEXT", int: "INT", float: "REAL"}
4949
db_columns_def = [("cat", "INTEGER PRIMARY KEY")]
5050
if not cat_primary_key:
51-
db_columns_def = [("cat", "INTEGER")]
51+
db_columns_def = []
5252
for f in dataclasses.fields(cls):
5353
db_field = (f.name, type_mapping[f.type])
5454
db_columns_def.append(db_field)

src/itzi/providers/spatialite_output.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -85,12 +85,12 @@ def _create_table(self, table_name: str) -> None:
8585
columns = DrainageLinkAttributes.get_columns_definition(cat_primary_key=False)
8686
else:
8787
raise ValueError("Unknown table name")
88-
# Add time column
89-
columns.append(("sim_time", "TEXT"))
9088

9189
# Create table with auto-incrementing primary key
92-
cols_sql = "id INTEGER PRIMARY KEY AUTOINCREMENT, " + ", ".join(
93-
[f"{name} {dtype}" for name, dtype in columns]
90+
cols_sql = (
91+
"id INTEGER PRIMARY KEY AUTOINCREMENT, "
92+
+ "sim_time TEXT, "
93+
+ ", ".join([f"{name} {dtype}" for name, dtype in columns])
9494
)
9595
create_table = f"CREATE TABLE IF NOT EXISTS {table_name} ({cols_sql})"
9696
self.cursor.execute(create_table)
@@ -119,7 +119,7 @@ def write_vector(
119119
sim_time_str = sim_time.isoformat()
120120

121121
# Write nodes
122-
for idx, node_data in enumerate(drainage_data.nodes):
122+
for node_data in drainage_data.nodes:
123123
# Convert attributes to dict
124124
attrs_dict = asdict(node_data.attributes)
125125

@@ -131,8 +131,8 @@ def write_vector(
131131
geom_wkt = None
132132

133133
# Prepare column names and values
134-
columns = ["cat", "sim_time"] + list(attrs_dict.keys())
135-
values = [idx + 1, sim_time_str] + list(attrs_dict.values())
134+
columns = ["sim_time"] + list(attrs_dict.keys())
135+
values = [sim_time_str] + list(attrs_dict.values())
136136

137137
# Build SQL with geometry
138138
if geom_wkt is not None:
@@ -147,7 +147,7 @@ def write_vector(
147147
self.cursor.execute(sql, values)
148148

149149
# Write links
150-
for idx, link_data in enumerate(drainage_data.links):
150+
for link_data in drainage_data.links:
151151
# Convert attributes to dict
152152
attrs_dict = asdict(link_data.attributes)
153153

@@ -165,8 +165,8 @@ def write_vector(
165165
geom_wkt = None
166166

167167
# Prepare column names and values
168-
columns = ["cat", "sim_time"] + list(attrs_dict.keys())
169-
values = [idx + 1, sim_time_str] + list(attrs_dict.values())
168+
columns = ["sim_time"] + list(attrs_dict.keys())
169+
values = [sim_time_str] + list(attrs_dict.values())
170170

171171
# Build SQL with geometry
172172
if geom_wkt is not None:

0 commit comments

Comments
 (0)