Usted podría hacer esto con bastante facilidad en python usando pyshp: http://code.google.com/p/pyshp/
La forma en que he entendido su pregunta a la que usted está trabajando con un punto de shapefile y transformarlo en una línea de shapefile.
El código sería algo como esto:
import shapefile
# Read your points shapefile
r = shapefile.Reader("streetPoints.shp")
shapes = r.shapes()
records = r.records()
# Create the output shapefile
w = shapefile.Writer(shapefile.POLYLINE)
# Loop through the attributes and create line segments.
# There's probably better logic for this but it's a start
segments = []
# Get the field names from the dbf field descriptors
fieldnames = [n[0] for n in r.fields]
st = fieldnames.index("STREET")
d = fieldnames.index("END")
opp = {"WEST":"EAST", "NORTH":"SOUTH"}
# Build the connected segments based on corresponding points
for rec1 in records:
street = rec[st]
e = opp[rec[d]]
for rec2 in records:
if street in rec2 and e in rec2:
p1 = shapes[records.index(rec1)]
p2 = shapes[records.index(rec2)]
connect = [p1, p2, street]
if connect not in segments:
segments.append(connect)
w.field("STREET")
for seg in segments:
# add the start and end points
w.poly(parts=[ [ [[seg[0]], [seg[1]] ] ]
# add the street name as the attribute
w.record(seg[2])
# Produce a new shapefile
w.save("streetLines")
Este ejemplo es demasiado simplista y podría ser más eficiente con un poco de trabajo, pero esa es la idea básica. Si este es un proceso que planean repetir a menudo que sería, sin duda vale la pena un trabajo adicional y tal vez incluso la creación de un archivo ejecutable con PyInstaller si usted necesita darle a otras personas.
Si yo lo he entendido mal tu pregunta o estás teniendo problemas con la solución de sentirse libre de ponerse en contacto conmigo y me puede ayudar aún más.
Saludos,
Joel
twitter: spatialpython
web: geospatialpython.com