ellipsis 3.1.48__tar.gz → 3.1.50__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ellipsis might be problematic. Click here for more details.
- {ellipsis-3.1.48 → ellipsis-3.1.50}/PKG-INFO +1 -18
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/__init__.py +2 -2
- ellipsis-3.1.50/ellipsis/account/__init__.py +4 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/account/root.py +9 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/apiManager.py +1 -0
- ellipsis-3.1.50/ellipsis/compute/__init__.py +1 -0
- ellipsis-3.1.50/ellipsis/compute/root.py +112 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/root.py +9 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/timestamp/root.py +5 -1
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/sanitize.py +21 -1
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis.egg-info/PKG-INFO +1 -18
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis.egg-info/SOURCES.txt +2 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/setup.py +1 -1
- {ellipsis-3.1.48 → ellipsis-3.1.50}/test/test.py +30 -1
- ellipsis-3.1.48/ellipsis/account/__init__.py +0 -4
- {ellipsis-3.1.48 → ellipsis-3.1.50}/LICENSE +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/README.md +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/account/accessToken/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/account/accessToken/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/bookmark/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/bookmark/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/file/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/file/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/folder/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/folder/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/hashtag/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/hashtag/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/invite/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/invite/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/member/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/member/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/pointCloud/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/pointCloud/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/pointCloud/timestamp/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/pointCloud/timestamp/file/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/pointCloud/timestamp/file/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/pointCloud/timestamp/order/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/pointCloud/timestamp/order/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/pointCloud/timestamp/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/pointCloud/timestamp/util.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/raster/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/raster/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/raster/style/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/raster/style/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/raster/timestamp/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/raster/timestamp/file/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/raster/timestamp/file/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/raster/timestamp/order/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/raster/timestamp/order/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/raster/timestamp/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/raster/timestamp/util.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/setUpTask/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/setUpTask/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/usage/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/usage/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/featureProperty/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/featureProperty/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/style/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/style/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/timestamp/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/timestamp/feature/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/timestamp/feature/message/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/timestamp/feature/message/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/timestamp/feature/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/timestamp/feature/series/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/timestamp/feature/series/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/timestamp/file/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/timestamp/file/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/timestamp/order/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/timestamp/order/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/user/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/user/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/util/__init__.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/util/root.py +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis.egg-info/dependency_links.txt +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis.egg-info/requires.txt +9 -9
- {ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis.egg-info/top_level.txt +0 -0
- {ellipsis-3.1.48 → ellipsis-3.1.50}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ellipsis
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.50
|
|
4
4
|
Summary: Package to interact with the Ellipsis API
|
|
5
5
|
Home-page: https://github.com/ellipsis-drive-internal/python-package
|
|
6
6
|
Author: Daniel van der Maas
|
|
@@ -11,23 +11,6 @@ Classifier: Operating System :: OS Independent
|
|
|
11
11
|
Requires-Python: >=3.6
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
13
|
License-File: LICENSE
|
|
14
|
-
Requires-Dist: pandas
|
|
15
|
-
Requires-Dist: Pillow
|
|
16
|
-
Requires-Dist: matplotlib
|
|
17
|
-
Requires-Dist: geopandas
|
|
18
|
-
Requires-Dist: pyproj
|
|
19
|
-
Requires-Dist: imageio
|
|
20
|
-
Requires-Dist: numpy
|
|
21
|
-
Requires-Dist: imagecodecs
|
|
22
|
-
Requires-Dist: requests
|
|
23
|
-
Requires-Dist: requests-toolbelt
|
|
24
|
-
Requires-Dist: rasterio
|
|
25
|
-
Requires-Dist: Shapely
|
|
26
|
-
Requires-Dist: geopy
|
|
27
|
-
Requires-Dist: scikit-image
|
|
28
|
-
Requires-Dist: Fiona
|
|
29
|
-
Requires-Dist: pygltflib
|
|
30
|
-
Requires-Dist: tifffile
|
|
31
14
|
|
|
32
15
|
# Ellipsis Drive Python Package
|
|
33
16
|
|
|
@@ -24,6 +24,15 @@ def logIn(username, password, validFor = None):
|
|
|
24
24
|
|
|
25
25
|
return(token)
|
|
26
26
|
|
|
27
|
+
|
|
28
|
+
def getInfo(token):
|
|
29
|
+
token = sanitize.validString('token', token, True)
|
|
30
|
+
|
|
31
|
+
r = apiManager.get( '/account', body={}, token=token)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
return r
|
|
35
|
+
|
|
27
36
|
def listRoot(rootName, token, pathTypes= None, pageStart = None, listAll = True):
|
|
28
37
|
token = sanitize.validString('token', token, True)
|
|
29
38
|
rootName = sanitize.validString('rootName', rootName, True)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from ellipsis.compute.root import createCluster
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import dill
|
|
2
|
+
import base64
|
|
3
|
+
import time
|
|
4
|
+
|
|
5
|
+
from ellipsis.util.root import recurse
|
|
6
|
+
from ellipsis import sanitize
|
|
7
|
+
from ellipsis import apiManager
|
|
8
|
+
from ellipsis.account import getInfo
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def createCluster(layers, token, nodes=None, interpreter='python3.12', requirements= [], awaitTillStarted = True):
|
|
13
|
+
|
|
14
|
+
layers = sanitize.validDictArray('layers', layers, True)
|
|
15
|
+
token = sanitize.validString('token', token, True)
|
|
16
|
+
nodes = sanitize.validInt('nodes', nodes, False)
|
|
17
|
+
interpreter = sanitize.validString('interpreter', interpreter, True)
|
|
18
|
+
requirements = sanitize.validStringArray('requirements', requirements, False)
|
|
19
|
+
|
|
20
|
+
if type(nodes) == type(None):
|
|
21
|
+
info = getInfo(token=token)
|
|
22
|
+
nodes = info['plan']['maxComputeNodes']
|
|
23
|
+
if nodes == 0:
|
|
24
|
+
raise ValueError('You have no compute nodes in your plan. Please update your subscription')
|
|
25
|
+
|
|
26
|
+
requirements = "\n".join(requirements)
|
|
27
|
+
|
|
28
|
+
body = {'layers':layers, 'interpreter':interpreter, 'nodes':nodes, 'requirements':requirements}
|
|
29
|
+
r = apiManager.post('/compute', body, token)
|
|
30
|
+
|
|
31
|
+
clusterId = r['id']
|
|
32
|
+
while awaitTillStarted:
|
|
33
|
+
res = listClusters(token=token)['result']
|
|
34
|
+
r = [x for x in res if x['id'] == clusterId][0]
|
|
35
|
+
|
|
36
|
+
if r['status'] == 'available':
|
|
37
|
+
break
|
|
38
|
+
time.sleep(1)
|
|
39
|
+
|
|
40
|
+
return {'id':clusterId}
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
def execute(clusterId, f, token, awaitTillCompleted=True):
|
|
44
|
+
clusterId = sanitize.validUuid('clusterId', clusterId, True)
|
|
45
|
+
token = sanitize.validString('token', token, True)
|
|
46
|
+
|
|
47
|
+
if str(type(f)) != "<class 'function'>":
|
|
48
|
+
raise ValueError('parameter f must be a function')
|
|
49
|
+
|
|
50
|
+
f_bytes = dill.dumps(f)
|
|
51
|
+
f_string = base64.b64encode(f_bytes)
|
|
52
|
+
|
|
53
|
+
body = { 'file':f_string}
|
|
54
|
+
apiManager.post('/compute/' + clusterId + '/execute', body, token)
|
|
55
|
+
|
|
56
|
+
while awaitTillCompleted:
|
|
57
|
+
res = listClusters(token=token)['result']
|
|
58
|
+
r = [x for x in res if x['id'] == clusterId][0]
|
|
59
|
+
if r['status'] == 'completed':
|
|
60
|
+
break
|
|
61
|
+
time.sleep(1)
|
|
62
|
+
|
|
63
|
+
return r['result']
|
|
64
|
+
|
|
65
|
+
def parseResults(r):
|
|
66
|
+
results = []
|
|
67
|
+
for x in r:
|
|
68
|
+
x = base64.b64decode(x)
|
|
69
|
+
x = dill.loads(x)
|
|
70
|
+
results = results + x
|
|
71
|
+
|
|
72
|
+
return results
|
|
73
|
+
|
|
74
|
+
def terminateCluster(clusterId, token, awaitTillTerminated = True):
|
|
75
|
+
clusterId = sanitize.validUuid('clusterId', clusterId, True)
|
|
76
|
+
token = sanitize.validString('token', token, True)
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
r = apiManager.post('/compute/' + clusterId + '/terminate', {}, token)
|
|
80
|
+
|
|
81
|
+
while awaitTillTerminated:
|
|
82
|
+
res = listClusters(token=token)['result']
|
|
83
|
+
z = [x for x in res if x['id'] == clusterId][0]
|
|
84
|
+
if z['status'] == 'stopped':
|
|
85
|
+
break
|
|
86
|
+
time.sleep(1)
|
|
87
|
+
|
|
88
|
+
return r
|
|
89
|
+
|
|
90
|
+
def getClusterInfo(clusterId, token):
|
|
91
|
+
res = listClusters(token=token)['result']
|
|
92
|
+
r = [x for x in res if x['id'] == clusterId]
|
|
93
|
+
if len(r) ==0:
|
|
94
|
+
raise ValueError('No cluster found for given id')
|
|
95
|
+
return r[0]
|
|
96
|
+
|
|
97
|
+
def listClusters(token, pageStart = None, listAll = True):
|
|
98
|
+
token = sanitize.validString('token', token, True)
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
body = { 'pageStart':pageStart }
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
def f(body):
|
|
105
|
+
return apiManager.get('/compute', body, token)
|
|
106
|
+
|
|
107
|
+
r = recurse(f, body, listAll)
|
|
108
|
+
for i in range(len(r['result'])):
|
|
109
|
+
if 'result' in r['result'][i]:
|
|
110
|
+
r['result'][i]['result'] = parseResults(r['result'][i]['result'])
|
|
111
|
+
return r
|
|
112
|
+
|
|
@@ -12,6 +12,15 @@ def add( name, token, parentId = None, publicAccess =None, metadata=None):
|
|
|
12
12
|
|
|
13
13
|
return apiManager.post('/path/vector', body, token)
|
|
14
14
|
|
|
15
|
+
def editRendering(pathId, maxZoom, token):
|
|
16
|
+
token = sanitize.validString('token', token, True)
|
|
17
|
+
pathId = sanitize.validUuid('parentId', pathId, True)
|
|
18
|
+
maxZoom = sanitize.validInt('maxZoom', maxZoom, True)
|
|
19
|
+
|
|
20
|
+
body = {"method":"vector tiles","parameters":{"zoom":maxZoom,"mb":2,"step":1000,"amount":1000},"centerPointOnly":False,"lod":6}
|
|
21
|
+
r = apiManager.put('/path/' + pathId + '/vector/renderOptions' , body, token)
|
|
22
|
+
return r
|
|
23
|
+
|
|
15
24
|
|
|
16
25
|
def editFilter(pathId, propertyFilter, token):
|
|
17
26
|
pathId = sanitize.validUuid('pathId', pathId, True)
|
|
@@ -13,6 +13,9 @@ from ellipsis.path import get as getInfo
|
|
|
13
13
|
|
|
14
14
|
import datetime
|
|
15
15
|
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
16
19
|
def add(pathId, token, properties = None, description = None, date ={'from': datetime.datetime.now(), 'to': datetime.datetime.now()}):
|
|
17
20
|
|
|
18
21
|
pathId = sanitize.validUuid('pathId', pathId, True)
|
|
@@ -150,7 +153,8 @@ def getFeaturesByIds(pathId, timestampId, featureIds, token = None, showProgress
|
|
|
150
153
|
sh = sh.to_crs('EPSG:' + str(epsg))
|
|
151
154
|
r['result'] = sh
|
|
152
155
|
return r
|
|
153
|
-
|
|
156
|
+
|
|
157
|
+
|
|
154
158
|
|
|
155
159
|
def getFeaturesByExtent(pathId, timestampId, extent, propertyFilter = None, token = None, listAll = True, pageStart = None, epsg = 4326, coordinateBuffer = None, onlyIfCenterPointInExtent = False):
|
|
156
160
|
pathId = sanitize.validUuid('pathId', pathId, True)
|
|
@@ -81,7 +81,7 @@ def validString(name, value, required):
|
|
|
81
81
|
return
|
|
82
82
|
|
|
83
83
|
if type(value) != type('x'):
|
|
84
|
-
raise ValueError(name + 'must be of type string')
|
|
84
|
+
raise ValueError(name + ' must be of type string')
|
|
85
85
|
return(value)
|
|
86
86
|
|
|
87
87
|
def validShapely(name, value, required):
|
|
@@ -317,6 +317,26 @@ def validFloatArray(name, value, required):
|
|
|
317
317
|
return value
|
|
318
318
|
|
|
319
319
|
|
|
320
|
+
def validDictArray(name, value, required):
|
|
321
|
+
if not required and type(value) == type(None):
|
|
322
|
+
return
|
|
323
|
+
|
|
324
|
+
try:
|
|
325
|
+
value = list(value)
|
|
326
|
+
|
|
327
|
+
except:
|
|
328
|
+
raise ValueError(name + ' must be an iterable')
|
|
329
|
+
|
|
330
|
+
types = np.array([(not 'dict' in str(type(x))) for x in value])
|
|
331
|
+
|
|
332
|
+
if np.sum(types) > 0:
|
|
333
|
+
raise ValueError(name + ' must be a list of dictionaries')
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
return value
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
|
|
320
340
|
def validIntArray(name, value, required):
|
|
321
341
|
if not required and type(value) == type(None):
|
|
322
342
|
return
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: ellipsis
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.50
|
|
4
4
|
Summary: Package to interact with the Ellipsis API
|
|
5
5
|
Home-page: https://github.com/ellipsis-drive-internal/python-package
|
|
6
6
|
Author: Daniel van der Maas
|
|
@@ -11,23 +11,6 @@ Classifier: Operating System :: OS Independent
|
|
|
11
11
|
Requires-Python: >=3.6
|
|
12
12
|
Description-Content-Type: text/markdown
|
|
13
13
|
License-File: LICENSE
|
|
14
|
-
Requires-Dist: pandas
|
|
15
|
-
Requires-Dist: Pillow
|
|
16
|
-
Requires-Dist: matplotlib
|
|
17
|
-
Requires-Dist: geopandas
|
|
18
|
-
Requires-Dist: pyproj
|
|
19
|
-
Requires-Dist: imageio
|
|
20
|
-
Requires-Dist: numpy
|
|
21
|
-
Requires-Dist: imagecodecs
|
|
22
|
-
Requires-Dist: requests
|
|
23
|
-
Requires-Dist: requests-toolbelt
|
|
24
|
-
Requires-Dist: rasterio
|
|
25
|
-
Requires-Dist: Shapely
|
|
26
|
-
Requires-Dist: geopy
|
|
27
|
-
Requires-Dist: scikit-image
|
|
28
|
-
Requires-Dist: Fiona
|
|
29
|
-
Requires-Dist: pygltflib
|
|
30
|
-
Requires-Dist: tifffile
|
|
31
14
|
|
|
32
15
|
# Ellipsis Drive Python Package
|
|
33
16
|
|
|
@@ -13,6 +13,8 @@ ellipsis/account/__init__.py
|
|
|
13
13
|
ellipsis/account/root.py
|
|
14
14
|
ellipsis/account/accessToken/__init__.py
|
|
15
15
|
ellipsis/account/accessToken/root.py
|
|
16
|
+
ellipsis/compute/__init__.py
|
|
17
|
+
ellipsis/compute/root.py
|
|
16
18
|
ellipsis/path/__init__.py
|
|
17
19
|
ellipsis/path/root.py
|
|
18
20
|
ellipsis/path/bookmark/__init__.py
|
|
@@ -5,10 +5,28 @@ import time
|
|
|
5
5
|
import numpy as np
|
|
6
6
|
import pandas as pd
|
|
7
7
|
|
|
8
|
+
from test.pointCloud import timestampId
|
|
9
|
+
|
|
10
|
+
el.path.folder.listFolder()
|
|
11
|
+
|
|
12
|
+
import dill
|
|
13
|
+
with open('/home/daniel/Downloads/nonTrivial.dill', "rb") as dill_file:
|
|
14
|
+
f = dill.load(dill_file)
|
|
15
|
+
f(r , None, None)
|
|
8
16
|
|
|
9
17
|
|
|
10
18
|
import os
|
|
11
19
|
|
|
20
|
+
token = 'epat_S8uBdcJ8GqjUeh5ycJqXurMKHYnrs5BZT002G4nWWQu6Enl6TrDvtAzK1I9RPQmk'
|
|
21
|
+
file = '/home/daniel/Ellipsis/db/zone0.tif'
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
pathId = 'cc889803-e643-4384-9b73-a89c8f09dd65'
|
|
25
|
+
timestampId = 'cc889803-e643-4384-9b73-a89c8f09dd65'
|
|
26
|
+
el.path.raster.timestamp.file.add(pathId=pathId, timestampId=timestampId, fileFormat='tif', filePath = file, token = token)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
12
30
|
file = '/home/daniel/Ellipsis/keys/admin'
|
|
13
31
|
with open(file,'r') as c:
|
|
14
32
|
password = c.read()
|
|
@@ -52,7 +70,18 @@ setDomains(pathId = pathId, token = daan_token, domains = ['hoi'])
|
|
|
52
70
|
setDomains(pathId = pathId, token = daan_token, domains = None)
|
|
53
71
|
|
|
54
72
|
|
|
73
|
+
####account
|
|
74
|
+
token = logIn('admin', 'k67cFGK1ued6aPP')
|
|
75
|
+
|
|
76
|
+
layers = [{'pathId':'07c6ad34-9e0b-494f-9c8c-3f5cfbc1b76f', 'timestampId':'7cf1c34b-b863-419f-9dd5-33eb6ab8b2ac'}]
|
|
77
|
+
clusterId = createCluster(layers = layers, token=token, requirements = ['numpy'], nodes = 2)['id']
|
|
55
78
|
|
|
79
|
+
def f(params):
|
|
80
|
+
r = params['7cf1c34b-b863-419f-9dd5-33eb6ab8b2ac']['raster']
|
|
81
|
+
z = np.max(r)
|
|
82
|
+
return z
|
|
83
|
+
|
|
84
|
+
out = execute(clusterId=clusterId, f=f, token = token)
|
|
56
85
|
|
|
57
86
|
|
|
58
87
|
###files
|
|
@@ -553,7 +582,7 @@ el.path.raster.timestamp.file.add(pathId = 'f3f55c63-4f22-4dac-8d96-cd9a38069ee2
|
|
|
553
582
|
sh = gpd.read_file('/home/daniel/Ellipsis/db/testset/buildings_mini')
|
|
554
583
|
b = BytesIO()
|
|
555
584
|
out = el.util.saveVector(features = sh, targetFile = b)
|
|
556
|
-
|
|
585
|
+
el.util.saveRaster()
|
|
557
586
|
el.path.vector.timestamp.file.add(pathId = 'c6a341e1-59bf-44f8-a0d7-0962415a8fa2', timestampId= 'ad490f78-0cf0-426e-9238-e0ef803c7371', token = token, fileFormat='gpkg', memFile=out, name = 'test.gpkg')
|
|
558
587
|
|
|
559
588
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/timestamp/feature/message/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ellipsis-3.1.48 → ellipsis-3.1.50}/ellipsis/path/vector/timestamp/feature/series/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
Fiona
|
|
2
2
|
Pillow
|
|
3
|
-
|
|
3
|
+
Shapely
|
|
4
4
|
geopandas
|
|
5
|
-
|
|
5
|
+
geopy
|
|
6
|
+
imagecodecs
|
|
6
7
|
imageio
|
|
8
|
+
matplotlib
|
|
7
9
|
numpy
|
|
8
|
-
|
|
10
|
+
pandas
|
|
11
|
+
pygltflib
|
|
12
|
+
pyproj
|
|
13
|
+
rasterio
|
|
9
14
|
requests
|
|
10
15
|
requests-toolbelt
|
|
11
|
-
rasterio
|
|
12
|
-
Shapely
|
|
13
|
-
geopy
|
|
14
16
|
scikit-image
|
|
15
|
-
Fiona
|
|
16
|
-
pygltflib
|
|
17
17
|
tifffile
|
|
File without changes
|
|
File without changes
|