Пример #1
0
 def __str__(self):
     buf = [u'<Data name="{0}">'.format(Kmlable._chrconvert(self.name))]
     if self._kml['value'] is not None:
         buf.append("<value>{0}</value>".format(self._kml['value']))
     if self._kml['displayName'] is not None:
         buf.append(u"<displayName>{0}</displayName>".format(Kmlable._chrconvert(self._kml['displayName'])))
     buf.append('</Data>')
     return "".join(buf)
Пример #2
0
 def __str__(self):
     buf = [u'<Data name="{0}">'.format(Kmlable._chrconvert(self.name))]
     if self._kml['value'] is not None:
         buf.append("<value>{0}</value>".format(self._kml['value']))
     if self._kml['displayName'] is not None:
         buf.append(u"<displayName>{0}</displayName>".format(Kmlable._chrconvert(self._kml['displayName'])))
     buf.append('</Data>')
     return "".join(buf)
 def __str__(self):
     if self._kml['maxlines'] is not None:
         return u'<linkSnippet maxLines="{0}">{1}</linkSnippet>'.format(
             self._kml['maxlines'],
             Kmlable._chrconvert(self._kml['content']))
     else:
         return u'<linkSnippet>{0}</linkSnippet>'.format(
             Kmlable._chrconvert(self._kml['content']))
Пример #4
0
    def parsetext(self, parse=True):
        """Sets the behavior of how text tags are parsed.

        If True the values of the text tags (<name>, <description> and <text>)
        are escaped, so that the values are rendered properly. If False, the
        values are left as is. If the CDATA element is being used to escape
        the text strings, them set this to False.
        """
        Kmlable._parsetext(parse)
Пример #5
0
    def parsetext(self, parse=True):
        """Sets the behavior of how text tags are parsed.

        If True the values of the text tags (<name>, <description> and <text>)
        are escaped, so that the values are rendered properly. If False, the
        values are left as is. If the CDATA element is being used to escape
        the text strings, them set this to False.
        """
        Kmlable._parsetext(parse)
Пример #6
0
 def __str__(self):
     buf = [
         u'<SimpleField type="{0}" name="{1}">'.format(
             self.type, Kmlable._chrconvert(self.name))
     ]
     if self.displayname is not None:
         buf.append(u'<displayName>{0}</displayName>'.format(
             Kmlable._chrconvert(self.displayname)))
     buf.append('</SimpleField>')
     return "".join(buf)
    def kml(self, format=True):
        """
        Returns a string containing the KML.

        Keyword arguments:
        format (bool) -- format the resulting kml "prettyprint" (default True)

        """
        Kmlable._setkmz(False)
        return self._genkml(format)
Пример #8
0
    def parsetext(self, parse=True):
        """Sets the behavior of how text tags are parsed.

        If True the values of the text tags (<name>, <description> and <text>)
        are escaped, so that the values are rendered properly. If False, the
        values are left as is. In both cases the CDATA element is left unchanged.

        *Changed in version 1.1.0*
        """
        Kmlable._parsetext(parse)
Пример #9
0
    def kml(self, format=True):
        """
        Returns a string containing the KML.

        Keyword arguments:
        format (bool) -- format the resulting kml "prettyprint" (default True)

        """
        Kmlable._setkmz(False)
        return self._genkml(format)
Пример #10
0
    def savekmz(self, path, format=True):
        """Save the kml as a kmz to the given file supplied by `path`.

        The KML is saved to a file in a long string if `format=False` else it
        gets saved "prettyprinted" (as formatted xml), see
        :func:`simplekml.Kml.save` for an example.
        """
        Kmlable._setkmz()
        out = self._genkml(format).encode('utf-8')
        kmz = zipfile.ZipFile(path, 'w', zipfile.ZIP_DEFLATED)
        kmz.writestr("doc.kml", out)
        for image in Kmlable._getimages():
            kmz.write(image, os.path.join('files', os.path.split(image)[1]))
        kmz.close()
        Kmlable._clearimages()
    def save(self, path, format=True):
        """
        Save the kml to the given file supplied by path.

        Keyword arguments:
        path (string) -- the path of the kml file to be saved
        format (bool) -- format the resulting kml "prettyprint" (default True)

        """
        Kmlable._setkmz(False)
        out = self._genkml(format)
        f = codecs.open(path, 'wb', 'utf-8')
        try:
            f.write(out)
        finally:
            f.close()
