In [1]:
import cesiumpy

In [2]:
points = [[140.446793, 36.341813],
          [139.883565, 36.565725],
          [139.060156, 36.391208],
          [139.648933, 35.857428],
          [140.123308, 35.605058],
          [139.691704, 35.689521],
          [139.642514, 35.447753]]

In [3]:
vor = cesiumpy.spatial.Voronoi(points)
polygons = vor.get_polygons()
polygons[0]


Out[3]:
Polygon([140.70970652380953, 35.78698294268851, 140.06610971077615, 36.06956523268194, 140.03367654609778, 36.1229878712242, 140.27531919409412, 36.730815523809525, 140.70970652380953, 36.730815523809525, 140.70970652380953, 35.78698294268851])

In [4]:
options = dict(animation=True, baseLayerPicker=False, fullscreenButton=False,
               geocoder=False, homeButton=False, infoBox=False, sceneModePicker=True,
               selectionIndicator=False, navigationHelpButton=False,
               timeline=False, navigationInstructionsInitiallyVisible=False)

In [5]:
viewer = cesiumpy.Viewer(**options)
colors = [cesiumpy.color.RED, cesiumpy.color.BLUE, cesiumpy.color.GREEN,
          cesiumpy.color.ORANGE, cesiumpy.color.PURPLE, cesiumpy.color.AQUA, cesiumpy.color.YELLOW]

for p, pol, c in zip(points, polygons, colors):
    b = cesiumpy.Point(position=(p[0], p[1], 0), color=c)
    viewer.entities.add(b)
    pol.material = c.set_alpha(0.5)
    pol.outline = True
    viewer.entities.add(pol)
viewer.camera.flyTo((139.8, 36, 3e5))
viewer


Out[5]:

In [6]:
conv = cesiumpy.spatial.ConvexHull(points)
polyline = conv.get_polyline()
polyline


Out[6]:
Polyline([139.060156, 36.391208, 139.642514, 35.447753, 140.123308, 35.605058, 140.446793, 36.341813, 139.883565, 36.565725, 139.060156, 36.391208])

In [7]:
viewer = cesiumpy.Viewer(**options)
viewer.entities.add(polyline)
viewer.camera.flyTo((139.8, 36, 3e5))
viewer


Out[7]:

In [ ]: