createSpatialTable method
void
createSpatialTable()
Implementation
void createSpatialTable(
TableName tableName,
int tableSrid,
String geometryFieldData,
List<String> fieldData,
List<String>? foreignKeys,
bool avoidIndex) {
StringBuffer sb = new StringBuffer();
sb.write("CREATE TABLE ");
sb.write(tableName.fixedName);
sb.write("(");
for (int i = 0; i < fieldData.length; i++) {
if (i != 0) sb.write(",");
sb.write(fieldData[i]);
}
sb.write(",");
sb.write(geometryFieldData);
if (foreignKeys != null) {
for (int i = 0; i < foreignKeys.length; i++) {
sb.write(",");
sb.write(foreignKeys[i]);
}
}
sb.write(")");
_sqliteDb.execute(sb.toString());
List<String> g = geometryFieldData.split(RegExp(r"\s+"));
addGeoPackageContentsEntry(tableName, tableSrid, null, null);
addGeometryColumnsEntry(tableName, g[0], g[1], tableSrid, false, false);
if (!avoidIndex) {
createSpatialIndex(tableName, g[0]);
}
}