Importing lines
As we did with the geocaching points and political boundaries, we will implement the ability of the program to import lines (that is, linestrings). These lines can represent roads, rivers, power lines, and so on. With this kind of features, we will be able to search for points that are close to a given road for example.
The lines and the collection of lines will also be the subclasses of BaseGeoObject and BaseGeoCollection. Let's start by making a LineString and a LineStringCollection class, as follows:
Insert this new class into the
models.pyfile. It could be anywhere after the base classes' definition:class LineString(BaseGeoObject): """Represents a single linestring.""" def __repr__(self): return self.get_attribute('name')Again, we only implement the
__repr__method. The other functionalities are inherited from theBaseGeoObjectclass.Now, add the class representing a collection of linestrings and its
_parse_datamethod:class LineStringCollection(BaseGeoCollection...