コード例 #1
0
ファイル: kml.py プロジェクト: capocchi/DEVSimPy-lib-gis
    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)
コード例 #2
0
ファイル: kml.py プロジェクト: capocchi/DEVSimPy-lib-gis
    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()
コード例 #3
0
ファイル: kml.py プロジェクト: capocchi/DEVSimPy-lib-gis
 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
コード例 #4
0
ファイル: kml.py プロジェクト: capocchi/DEVSimPy-lib-gis
    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()
コード例 #5
0
ファイル: kml.py プロジェクト: capocchi/DEVSimPy-lib-gis
 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)