Пример #12
0
    def save(self, path, format=True):
        """
        Save the kml to the given file supplied by path.

        Keyword arguments:
        path (string) -- the path of the kml file to be saved
        format (bool) -- format the resulting kml "prettyprint" (default True)

        """
        Kmlable._setkmz(False)
        out = self._genkml(format)
        f = codecs.open(path, 'wb', 'utf-8')
        try:
            f.write(out)
        finally:
            f.close()
    def savekmz(self, path, format=True):
        """
        Save the kml as a kmz file to the given file supplied by `path`.

        Keyword arguments:
        path (string) -- the path of the kmz file to be saved
        format (bool) -- format the resulting kml "prettyprint" (default True)

        """
        Kmlable._setkmz()
        out = self._genkml(format)
        kmz = zipfile.ZipFile(path, 'w', zipfile.ZIP_DEFLATED)
        kmz.writestr("doc.kml", out)
        for image in Kmlable._getimages():
            kmz.write(image, os.path.join('files', os.path.split(image)[1]))
        kmz.close()
        Kmlable._clearimages()
Пример #14
0
    def savekmz(self, path, format=True):
        """
        Save the kml as a kmz file to the given file supplied by `path`.

        Keyword arguments:
        path (string) -- the path of the kmz file to be saved
        format (bool) -- format the resulting kml "prettyprint" (default True)

        """
        Kmlable._setkmz()
        out = self._genkml(format)
        kmz = zipfile.ZipFile(path, 'w', zipfile.ZIP_DEFLATED)
        kmz.writestr("doc.kml", out)
        for image in Kmlable._getimages():
            kmz.write(image, os.path.join('files', os.path.split(image)[1]))
        kmz.close()
        Kmlable._clearimages()
Пример #15
0
 def __str__(self):
     buf = [
         u'<gx:SimpleArrayData name="{0}">'.format(
             Kmlable._chrconvert(self.name))
     ]
     for value in self.values:
         buf.append("<gx:value>{0}</gx:value>".format(value))
     buf.append("</gx:SimpleArrayData>")
     return "".join(buf)
Пример #16
0
    def addfile(self, path):
        """Adds an file to a KMZ and returns the path contained inside of the KMZ (files/...)

        This is useful for including images in a KMZ that are referenced from description balloons, as these files
        are not automatically included in a KMZ.

        Usage::

            import simplekml
            kml = simplekml.Kml()
            path = kml.addfile("a/path/to/somefile.file")
            pnt = pnt.newpoint()
            pnt.description = '<img src="' + path +'" alt="picture" width="400" height="300" align="left" />'

        *New in version 1.2.0*
        """
        Kmlable._addimage(path)
        return os.path.join('files', os.path.split(path)[1]).replace("\\", "/")
Пример #17
0
    def kml(self, format=True):
        """Returns the kml as a string or "prettyprinted" if `format = True`.

        PrettyPrinted Example (default)::

            import simplekml
            kml = simplekml.Kml()
            pnt = kml.newpoint(name='A Point')
            pnt.coords = [(1.0, 2.0)]
            print kml.kml()

        PrettyPrinted Result:

        .. code-block:: xml

            <?xml version="1.0" encoding="UTF-8"?>
            <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
                <Document id="feat_1">
                    <Placemark id="feat_2">
                        <name>A Point</name>
                        <Point id="geom_0">
                            <coordinates>1.0,2.0,0.0</coordinates>
                        </Point>
                    </Placemark>
                </Document>
            </kml>

        Single Line Example::

            import simplekml
            kml = simplekml.Kml()
            pnt = kml.newpoint(name='A Point')
            pnt.coords = [(1.0, 2.0)]
            print kml.kml(False)

        Single Line Result:

        .. code-block:: xml

            <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2"><Document id="feat_1"><Placemark id="feat_2"><name>A Point</name><Point id="geom_0"><coordinates>1.0,2.0,0.0</coordinates></Point></Placemark></Document></kml>

        """
        Kmlable._setkmz(False)
        return self._genkml(format)
