def getModelSummaryAsWkt(self, session, withStreamNetwork=True, withNodes=False):
        """
        Retrieve a Well Known Text representation of the model. Includes polygonized mask map and vector stream network.

        Args:
            session (:mod:`sqlalchemy.orm.session.Session`): SQLAlchemy session object bound to PostGIS enabled database
            withStreamNetwork (bool, optional): Include stream network. Defaults to True.
            withNodes (bool, optional): Include nodes. Defaults to False.

        Returns:
            str: Well Known Text string
        """
        # Get mask map
        watershedMaskCard = self.getCard('WATERSHED_MASK')
        maskFilename = watershedMaskCard.value
        maskExtension = maskFilename.strip('"').split('.')[1]

        maskMap = session.query(RasterMapFile).\
                          filter(RasterMapFile.projectFile == self).\
                          filter(RasterMapFile.fileExtension == maskExtension).\
                          one()

        # Get mask map as a KML polygon
        statement = """
                    SELECT val, ST_AsText(geom) As polygon
                    FROM (
                    SELECT (ST_DumpAsPolygons({0})).*
                    FROM {1} WHERE id={2}
                    ) As foo
                    ORDER BY val;
                    """.format('raster', maskMap.tableName, maskMap.id)

        result = session.execute(statement)

        maskMapTextPolygon = ''
        for row in result:
            maskMapTextPolygon = row.polygon

        # Default WKT model representation string is a geometry collection with the mask map polygon
        wktString = 'GEOMCOLLECTION ({0})'.format(maskMapTextPolygon)

        if withStreamNetwork:
            # Get the channel input file for the stream network
            channelInputFile = self.channelInputFile

            # Some models may not have streams enabled
            if channelInputFile is not None:
                # Use the existing method on the channel input file to generate the stream network WKT
                wktStreamNetwork = channelInputFile.getStreamNetworkAsWkt(session=session, withNodes=withNodes)

                # Strip off the "GEOMCOLLECTION" identifier
                wktStreamNetwork = wktStreamNetwork.replace('GEOMCOLLECTION (', '')

                # Replace the WKT model representation string with a geometry collection with mask map
                # and all stream network components
                wktString = 'GEOMCOLLECTION ({0}, {1}'.format(maskMapTextPolygon, wktStreamNetwork)

        return wktString