Table Datasets V1
Table Datasets V3 is the current repository structure
Kart uses - Table Datasets V1 is no longer supported except that Kart can
upgrade an old repo from Table Datasets V1 to Table Datasets V3, using
kart upgrade SOURCE DEST
.
Nevertheless, rough original documentation for Table Datasets V1 follows.
Repository Layout:
v0.2 with working copy
myproject/
.git/ # git stuff lives under here
config # includes pointer to working-copy
readme.txt # random file managed by git
path/to/mydataset/ # dataset name is 'dataset' here
legend.jpg # random file managed by git
.sno-table/ # features for mydataset live under here in git. Excluded in git WC
sno.idxi # spatial index (optional)
sno.idxd # spatial index (optional)
meta/
version
gpkg_contents
gpkg_metadata # metadata content (optional)
gpkg_metadata_reference # metadata <> table pointers (optional)
sqlite_table_info
primary_key
gpkg_geometry_columns
gpkg_spatial_ref_sys
1a/ # sha1 of feature pk, first 2 hex chars
2b/ # sha1 of feature pk, second 2 hex chars
bAsE64= # feature (msgpack-encoded). Name is base64-encoded msgpack of PK value
otherdataset/ # dataset name is 'dataset' here
.sno-table/ # features for mydataset live under here in git. Excluded in git WC
documentation.pdf # random file managed by git
myproject.gpkg # working copy for project. Ignored in git WC
v0.0
nz_primary_parcels_taranaki/
meta/
gpkg_contents
gpkg_geometry_columns
gpkg_metadata
gpkg_metadata_reference
gpkg_spatial_ref_sys
sqlite_table_info
version
features/
fffd/
fffdf8fa-e14d-4ac9-a9ba-0bb9f263a69e/
affected_surveys
appellation
calc_area
fid
geom
id
land_district
parcel_intent
statutory_actions
survey_area
titles
topology_type
GPKG working copies (v0, v1 is similar)
How the __kxg_map
(IDMAP) table works
state
field:
0 = unchanged
-1 = deleted
1 = edited
TABLEfid |
att |
IDMAPuuid |
fid |
state |
---|---|---|---|---|
1 |
a |
123 |
1 |
0 |
2 |
b |
124 |
2 |
0 |
3 |
c |
125 |
3 |
0 |
6 |
e |
126 |
6 |
0 |
7 |
e |
127 |
7 |
0 |
UPDATE t SET att=cc WHERE fid=3
INSERT INTO t (fid, att) VALUES (4, 'd')
DELETE FROM t WHERE fid=1
TABLEfid |
att |
IDMAPuuid |
fid |
state |
---|---|---|---|---|
. |
. |
123 |
1 |
-1 |
2 |
b |
124 |
2 |
0 |
3 |
cc |
125 |
3 |
1 |
4 |
d |
NULL |
4 |
0 |
6 |
e |
126 |
6 |
0 |
7 |
e |
127 |
7 |
0 |
UPDATE t SET fid=5 WHERE fid=2
TABLEfid |
att |
IDMAPuuid |
fid |
state |
---|---|---|---|---|
. |
. |
123 |
1 |
-1 |
5 |
b |
124 |
5 |
1 |
3 |
cc |
125 |
3 |
1 |
4 |
d |
NULL |
4 |
0 |
6 |
e |
126 |
6 |
0 |
7 |
e |
127 |
7 |
0 |
UPDATE t SET att=bb WHERE fid=5
UPDATE t SET att=ccc WHERE fid=3
UPDATE t SET att=dd WHERE fid=4
TABLEfid |
att |
IDMAPuuid |
fid |
state |
---|---|---|---|---|
. |
. |
123 |
1 |
-1 |
5 |
bb |
124 |
5 |
1 |
3 |
ccc |
125 |
3 |
1 |
4 |
dd |
NULL |
4 |
1 |
6 |
e |
126 |
6 |
0 |
7 |
e |
127 |
7 |
0 |
UPDATE t SET fid=2 WHERE fid=5
UPDATE t SET fid=1 WHERE fid=4
UPDATE t SET fid=9 WHERE fid=7
TABLEfid |
att |
IDMAPuuid |
fid |
state |
---|---|---|---|---|
. |
. |
123 |
1 |
-1 |
2 |
bb |
124 |
2 |
1 |
3 |
ccc |
125 |
3 |
1 |
1 |
dd |
NULL |
1 |
1 |
6 |
e |
126 |
6 |
0 |
9 |
e |
127 |
9 |
1 |
feature 123 was deleted
feature 124 was edited (att=b -> bb)
feature 125 was edited (att=c -> ccc)
feature fid=1 was added (fid= -> 1; att= -> dd)
feature 127 was edited (fid=7 -> 9)