Пример #18
0
    def save(self, path, format=True):
        """Save the kml to the given file supplied by `path`.

        The KML is saved to a file in one long string if `format=False` else it
        gets saved "prettyprinted" (as formatted xml). This works the same as :func:`simplekml.Kml.kml`

        Usage::

            import simplekml
            kml = simplekml.Kml()
            kml.save("Saving.kml")
            #kml.save("Saving.kml", False)  # or this
        """
        Kmlable._setkmz(False)
        out = self._genkml(format)
        f = codecs.open(path, 'wb', 'utf-8')
        try:
            f.write(out)
        finally:
            f.close()
Пример #19
0
 def _genkml(self, format=True):
     """Returns the kml as a string or "prettyprinted" if format = True."""
     kml_str = self._feature.__str__()
     xml_str = u("<kml {0}>{1}</kml>").format(Kmlable._getnamespaces(), kml_str)
     if format:
        KmlElement.patch()
        kml_str = xml.dom.minidom.parseString(xml_str.encode("utf-8"))
        KmlElement.unpatch()
        return kml_str.toprettyxml(indent="    ", newl="\n", encoding="UTF-8").decode("utf-8")
     else:
         return xml_str
Пример #20
0
 def _genkml(self, format=True):
     """Returns the kml as a string or "prettyprinted" if format = True."""
     kml_str = self._feature.__str__()
     xml_str = u("<kml {0}>{1}</kml>").format(Kmlable._getnamespaces(), kml_str)
     if format:
        KmlElement.patch()
        kml_str = xml.dom.minidom.parseString(xml_str.encode("utf-8"))
        KmlElement.unpatch()
        return kml_str.toprettyxml(indent="    ", newl="\n", encoding="UTF-8").decode("utf-8")
     else:
         return xml_str
Пример #21
0
 def __str__(self):
     buf = []
     if self.name is not None:
         buf.append(u'<Schema name="{0}" id="{1}">'.format(Kmlable._chrconvert(self.name), self._id))
     else:
         buf.append('<Schema id="{0}">'.format(self._id))
     for field in self.simplefields:
         buf.append(field.__str__())
     for field in self.gxsimplearrayfields:
         buf.append(field.__str__())
     buf.append('</Schema>')
     return "".join(buf)
Пример #22
0
    def savekmz(self, path, format=True):
        """Save the kml as a kmz to the given file supplied by `path`.

        The KML is saved to a file in a long string if `format=False` else it
        gets saved "prettyprinted". This works the same as :func:`simplekml.Kml.kml`

        Usage::

            import simplekml
            kml = simplekml.Kml()
            kml.savekmz("Saving.kml")
            #kml.savekmz("Saving.kml", False)  # or this
        """
        Kmlable._setkmz()
        out = self._genkml(format).encode('utf-8')
        kmz = zipfile.ZipFile(path, 'w', zipfile.ZIP_DEFLATED)
        kmz.writestr("doc.kml", out)
        for image in Kmlable._getimages():
            kmz.write(image, os.path.join('files', os.path.split(image)[1]))
        kmz.close()
        Kmlable._clearimages()
Пример #23
0
 def __str__(self):
     buf = []
     if self.name is not None:
         buf.append(u'<Schema name="{0}" id="{1}">'.format(Kmlable._chrconvert(self.name), self._id))
     else:
         buf.append('<Schema id="{0}">'.format(self._id))
     for field in self.simplefields:
         buf.append(field.__str__())
     for field in self.gxsimplearrayfields:
         buf.append(field.__str__())
     buf.append('</Schema>')
     return "".join(buf)
Пример #24
0
    def save(self, path, format=True):
        """Save the kml to the given file supplied by `path`.

        The KML is saved to a file in one long string if `format=False` else it
        gets saved "prettyprinted" (as formatted xml) as shown below:

        format=False:

        .. code-block:: xml

            <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0"><Document id="feat_1"><name>KmlUsage</name><Placemark id="feat_2"><name>Kirstenbosch</name><Point id="geom_0"><coordinates>18.432314,-33.988862,0.0</coordinates></Point></Placemark></Document></kml>

        format=True:
        
        .. code-block:: xml

            <?xml version="1.0" encoding="UTF-8"?>
            <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
                <Document id="feat_1">
                    <name>KmlUsage</name>
                    <Placemark id="feat_2">
                        <name>Kirstenbosch</name>
                        <Point id="geom_0">
                            <coordinates>18.432314,-33.988862,0.0</coordinates>
                        </Point>
                    </Placemark>
                </Document>
            </kml>

        """
        Kmlable._setkmz(False)
        out = self._genkml(format)
        f = codecs.open(path, 'wb', 'utf-8')
        try:
            f.write(out)
        finally:
            f.close()
Пример #25
0
 def _genkml(self, format=True):
     """Returns the kml as a string or "prettyprinted" if format = True."""
     kml_str = ""
     if self._feature is not None:
         kml_str = self._feature.__str__()
     networklinkcontrol_str = ""
     if self._networklinkcontrol is not None:
         networklinkcontrol_str = self._networklinkcontrol.__str__()
     if self._hint is not None:
         hint = ' hint="{0}"'.format(self._hint)
     else:
         hint = ''
     xml_str = u("<kml {0}{2}>{1}{3}</kml>").format(Kmlable._getnamespaces(), kml_str, hint, networklinkcontrol_str)
     if format:
        KmlElement.patch()
        kml_str = xml.dom.minidom.parseString(xml_str.encode("utf-8"))
        KmlElement.unpatch()
        return kml_str.toprettyxml(indent="    ", newl="\n", encoding="UTF-8").decode("utf-8")
     else:
         return xml_str
Пример #26
0
 def __str__(self):
     buf = [u'<SimpleField type="{0}" name="{1}">'.format(self.type, Kmlable._chrconvert(self.name))]
     if self.displayname is not None:
         buf.append(u'<displayName>{0}</displayName>'.format(Kmlable._chrconvert(self.displayname)))
     buf.append('</SimpleField>')
     return "".join(buf)
Пример #27
0
 def __str__(self):
     if self._kml['maxlines'] is not None:
         return u'<linkSnippet maxLines="{0}">{1}</linkSnippet>'.format(self._kml['maxlines'],Kmlable._chrconvert(self._kml['content']))
     else:
         return u'<linkSnippet>{0}</linkSnippet>'.format(Kmlable._chrconvert(self._kml['content']))
Пример #28
0
 def __str__(self):
     buf = [u'<gx:SimpleArrayData name="{0}">'.format(Kmlable._chrconvert(self.name))]
     for value in self.values:
         buf.append("<gx:value>{0}</gx:value>".format(value))
     buf.append("</gx:SimpleArrayData>")
     return "".join(buf)
Пример #29
0
 def __str__(self):
     return u'<SimpleData name="{0}">{1}</SimpleData>'.format(Kmlable._chrconvert(self.name), self.value)
Пример #30
0
 def __str__(self):
     return u'<SimpleData name="{0}">{1}</SimpleData>'.format(Kmlable._chrconvert(self.name), self.value)
Пример #31
0
 def kml(self, format=True):
     """Returns the kml as a string or "prettyprinted" if `format = True`, see :func:`simplekml.Kml.save` for an example."""
     Kmlable._setkmz(False)
     return self._genkml(format)