To get some line and polygons into shapely I used My Maps at maps.google.com, exported it as KML and then used this little function:
def ExtractPoints(kml):
rv = {}
ns = "{http://earth.google.com/kml/2.2}"
tree = ElementTree()
tree.parse(kml)
for placemark in tree.findall(".//" + ns + "Placemark"):
name = placemark.findtext(ns + "name")
print "Found %s" % name
coordinates_text = placemark.findtext(ns + "LineString/" + ns + "coordinates")
coordinates = []
for point_text in coordinates_text.split():
floats = point_text.split(",")
coordinates.append((float(floats[0]), float(floats[1])))
if coordinates[0] == coordinates[-1]:
rv[name] = Polygon(coordinates)
else:
rv[name] = LineString(coordinates)
return rv
PS: I don't see a way to add a comment to Sean's answer but wonder why he didn't mention Keytree, which I found via another similar question: How do I find out if a given lat lon is in a KML Linear ring using shapely?How do I find out if a given lat lon is in a KML Linear ring using shapely?