Class GDALParser

  • All Implemented Interfaces:
    java.io.Serializable, Parser

    public class GDALParser
    extends AbstractParser
    Wraps execution of the Geospatial Data Abstraction Library (GDAL) gdalinfo tool used to extract geospatial information out of hundreds of geo file formats.

    The parser requires the installation of GDAL and for gdalinfo to be located on the path.

    Basic information (Size, Coordinate System, Bounding Box, Driver, and resource info) are extracted as metadata, and the remaining metadata patterns are extracted and added.

    The output of the command is available from the provided ContentHandler in the parse(InputStream, ContentHandler, Metadata, ParseContext) method.

    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      GDALParser()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getCommand()  
      java.util.Set<MediaType> getSupportedTypes​(ParseContext context)
      Returns the set of media types supported by this parser when used with the given parse context.
      void parse​(java.io.InputStream stream, org.xml.sax.ContentHandler handler, Metadata metadata, ParseContext context)
      Parses a document stream into a sequence of XHTML SAX events.
      java.lang.String processCommand​(java.io.InputStream stream)  
      void setCommand​(java.lang.String command)  
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • GDALParser

        public GDALParser()
    • Method Detail

      • setCommand

        public void setCommand​(java.lang.String command)
      • getCommand

        public java.lang.String getCommand()
      • processCommand

        public java.lang.String processCommand​(java.io.InputStream stream)
      • getSupportedTypes

        public java.util.Set<MediaType> getSupportedTypes​(ParseContext context)
        Description copied from interface: Parser
        Returns the set of media types supported by this parser when used with the given parse context.
        Parameters:
        context - parse context
        Returns:
        immutable set of media types
      • parse

        public void parse​(java.io.InputStream stream,
                          org.xml.sax.ContentHandler handler,
                          Metadata metadata,
                          ParseContext context)
                   throws java.io.IOException,
                          org.xml.sax.SAXException,
                          TikaException
        Description copied from interface: Parser
        Parses a document stream into a sequence of XHTML SAX events. Fills in related document metadata in the given metadata object.

        The given document stream is consumed but not closed by this method. The responsibility to close the stream remains on the caller.

        Information about the parsing context can be passed in the context parameter. See the parser implementations for the kinds of context information they expect.

        Parameters:
        stream - the document stream (input)
        handler - handler for the XHTML SAX events (output)
        metadata - document metadata (input and output)
        context - parse context
        Throws:
        java.io.IOException - if the document stream could not be read
        org.xml.sax.SAXException - if the SAX events could not be processed
        TikaException - if the document could not be parsed