Using Python, an Interactive Open-Source Programming Language, for Planetary Data Processing

Total Page:16

File Type:pdf, Size:1020Kb

Using Python, an Interactive Open-Source Programming Language, for Planetary Data Processing 44th Lunar and Planetary Science Conference (2013) 2226.pdf USING PYTHON, AN INTERACTIVE OPEN-SOURCE PROGRAMMING LANGUAGE, FOR PLANETARY DATA PROCESSING. J. Laura1,2, T. M. Hare2, and L. R. Gaddis2, 1School of Geographical Sciences and Urban Planning, Arizona State University, Tempe, AZ; 2Astrogeology Science Center, U.S. Geological Survey, Flagstaff, AZ. ([email protected]). Introduction: Python is an open-source program- example, is optimized for high-speed, vectorized com- ming language ideally suited to perform planetary data putation using well known C libraries. analysis, processing, and exploration. Python is epi- Finally, the ability to rapidly develop code in Py- tomized by rapid code development, an iterative work- thon means that it is an ideal sandbox language that flow, and source readability. Python offers a variety of supports code and algorithm testing prior to imple- freely available libraries to generate interactive visual- mentation in other software packages. For example, izations, perform complex data analysis, and collabor- image analysis algorithms implemented in Python can atively share repeatable results with colleagues. Here be readily tested for validity and usability prior to be- we describe the use of Python as a language for de- ing ported to C++ for integration into a package like velopers and describe the key features of Python for the USGS ISIS3 [4] or IDL for ENVI. planetary researchers. We then discuss three use cases Science Team Support. Python is pre-installed or for which Python has provided an ideal development deployable using either apt-get or binaries on all mod- and deployment environment: as a language used to ern platforms. Installation of multiple additional mod- develop a stand-alone image analysis suite, as an inter- ules can be challenging, but is simplified by the use of active environment for data exploration, and as a de- EPD (Enthought Python Distribution). EPD is free for velopment platform for small scale data visualization academic users and provides an all-in-one deployment and large scale model derivation. that includes all of the modules described above. End- Python is Ideal for Developers: Python provides a user support using EPD requires only a simple binary rapid, interactive development environment that does installation for all platforms and the briefest introduc- not require code compiling. This environment fosters a tion to the command line. Alternatively, Python code simple workflow (e.g., implement, test, refactor, util- can be wrapped into a Windows executable or OSX ap- ize) that facilitates efficient code prototyping and de- plication and shipped with dependencies included. livery. For example, code can be rapidly developed Python is Ideal for Scientists: Beyond rapid de- and delivered with loose requirement specifications, velopment and associated lower costs, Python provides then iteratively refactored with input from science an interactive environment for data exploration, ana- users as needs are refined. Python is easily learned by lysis, and visualization. For example, IPython allows new users because of two development principles: (1) for 'open, collaborative, reproducible scientific com- code should be human readable and (2) code should be puting' through the use of interactive visualization, a explicit in its implementation [1]. web notebook to store 'code, text, mathematical ex- Python offers a variety of open-source code librar- pressions, inline plots' and '[e]asy to use, high perform- ies that can greatly simplify development. NumPy ance tools for parallel computing' [5]. (Numerical Python) and SciPy (Scientific Python) Image Analysis: PyStretch is a processing and ana- provide a suite of tools for working with raster (array) lysis tool built entirely in Python. At its core, PyStretch data suitable for image analysis. GDAL (Geospatial provides a means to manipulate images larger than Data Abstraction Library) provides access to over 120 available system memory (e.g., 4 GB) while maintain- image data formats, including PDS, ISIS2/3, FITS, ing essential geospatial data properties such as projec- ENVI, Jpeg2000, Png and Tiff [2]. MatPlotLib, Pan- tion, cell size, and image coordinate system [6, 7]. To das, and Basemap libraries provide standard and carto- perform this processing, images are first ingested using graphic data visualization tools. Taken together, these GDAL and converted to arrays. Each array is then seg- libraries integrate into a highly effective processing mented twice, first into subsections that fit into the sys- suite for scientific data exploration, visualization, and tem’s available memory (GB of RAM), and then again analysis. into smaller chunks in preparation for multiprocessing. Python's relatively slow dynamic code execution This transformation from on-disk geospatial image to speed compared to traditional compiled languages is an an array stored in RAM occurs completely in shared oft-cited shortcoming [3]. However, Python provides memory space and does not require any image duplica- multiprocessing options that allow for rapid imple- tion. The implications are that processing times are re- mentation of high level multi-core code. Additionally, duced substantially as disk I/O is slower than in- many Python libraries are wrappers for underlying C memory processing. Once distributed, image subsec- code, which offers improvements in speed. NumPy, for tions are processed using a variety of included al- 44th Lunar and Planetary Science Conference (2013) 2226.pdf gorithms (e.g., linear and non-linear stretches or filters) the observed fissure vent onto a flat-surface mosaic and written to disk. In addition to pixel manipulation, and then an elevation model of the lunar surface [11, data products can be scaled, reformatted, and altered in 12]. First, a basic model ejecting particulates from a data type (e.g., 32-bit to 16-bit). single point onto a planar, Equirectangular projected, PyStretch has been tested internally on a dual-core, surface was coded and tested. Users define ejection 4GB RAM, MacBook Pro processing a 522MB 8-Bit angle and velocity ranges along with the number of se- GeoTiff image in 0:15 seconds, a 1GB 32-bit GeoTiff quentially ejected points. Existing Python libraries in 1:02 minutes, and an 8.88GB Compressed GeoTiff (MatplotLib, Basemap, & NumPy) were used to rap- (16.99GB uncompressed) in 12:13 minutes. These idly prototype a geospatial visualization that depicts times are expected to improve substantially with the point particulate landing sites. A second iteration of the next rollout of PyStretch. This use case example high- code introduced a linear ejection feature, randomly se- lights the ability for Python to leverage outside librar- lecting a potential ejection point, as well as topograph- ies to perform planetary data analysis, the use of mul- ic impact checking, using GDAL to extract a topo- ti-core processing to facilitate analysis of large data graphic profile from the WAC DTM. This iteration sets, and the ability to perform complex computation also included a point-density visualization, with user at speeds comparable to compiled software solutions. definable grid size. A final iteration provided the HyperSpectral Image Analysis: The science team means to write the model output to a shapefile, with of the Mars Reconnaissance Orbiter (MRO) CRISM each point tagged with a temporal identifier, using hyperspectral instrument has published more than 40 either a single core, or all available cores (multipro- algorithms to create derived spectral parameter cessing). This allows for rapid 3D visualization of hun- products [e.g., 8]. Many of these are sufficiently com- dreds of thousands of particulate depositions. The abil- plex that a command-line implementation is most suit- ity for the science team to interactively test low num- able. Others are ideal for interactive data exploration. bers of particulate deposition over the WAC basemap For example, ICER2 is a simple band ratio of the mosaic, iteratively test ejection angle and velocity CRISM 2350µm band and the 2600µm band to high- combinations, and finally run large scale models output light CO2 ice on the Mars surface. Although the as a shapefile was particularly beneficial. This use CRISM team uses Exelis' ENVI application, the open- case example highlights the potential to iteratively source IPython suite provides a simple, cost-effective design and develop interactive visualizations for the solution for deriving these CRISM spectral data exploration of planetary surface processes through the products. integration of existing, tested, Python libraries as well IPython offers an interactive Python shell and an as the potential to develop low overhead visualizations integrated command line shell, so one can access a text that promote an integrated, single application, science editor (vim, nano), GDAL command line tools, and all workflow. available Python modules. To perform the ICER2 band Conclusion: Python offers a development and data ratio, users can simply download their desired image, analysis platform ideal for scientific analysis of planet- determine the band numbers that represent 2350µm ary data. The potential unique nature of planetary data and 2600µm using the appropriate wavelength.tab is not insurmountable and three usage examples lookup table, read each band as a NumPy array, derive provide an overview of the potential benefits achiev- the ratio using standard mathematical notation able using Python. (Array_1/Array_2), and write the
Recommended publications
  • Package 'Rgdal'
    Package ‘rgdal’ September 16, 2021 Title Bindings for the 'Geospatial' Data Abstraction Library Version 1.5-27 Date 2021-09-16 Depends R (>= 3.5.0), methods, sp (>= 1.1-0) Imports grDevices, graphics, stats, utils LinkingTo sp Suggests knitr, DBI, RSQLite, maptools, mapview, rmarkdown, curl, rgeos NeedsCompilation yes Description Provides bindings to the 'Geospatial' Data Abstraction Li- brary ('GDAL') (>= 1.11.4) and access to projection/transformation opera- tions from the 'PROJ' library. Please note that 'rgdal' will be retired by the end of 2023, plan tran- sition to sf/stars/'terra' functions using 'GDAL' and 'PROJ' at your earliest conve- nience. Use is made of classes defined in the 'sp' package. Raster and vector map data can be im- ported into R, and raster and vector 'sp' objects exported. The 'GDAL' and 'PROJ' libraries are ex- ternal to the package, and, when installing the package from source, must be correctly in- stalled first; it is important that 'GDAL' < 3 be matched with 'PROJ' < 6. From 'rgdal' 1.5-8, in- stalled with to 'GDAL' >=3, 'PROJ' >=6 and 'sp' >= 1.4, coordinate reference sys- tems use 'WKT2_2019' strings, not 'PROJ' strings. 'Windows' and 'macOS' binaries (includ- ing 'GDAL', 'PROJ' and their dependencies) are provided on 'CRAN'. License GPL (>= 2) URL http://rgdal.r-forge.r-project.org, https://gdal.org, https://proj.org, https://r-forge.r-project.org/projects/rgdal/ SystemRequirements PROJ (>= 4.8.0, https://proj.org/download.html) and GDAL (>= 1.11.4, https://gdal.org/download.html), with versions either (A) PROJ < 6 and GDAL < 3 or (B) PROJ >= 6 and GDAL >= 3.
    [Show full text]
  • Comparison of Open Source Virtual Globes
    FOSS4G 2010 Comparison of Open Source Virtual Globes Mathias Walker Pirmin Kalberer Sourcepole AG, Bad Ragaz www.sourcepole.ch FOSS4G Barcelona 7.-9.9.10 Comparison of Open Source Virtual Globes About Sourcepole > GIS-Knoppix: first GIS live-CD > QGIS > Core developer > QGIS Mapserver > OGR / GDAL > Interlis driver > schema support for PostGIS driver > Ruby on Rails > MapLayers plugin > Mapfish server plugin FOSS4G Barcelona 7.-9.9.10 Comparison of Open Source Virtual Globes Overview > Multi-platform Open Source Virtual Globes > Installation > out-of-the-box application > Adding user data > Features > Demo movie > Comparison > User data > Technology > Desired Virtual Globe features FOSS4G Barcelona 7.-9.9.10 Comparison of Open Source Virtual Globes Open Source Virtual Globes > NASA World Wind Java SDK > ossimPlanet > gvSIG 3D > osgEarth > Norkart Virtual Globe > Earth3D > Marble > comparison to Google Earth FOSS4G Barcelona 7.-9.9.10 Comparison of Open Source Virtual Globes Test user data > Test data of Austrian skiing region Lech > projection: WGS84 (EPSG:4326) > OpenStreetMap WMS > winter orthophoto > GeoTiff, 20cm resolution, 4.5GB > KML Tile Cache > ski lifts, ski slopes, cable cars and POIs > KML > Shapefile > elevation (ASTER) > GeoTiff, ~30m resolution, 445MB FOSS4G Barcelona 7.-9.9.10 Comparison of Open Source Virtual Globes NASA World Wind Java SDK > created by NASA's Learning Technologies project > now developed by NASA staff and open source community developers FOSS4G Barcelona 7.-9.9.10 Comparison of Open Source Virtual Globes
    [Show full text]
  • Python Scripting for Spatial Data Processing
    Python Scripting for Spatial Data Processing. Pete Bunting and Daniel Clewley Teaching notes on the MSc's in Remote Sensing and GIS. May 4, 2013 Aberystwyth University Institute of Geography and Earth Sciences. Copyright c Pete Bunting and Daniel Clewley 2013. This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons. org/licenses/by-sa/3.0/. i Acknowledgements The authors would like to acknowledge to the supports of others but specifically (and in no particular order) Prof. Richard Lucas, Sam Gillingham (developer of RIOS and the image viewer) and Neil Flood (developer of RIOS) for their support and time. ii Authors Peter Bunting Dr Pete Bunting joined the Institute of Geography and Earth Sciences (IGES), Aberystwyth University, in September 2004 for his Ph.D. where upon completion in the summer of 2007 he received a lectureship in remote sensing and GIS. Prior to joining the department, Peter received a BEng(Hons) in software engineering from the department of Computer Science at Aberystwyth University. Pete also spent a year working for Landcare Research in New Zealand before rejoining IGES in 2012 as a senior lecturer in remote sensing. Contact Details EMail: [email protected] Senior Lecturer in Remote Sensing Institute of Geography and Earth Sciences Aberystwyth University Aberystwyth Ceredigion SY23 3DB United Kingdom iii iv Daniel Clewley Dr Dan Clewley joined IGES in 2006 undertaking an MSc in Remote Sensing and GIS, following his MSc Dan undertook a Ph.D. entitled Retrieval of Forest Biomass and Structure from Radar Data using Backscatter Modelling and Inversion under the supervision of Prof.
    [Show full text]
  • GRASS GIS 6.3 Command List
    d.erase Erase the contents of the active display frame with user defined color d.extend Set window region so that all currently displayed raster, vector and sites maps can be shown in a monitor. d.extract Select and extract vectors with mouse into new vector map d.font.freetype Selects the font in which text will be displayed on the user’s graphics monitor. d.font Selects the font in which text will be displayed on the user’s graphics monitor. d.frame Manages display frames on the user’s graphics monitor. GRASS GIS 6.3 Command list d.geodesic Displays a geodesic line, tracing the shortest distance between two geographic points 20 Novermber 2006 along a great circle, in a longitude/latitude data set. d.graph Program for generating and displaying simple graphics on the display monitor. d.grid Overlays a user-specified grid in the active display frame on the graphics monitor. Command types: d.his Displays the result obtained by combining hue, intensity, and saturation (his) values from user-specified input raster map layers. d.* display commands d.histogram Displays a histogram in the form of a pie or bar chart for a user-specified raster file. db.* database commands d.info Display information about the active display monitor g.* general commands d.labels Displays text labels (created with v.label) to the active frame on the graphics monitor. i.* imagery commands d.legend Displays a legend for a raster map in the active frame of the graphics monitor. m.* miscellanous commands d.linegraph Generates and displays simple line graphs in the active graphics monitor display ps.* postscript commands frame.
    [Show full text]
  • The State of Open Source GIS
    The State of Open Source GIS Prepared By: Paul Ramsey, Director Refractions Research Inc. Suite 300 – 1207 Douglas Street Victoria, BC, V8W-2E7 [email protected] Phone: (250) 383-3022 Fax: (250) 383-2140 Last Revised: September 15, 2007 TABLE OF CONTENTS 1 SUMMARY ...................................................................................................4 1.1 OPEN SOURCE ........................................................................................... 4 1.2 OPEN SOURCE GIS.................................................................................... 6 2 IMPLEMENTATION LANGUAGES ........................................................7 2.1 SURVEY OF ‘C’ PROJECTS ......................................................................... 8 2.1.1 Shared Libraries ............................................................................... 9 2.1.1.1 GDAL/OGR ...................................................................................9 2.1.1.2 Proj4 .............................................................................................11 2.1.1.3 GEOS ...........................................................................................13 2.1.1.4 Mapnik .........................................................................................14 2.1.1.5 FDO..............................................................................................15 2.1.2 Applications .................................................................................... 16 2.1.2.1 MapGuide Open Source...............................................................16
    [Show full text]
  • From GDAL to SAGA: Tips & Tricks from the World of Open Source
    From GDAL to SAGA: Tips & Tricks from the World of Open Source Trevor Hobbs Resource Information Manager Huron-Manistee National Forests From GDAL to SAGA: Tips & Tricks from the World of Open Source Trevor Hobbs Resource Information Manager Director of Location Intelligence Huron-Manistee National Forests Purpose of this Presentation • Provide a brief introduction to a variety of open source GIS software • Serve as a reference to links and documentation • DEMO– LiDAR data processing using Open Source GIS • Relate open source GIS workflows to ESRI workflows • Promote greater awareness of open source GIS at IMAGIN Application Soft Launch – Michigan Forest Viewer, LiDAR Derivative Products served as WMTS layers through Amazon Web Services What is “Open Source” GIS? From the Open Source Geospatial Foundation… Technical • Open Source: a collaborative approach to Geospatial software development Documentation Release • Open Data: freely available information to use as you wish Collaborative Sustainable • Open Standards: avoid lock-in with interoperable Open Source Participatory software Social Open Developers Fair • Open Education: Removing the barriers to Community Guide learning and teaching Open Source Geospatial Foundation https://www.osgeo.org/ My Journey to Open Source… • Think geo-centric solutions, not software-centric solutions • International community of geospatial professionals from all backgrounds • Transparency builds trust Where do I get the Software? OSGeo Installation… • Link to download… https://qgis.org/en/site/forusers/download.html
    [Show full text]
  • Proof of Concept and State of the Art in FOSS Geospatial Technology
    Field Information Geospatial-database System (FIGS) for the United Nations Office for Coordination of Humanitarian Affairs (OCHA) Proof of concept and state of the art in FOSS Geospatial Technology Report by Sean Ahearn, Ph.D., Hunter College - CUNY David Almeida, Hunter College CUNY Software Engineer, TTSI Mark Gahegan, Ph.D. Pennsylvania State University To Mr. Suha Ulgen Technical Coordinator Field Information Support Project Office for the Coordination of Humanitarian Affairs One UN Plaza DC1-1368 New York, NY 10017 March 2006 FIGS Working Group Document: Proof of Concept and state of the art in FOSS 1 Geospatial Technology 3/15/2006 Table of Contents Page number Executive Summary 5 1.0 Introduction 7 2.0 Purpose of broader project 9 2.1 Phase 1: Proof of Concept and state of the art in FOSS Geospatial Technology 9 2.2 FIGS Development 9 2.3 Phase 3: FIGS Field Implementation 11 3.0 Background 11 4.0 Phase I: Proof of Concept and state of the 12 art in FOSS Geospatial Technology 4.1.1 Initial overview of the use of geospatial 12 technology for disaster relief management. 4.1.2 Introduction: Humanitarian Information Centers (HIC) 13 4.1.3 Tsunami (South-east Asia) 16 4.1.4 Earthquake (Pakistan-India) 17 4.2 Within the context of these emergencies, conduct a 20 preliminary data needs assessment and establish functionality requirements for geospatial query, analysis and cartographic output. 4.2.1 Current software systems used 21 4.2.2 Required functionality of Geospatial environment 21 4.2.3 Critical information needs 22 4.2.4 Operational conditions 24 4.3 Assemble, integrate and test Free Open Source Software 24 (FOSS) systems for storage, maintenance, access and analysis of geospatial information.
    [Show full text]
  • Quick Introduction to Lidar and Basic Lidar Tools What Is Lidar
    Quick Introduction to Lidar and Basic Lidar Tools What is Lidar LIDAR is an Acronym for LIght Detection And Ranging A basic lidar device consists of a laser, an optical telescope, and a detector. Laser Telescope/ Detector What is Lidar ? - Cont. The detector counts the intensity of photons returned over fixed time intervals and these intensities over times are converted to heights called range bins. range bin = dz=(c*dt)/2, where c = the speed of light, dz = distance dt = time. 160 ns would = 24m of dz See http://pcl.physics.uwo.ca/science/lidarintro/ for details. Types of Lidar - Lasers Lasers can be pulsed or continuous wave, or can be of different frequencies Standard airborne lasers will be near - infrared(1047nm, 1064nm, and 1550nm). Bathymetric lasers – green (EAARL NOAA/USGS, Commercial) Multibeam Lidar – 2 lasers near infrared and Green – mainly coastal, but may become more mainstream. http://agrg.cogs.nscc.ca/resources/lidar- glossary Types of Lidar – Platforms Satellite – mostly profiles Fixed-wing aircraft – most common cost- effective Helicopter – higher accuracy over large areas and air density/pollutant measurements Ground Based – Scan area around point Tabletop/vehicle mounted – specialized applications for specific areas. 3D scan – place object on rotating surface to scan the object in 3 dimensions Posting/Point Spacing Distance Distance between successive ground points Historic 5-8 Meters ( NC 2001) FEMA Flood standard 1.4 M/ USGS QL2 standard 0.7m posting High density 10 points /M FEMA requires better reporting/metadata http://www.fema.gov/plan/prevent/fhm/lidar_4b.shtm From http://www.eijournal.com/LiDar_Mapping.asp Lidar data outputs Ascii X,Y,Z Proprietary binary formats – older data going away ( .ebn, .eebn) LAS format -Industry standard, not mandatory, usually not all “required” fields populated.
    [Show full text]
  • Geospatial Tools for Building Footprint and Homogeneous Zone Extraction From
    User guide: Geospatial tools for building footprint and homogeneous zone extraction from GEM Technical Report 2014-01 V1.0.0 imagery Vicini, A., J. Bevington, G. Esquivias, G-C. Iannelli, M. Wieland D ata capture tools GEM GLOBAL EARTHQUAKE MODEL i User guide: Building footprint extraction and definition of homogeneous zone extraction from imagery Technical Report 2014-01 Version: 1.0.0 Date: January 2014 Author(s)*: Vicini, A., J. Bevington, G. Esquivias, G-C. Iannelli and M. Wieland (*) Authors’ affiliations: Alessandro Vicini, ImageCat, UK John Bevington, ImageCat, UK Georgiana Esquivias, ImageCat, Long Beach CA Gianni Cristian Iannelli, University of Pavia, Italy Marc Wieland, GFZ Potsdam, Germany ii Rights and permissions Copyright © 2014 GEM Foundation, Vicini, A., J. Bevington, G. Esquivias, G-C. Iannelli and M. Wieland Except where otherwise noted, this work is licensed under a Creative Commons Attribution 3.0 Unported License. The views and interpretations in this document are those of the individual author(s) and should not be attributed to the GEM Foundation. With them also lies the responsibility for the scientific and technical data presented. The authors have taken care to ensure the accuracy of the information in this report, but accept no responsibility for the material, nor liability for any loss including consequential loss incurred through the use of the material. Citation advice Vicini, A., J. Bevington, G. Esquivias, G-C. Iannelli and M. Wieland (2014), User guide: Building footprint extraction and definition of homogeneous zone extraction from imagery, GEM Technical Report 2014-01 V1.0.0, 243 pp., GEM Foundation, Pavia, Italy, doi: 10.13117/GEM.DATA-CAPTURE.TR2014.01.
    [Show full text]
  • Arcgis 10.2.1 for Desktop Functionality Matrix
    ArcGIS® 10.2.1 for Desktop Functionality Matrix J9707 1 February 2014 ArcGIS 10.2.1 for Desktop Functionality Matrix Mapping ......................................................................................................................... 7 Map Interaction ....................................................................................................................7 Map Navigation ................................................................................................................................ 7 Queries ............................................................................................................................................. 7 Tables............................................................................................................................................... 8 Graphs.............................................................................................................................................. 8 Graph Types .................................................................................................................................... 8 Routing Using ArcGIS Online or Network Datasets (StreetMap USA) ............................................ 8 Map Display .........................................................................................................................9 General Mapping .............................................................................................................................. 9 Tabular Data ...................................................................................................................................
    [Show full text]
  • Webp - Faster Web with Smaller Images
    WebP - Faster Web with smaller images Pascal Massimino Google Confidential and Proprietary WebP New image format - Why? ● Average page size: 350KB ● Images: ~65% of Internet traffic Current image formats ● JPEG: 80% of image bytes ● PNG: mainly for alpha, lossless not always wanted ● GIF: used for animations (avatars, smileys) WebP: more efficient unified solution + extra goodies Targets Web images, not at replacing photo formats. Google Confidential and Proprietary WebP ● Unified format ○ Supports both lossy and lossless compression, with transparency ○ all-in-one replacement for JPEG, PNG and GIF ● Target: ~30% smaller images ● low-overhead container (RIFF + chunks) Google Confidential and Proprietary WebP-lossy with alpha Appealing replacement for unneeded lossless use of PNG: sprites for games, logos, page decorations ● YUV: VP8 intra-frame ● Alpha channel: WebP lossless format ● Optional pre-filtering (~10% extra compression) ● Optional quantization --> near-lossless alpha ● Compression gain: 3x compared to lossless Google Confidential and Proprietary WebP - Lossless Techniques ■ More advanced spatial predictors ■ Local palette look up ■ Cross-color de-correlation ■ Separate entropy models for R, G, B, A channels ■ Image data and metadata both are Huffman-coded Still is a very simple format, fast to decode. Google Confidential and Proprietary WebP vs PNG source: published study on developers.google.com/speed/webp Average: 25% smaller size (corpus: 1000 PNG images crawled from the web, optimized with pngcrush) Google Confidential and Proprietary Speed number (takeaway) Encoding ● Lossy (VP8): 5x slower than JPEG ● Lossless: from 2x faster to 10x slower than libpng Decoding ● Lossy (VP8): 2x-3x slower than JPEG ● Lossless: ~1.5x faster than libpng Decoder's goodies: ● Incremental ● Per-row output (very low memory footprint) ● on-the-fly rescaling and cropping (e.g.
    [Show full text]
  • Java Topology Suite in Action Combining ESRI and Open Source
    Java Topology Suite in Action Combining ESRI and Open Source Jared Erickson Pierce County, WA Introduction Combing ESRI and Open Source GIS The Java Topology Suite (JTS) How Pierce County uses it with ESRI software How Pierce County extends it ESRI and Open Source What is JTS? Java API for Vector Geometry Geometry ObJect Model Geometry functions, Spatial Predicates, Overlay Methods, and Algorithms Open source Written by Martin Davis of Refractions Research Implements OGC Simple Features for SQL specification (no curves) What is it? Core library in Java tribe of open source GIS JTS code is ported to C/C++ as GEOS GEOS is the core library of the C open source tribe GEOS is used by PostGIS, GDAL/OGR, MapServer, QGIS, Shapely (Python) Ported to .NET as NetTopologySuite Explicit Precision Model Focuses on Robustness vs. Speed Geometry Point LineString Polygon GeometryCollection MultiPoint MultiLineString MultiPolygon Geometry Code Sample GeometryFactory geometryFactory = new GeometryFactory(); Point point = geometryFactory.createPoint(new Coordinate(200.0, 323.0)); LineString lineString = geometryFactory.createLineString(new Coordinate[] { new Coordinate(2.2,3.3), new Coordinate(4.4,5.5), new Coordinate(6.6,7.7) }); Spatial Functions and Predicates Buffer Length Contains Intersection ConvexHull Intersects CoveredBy Is Empty Covers Is Simple Crosses Is Valid Difference Is Within Distance DisJoint Normalize Distance Overlaps Equals Relate (DE-9IM Intersection Matrix) Area SymDifference Boundary Touches
    [Show full text]