Skip to content
Snippets Groups Projects
Verified Commit 0681b50d authored by Timm Fitschen's avatar Timm Fitschen
Browse files

TST: map_test_data inserts map object with geo-positions now

parent bb098840
No related tags found
No related merge requests found
Pipeline #15193 passed
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
(C) Copyright IndiScale GmbH 2019
Copyright (c) 2019-2021 IndiScale GmbH <info@indiscale.com>
Copyright (c) 2021 Timm Fitschen <t.fitschen@indiscale.com>
"""
import caosdb
import random
caosdb.get_connection()._login()
# data model
datamodel = caosdb.Container()
datamodel.extend([
caosdb.Property("longitude", datatype=caosdb.DOUBLE, unit="°"),
caosdb.Property("latitude", datatype=caosdb.DOUBLE, unit="°"),
caosdb.RecordType(
"MapObject"
"GeoPosition"
).add_property("longitude", importance=caosdb.OBLIGATORY
).add_property("latitude", importance=caosdb.OBLIGATORY),
caosdb.RecordType(
"MapObject"
).add_property("GeoPosition", importance=caosdb.OBLIGATORY),
])
datamodel.insert()
# test data
# test data (single position)
testdata = caosdb.Container()
for i in range(100):
pos = caosdb.Record(f"GeoPosition-{i}"
).add_parent("GeoPosition"
).add_property("longitude", random.gauss(-42.0, 5)
).add_property("latitude", random.gauss(77.0, 5))
testdata.append(pos)
testdata.append(
caosdb.Record(
"Object-{}".format(i)
).add_parent("MapObject"
).add_property("longitude", random.gauss(-42.0, 5)
).add_property("latitude", random.gauss(77.0, 5))
).add_property(name="GeoPosition", value=pos)
)
testdata.insert();
# test data (with paths of geo positions)
testdata = caosdb.Container()
for i in range(20):
val = []
nex = (random.gauss(43.0, 5), random.gauss(75.0, 5))
for j in range(5):
pos = caosdb.Record(f"GeoPosition-Path-{i}-pos-{j}"
).add_parent("GeoPosition"
).add_property("longitude", nex[0]
).add_property("latitude", nex[1])
testdata.append(pos)
val.append(pos)
nex = (random.gauss(nex[0], 0.25), random.gauss(nex[1], 0.25))
testdata.append(
caosdb.Record(
"Path-Object-{}".format(i)
).add_parent("MapObject"
).add_property(name="GeoPosition",
value=val,
datatype=caosdb.LIST("GeoPosition"))
)
testdata.insert()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment