ellipsis 3.2.0__tar.gz → 3.2.2__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.

Files changed (80) hide show
  1. {ellipsis-3.2.0 → ellipsis-3.2.2}/PKG-INFO +1 -1
  2. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/__init__.py +1 -1
  3. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/apiManager.py +1 -1
  4. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/compute/__init__.py +1 -1
  5. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/compute/root.py +27 -7
  6. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/raster/timestamp/root.py +4 -3
  7. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/timestamp/file/__init__.py +1 -1
  8. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis.egg-info/PKG-INFO +1 -1
  9. {ellipsis-3.2.0 → ellipsis-3.2.2}/setup.py +1 -1
  10. {ellipsis-3.2.0 → ellipsis-3.2.2}/test/test.py +24 -1
  11. {ellipsis-3.2.0 → ellipsis-3.2.2}/LICENSE +0 -0
  12. {ellipsis-3.2.0 → ellipsis-3.2.2}/README.md +0 -0
  13. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/account/__init__.py +0 -0
  14. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/account/accessToken/__init__.py +0 -0
  15. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/account/accessToken/root.py +0 -0
  16. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/account/root.py +0 -0
  17. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/__init__.py +0 -0
  18. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/bookmark/__init__.py +0 -0
  19. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/bookmark/root.py +0 -0
  20. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/file/__init__.py +0 -0
  21. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/file/root.py +0 -0
  22. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/folder/__init__.py +0 -0
  23. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/folder/root.py +0 -0
  24. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/hashtag/__init__.py +0 -0
  25. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/hashtag/root.py +0 -0
  26. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/invite/__init__.py +0 -0
  27. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/invite/root.py +0 -0
  28. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/member/__init__.py +0 -0
  29. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/member/root.py +0 -0
  30. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/pointCloud/__init__.py +0 -0
  31. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/pointCloud/root.py +0 -0
  32. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/pointCloud/timestamp/__init__.py +0 -0
  33. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/pointCloud/timestamp/file/__init__.py +0 -0
  34. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/pointCloud/timestamp/file/root.py +0 -0
  35. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/pointCloud/timestamp/order/__init__.py +0 -0
  36. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/pointCloud/timestamp/order/root.py +0 -0
  37. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/pointCloud/timestamp/root.py +0 -0
  38. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/pointCloud/timestamp/util.py +0 -0
  39. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/raster/__init__.py +0 -0
  40. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/raster/root.py +0 -0
  41. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/raster/style/__init__.py +0 -0
  42. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/raster/style/root.py +0 -0
  43. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/raster/timestamp/__init__.py +0 -0
  44. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/raster/timestamp/file/__init__.py +0 -0
  45. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/raster/timestamp/file/root.py +0 -0
  46. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/raster/timestamp/order/__init__.py +0 -0
  47. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/raster/timestamp/order/root.py +0 -0
  48. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/raster/timestamp/util.py +0 -0
  49. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/root.py +0 -0
  50. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/setUpTask/__init__.py +0 -0
  51. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/setUpTask/root.py +0 -0
  52. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/usage/__init__.py +0 -0
  53. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/usage/root.py +0 -0
  54. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/__init__.py +0 -0
  55. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/featureProperty/__init__.py +0 -0
  56. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/featureProperty/root.py +0 -0
  57. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/root.py +0 -0
  58. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/style/__init__.py +0 -0
  59. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/style/root.py +0 -0
  60. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/timestamp/__init__.py +0 -0
  61. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/timestamp/feature/__init__.py +0 -0
  62. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/timestamp/feature/message/__init__.py +0 -0
  63. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/timestamp/feature/message/root.py +0 -0
  64. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/timestamp/feature/root.py +0 -0
  65. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/timestamp/feature/series/__init__.py +0 -0
  66. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/timestamp/feature/series/root.py +0 -0
  67. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/timestamp/file/root.py +0 -0
  68. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/timestamp/order/__init__.py +0 -0
  69. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/timestamp/order/root.py +0 -0
  70. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/path/vector/timestamp/root.py +0 -0
  71. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/sanitize.py +0 -0
  72. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/user/__init__.py +0 -0
  73. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/user/root.py +0 -0
  74. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/util/__init__.py +0 -0
  75. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis/util/root.py +0 -0
  76. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis.egg-info/SOURCES.txt +0 -0
  77. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis.egg-info/dependency_links.txt +0 -0
  78. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis.egg-info/requires.txt +0 -0
  79. {ellipsis-3.2.0 → ellipsis-3.2.2}/ellipsis.egg-info/top_level.txt +0 -0
  80. {ellipsis-3.2.0 → ellipsis-3.2.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ellipsis
3
- Version: 3.2.0
3
+ Version: 3.2.2
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
@@ -6,7 +6,7 @@ from ellipsis import user
6
6
  from ellipsis import path
7
7
  from ellipsis import util
8
8
  from ellipsis import compute
9
- __version__ = '3.2.0'
9
+ __version__ = '3.2.2'
10
10
 
11
11
 
12
12
 
@@ -140,7 +140,7 @@ def upload(url, filePath, body, token, key = 'data', memfile= None):
140
140
  raise ValueError(r.text)
141
141
  return r.json()
142
142
 
143
- def download(url, filePath, token = None, memfile = None):
143
+ def download(url, filePath=None, token = None, memfile = None):
144
144
  if type(token) == type(None):
145
145
  with requests.get(baseUrl + url, stream=True) as r:
146
146
  r.raise_for_status()
@@ -1 +1 @@
1
- from ellipsis.compute.root import createCompute, listComputes, execute
1
+ from ellipsis.compute.root import createCompute, listComputes, execute, terminatecompute, terminateAll, addToLayer
@@ -4,17 +4,19 @@ import time
4
4
 
5
5
  from ellipsis.util.root import recurse
6
6
  from ellipsis import sanitize
7
- from ellipsis import apiManager
8
7
  from ellipsis.account import getInfo
8
+ from ellipsis import apiManager
9
+ from ellipsis.path.raster.timestamp.file import add as addFile
10
+ from ellipsis.path.raster.timestamp import activate
11
+ from io import BytesIO
9
12
 
10
-
11
- def createCompute(layers, token, nodes=None, interpreter='python3.12', requirements= [], awaitTillStarted = True):
13
+ def createCompute(layers, token, nodes=None, interpreter='python3.12', requirements= [], awaitTillStarted = True, largeResult = False):
12
14
  layers = sanitize.validDictArray('layers', layers, True)
13
15
  token = sanitize.validString('token', token, True)
14
16
  nodes = sanitize.validInt('nodes', nodes, False)
15
17
  interpreter = sanitize.validString('interpreter', interpreter, True)
16
18
  requirements = sanitize.validStringArray('requirements', requirements, False)
17
-
19
+ largeResult = sanitize.validBool('largeResult', largeResult, True)
18
20
  if type(nodes) == type(None):
19
21
  info = getInfo(token=token)
20
22
  nodes = info['plan']['maxComputeNodes']
@@ -23,7 +25,7 @@ def createCompute(layers, token, nodes=None, interpreter='python3.12', requireme
23
25
 
24
26
  requirements = "\n".join(requirements)
25
27
 
26
- body = {'layers':layers, 'interpreter':interpreter, 'nodes':nodes, 'requirements':requirements}
28
+ body = {'layers':layers, 'interpreter':interpreter, 'nodes':nodes, 'requirements':requirements, 'largeResult': largeResult}
27
29
  r = apiManager.post('/compute', body, token)
28
30
 
29
31
  computeId = r['id']
@@ -64,7 +66,8 @@ def execute(computeId, f, token, awaitTillCompleted=True):
64
66
  if x['type'] == 'exception':
65
67
  raise x['value']
66
68
 
67
- values = [x['value'] for x in r['result']]
69
+
70
+ values = [ '/compute/' + computeId + '/file/'+ x['value'] if x['type'] == 'file' else x['value'] for x in r['result']]
68
71
  return values
69
72
 
70
73
  def parseResults(r):
@@ -133,6 +136,23 @@ def listComputes(token, pageStart = None, listAll = True):
133
136
  r = recurse(f, body, listAll)
134
137
  for i in range(len(r['result'])):
135
138
  if 'result' in r['result'][i]:
136
- r['result'][i]['result'] = parseResults(r['result'][i]['result'])
139
+ r['result'][i]['result'] = parseResults(r['result'][i]['result'])
137
140
  return r
138
141
 
142
+ def addToLayer(response, pathId, timestampId, token):
143
+ pathId = sanitize.validUuid('pathId', pathId, True)
144
+ timestampId = sanitize.validUuid('timestampId', timestampId, True)
145
+ token = sanitize.validString('token', token, True)
146
+
147
+ for url in response:
148
+ memfile = downloadFile(url, token)
149
+ addFile(pathId = pathId, timestampId=timestampId, token = token, fileFormat='tif', memFile=memfile, name='out.tif')
150
+ activate(pathId=pathId, timestampId=timestampId, token=token)
151
+
152
+
153
+
154
+ def downloadFile(url, token):
155
+ memfile = BytesIO()
156
+ apiManager.download(url = url, filePath='', memfile=memfile, token = token)
157
+ memfile.seek(0)
158
+ return memfile
@@ -6,7 +6,6 @@ from ellipsis.util.root import reprojectRaster
6
6
  from ellipsis.path.raster.timestamp.util import constructImage
7
7
  from ellipsis.path.raster.timestamp.util import cutOfTilesPerZoom
8
8
 
9
- from rasterio.io import MemoryFile
10
9
  from skimage.transform import resize
11
10
  import json
12
11
  import numpy as np
@@ -31,6 +30,8 @@ def getSampledRaster(pathId, timestampId, extent, width, height, epsg=3857, toke
31
30
  epsg = sanitize.validInt('epsg', epsg, True)
32
31
 
33
32
  res = getActualExtent(extent['xMin'], extent['xMax'], extent['yMin'], extent['yMax'], 'EPSG:' + str(epsg))
33
+ #res = getActualExtent(minx = extentWeb['xMin'], maxx = extentWeb['xMax'], miny = extentWeb['yMin'], maxy = extentWeb['yMax'], crs = 'EPSG:3857', out_crs = 4326)
34
+ #extent = res['message']
34
35
 
35
36
  if res['status'] == '400':
36
37
  raise ValueError('Invalid epsg and extent combination')
@@ -46,7 +47,7 @@ def getSampledRaster(pathId, timestampId, extent, width, height, epsg=3857, toke
46
47
 
47
48
 
48
49
  r = tifffile.imread(BytesIO(r.content))
49
-
50
+ #np.unique(r)
50
51
  r = np.transpose(r, [2,0,1])
51
52
 
52
53
 
@@ -328,8 +329,8 @@ def getRaster(pathId, timestampId, extent, token = None, showProgress = True, ep
328
329
  y_index = tileY - y1_osm
329
330
 
330
331
  r = iterate(fetch, 0, tileX, tileY)
332
+ r_total[0:r.shape[0],y_index*w:(y_index+1)*w,x_index*w:(x_index+1)*w] = r
331
333
 
332
- r_total[:,y_index*w:(y_index+1)*w,x_index*w:(x_index+1)*w] = r
333
334
  I = I + 1
334
335
  if showProgress:
335
336
  loadingBar(I, len(tiles))
@@ -1,2 +1,2 @@
1
- from ellipsis.path.vector.timestamp.file.root import get, add, download
1
+ from ellipsis.path.vector.timestamp.file.root import get, add, download, revert, recover, delete
2
2
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ellipsis
3
- Version: 3.2.0
3
+ Version: 3.2.2
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
@@ -6,7 +6,7 @@ with open("README.md", "r") as fh:
6
6
 
7
7
  setuptools.setup(
8
8
  name="ellipsis",
9
- version="3.2.0",
9
+ version="3.2.2",
10
10
  author="Daniel van der Maas",
11
11
  author_email="daniel@ellipsis-drive.com",
12
12
  description="Package to interact with the Ellipsis API",
@@ -307,7 +307,7 @@ el.path.delete(mapId, admin_token)
307
307
  ##raster information retrieval
308
308
 
309
309
  import ellipsis as el
310
- token = el.account.logIn('admin', 'aEUZXm4jzXW6GnQHUyrl')
310
+ token = el.account.logIn('demo_user', 'demo_user')
311
311
 
312
312
 
313
313
  mapId = '0ce1a67a-3d10-4970-967b-c8880e3c7d67'
@@ -606,3 +606,26 @@ seriesData['x'].values[4] = np.nan
606
606
  el.path.vector.timestamp.feature.series.add(pathId = layerId, timestampId = timestampId, uploadAsFile = True, seriesData=seriesData, token=token)
607
607
 
608
608
  t = pd.read_csv('/home/daniel/Downloads/test.csv')
609
+
610
+
611
+ import ellipsis as el
612
+ pathId = '3a5351e8-0333-47c6-9124-06b9971c9f99'
613
+ timestampId = '78c9a95a-57a7-4db6-a029-33c85a3f75e3'
614
+
615
+ token = el.account.logIn('demo_user', 'demo_user')
616
+
617
+ #wijzig alle namen binnen een extent
618
+
619
+ #haal de huidige features op
620
+ extent = {'xMin':2, 'xMax':6, 'yMin':53, 'yMax':54}
621
+ features = el.path.vector.timestamp.getFeaturesByExtent(pathId, timestampId, extent)['result']
622
+ featuresIds = features['id'].values
623
+ #update de features hoe je wil
624
+ features['bottum'] = 'up'
625
+ #submit de aangepaste features
626
+ el.path.vector.timestamp.feature.edit(pathId, timestampId, featureIds, token, newFeatures)
627
+
628
+ import ellipsis as el
629
+ r = el.path.raster.timestamp.getRaster(pathId = '07125c90-bfde-4036-b85e-b1fdee861ca6', timestampId= 'aa23ec66-91bb-4276-a98c-1b45b6a962fb', extent= {'xMin':70.75458, 'yMin':29.17649 , 'xMax':81.69791, 'yMax': 31.97394 }, epsg=4326)
630
+
631
+ el.util.plotRaster(r['raster'])
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes