Exemplo n.º 1
0
    window.clear()
    polys.draw()
    paths.draw()


Albers = ConicEqualArea(scale=2 * 1285,
                        parallels=(29.5, 45.5),
                        rotate=(96, 0),
                        translate=(0, 0),
                        center=(0.38, -0.41))
transform = PanZoom(OrthographicProjection(Albers(Position()), aspect=1))
paths = PathCollection("agg+",
                       transform=transform,
                       linewidth='shared',
                       color="shared")
polys = PolygonCollection("raw", transform=transform, color="shared")

with open(data.get("us.json"), 'r') as file:
    topology = json.load(file)

scale = topology['transform']['scale']
translate = topology['transform']['translate']
arcs = topology["arcs"]

linewidth = 2.5
color = 0.0, 0.0, 0.0, 1.0
land = topology["objects"]["land"]
for coords in geometry(land, arcs, scale, translate)["coordinates"]:
    for path in coords:
        V = np.zeros((len(path), 3))
        V[:, :2] = np.array(path)
Exemplo n.º 2
0
    gl.glEnable(gl.GL_DEPTH_TEST)


@window.event
def on_key_press(key, modifiers):
    if key == app.window.key.SPACE:
        transform.reset()


transform = PanZoom(OrthographicProjection(Position(), yinvert=True),
                    aspect=None)
paths = PathCollection("agg+",
                       transform=transform,
                       linewidth='shared',
                       color="shared")
polygons = PolygonCollection("agg", transform=transform)

z = 0
for path in tiger.paths:
    for vertices, closed in path.vertices:
        if len(vertices) < 3:
            continue
        if path.style.stroke is not None:
            vertices[:, 2] = z + 0.5
            if path.style.stroke_width:
                stroke_width = path.style.stroke_width.value
            else:
                stroke_width = 2.0
            paths.append(vertices,
                         closed=closed,
                         color=path.style.stroke.rgba,
Exemplo n.º 3
0
@window.event
def on_mouse_release(x, y, button):
    global P
    if len(paths) > 0: del paths[0]
    if len(polys) > 0: del polys[0]
    if len(P):
        paths.append(np.array(P), closed=True)
        polys.append(np.array(P))


@window.event
def on_mouse_drag(x, y, dx, dy, button):
    global P
    P.append((x, window.height - y, 0))
    if len(paths) > 0: del paths[0]
    paths.append(np.array(P), closed=False)


transform = OrthographicProjection(Position())

paths = PathCollection(mode="agg", transform=transform)
polys = PolygonCollection(mode="agg", transform=transform, color="global")
paths["linewidth"] = 1.0
paths["color"] = 0.0, 0.0, 0.0, 1.00
polys["color"] = 0.0, 0.0, 0.0, 0.10

window.attach(paths["transform"])
window.attach(paths["viewport"])
app.run()