Ejemplo n.º 1
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,
Ejemplo n.º 2
0

window = app.Window(2 * 960, 2 * 600, color=(1, 1, 1, 1))


@window.event
def on_draw(dt):
    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)
Ejemplo 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()
Ejemplo n.º 4
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)
Ejemplo n.º 5
0
Archivo: tiger.py Proyecto: jk34/glumpy

@window.event
def on_init():
    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, linewidth=stroke_width)
        if path.style.fill is not None:
            if path.style.stroke is None: