diff --git a/misc/map_test_data.py b/misc/map_test_data.py index addc0e8c7f52cc60d228e079e5b76f5893be74d4..3e47444600ab7b97df25335b6f5c0a3938fdd51f 100755 --- a/misc/map_test_data.py +++ b/misc/map_test_data.py @@ -1,45 +1,70 @@ #!/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()