100% found this document useful (5 votes)
1K views

Download Complete (Ebook) MATLAB Mapping Toolbox™ User's Guide by The MathWorks, Inc. PDF for All Chapters

The document provides access to various MATLAB User's Guides and Getting Started Guides for different toolboxes, including Mapping, Econometrics, Bioinformatics, and more, available for download at ebooknice.com. It includes links to each guide and emphasizes the instant availability of digital formats. Additionally, it outlines contact information for MathWorks and provides a brief overview of the contents of the Mapping Toolbox User's Guide.

Uploaded by

langsabbay9z
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (5 votes)
1K views

Download Complete (Ebook) MATLAB Mapping Toolbox™ User's Guide by The MathWorks, Inc. PDF for All Chapters

The document provides access to various MATLAB User's Guides and Getting Started Guides for different toolboxes, including Mapping, Econometrics, Bioinformatics, and more, available for download at ebooknice.com. It includes links to each guide and emphasizes the instant availability of digital formats. Additionally, it outlines contact information for MathWorks and provides a brief overview of the contents of the Mapping Toolbox User's Guide.

Uploaded by

langsabbay9z
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

Download the Full Ebook and Access More Features - ebooknice.

com

(Ebook) MATLAB Mapping Toolbox™ User's Guide by


The MathWorks, Inc.

https://ebooknice.com/product/matlab-mapping-toolboxtm-user-
s-guide-11236250

OR CLICK HERE

DOWLOAD EBOOK

Download more ebook instantly today at https://ebooknice.com


Instant digital products (PDF, ePub, MOBI) ready for you
Download now and discover formats that fit your needs...

Start reading on any device today!

(Ebook) MATLAB Econometrics Toolbox™ User's Guide by The MathWorks, Inc.

https://ebooknice.com/product/matlab-econometrics-toolboxtm-user-s-
guide-11236174

ebooknice.com

(Ebook) MATLAB Bioinformatics Toolbox™ User's Guide by The MathWorks, Inc.

https://ebooknice.com/product/matlab-bioinformatics-toolboxtm-user-s-
guide-11236232

ebooknice.com

(Ebook) MATLAB Optimization Toolbox™ User's Guide by The MathWorks, Inc.

https://ebooknice.com/product/matlab-optimization-toolboxtm-user-s-
guide-11236252

ebooknice.com

(Ebook) Deep Learning Toolbox Getting Started Guide - MATLAB by The MathWorks, Inc.

https://ebooknice.com/product/deep-learning-toolbox-getting-started-guide-
matlab-43710832

ebooknice.com
(Ebook) MATLAB Computer Vision Toolbox™ User's Guide by The MathWorks, Inc.

https://ebooknice.com/product/matlab-computer-vision-toolboxtm-user-s-
guide-11236240

ebooknice.com

(Ebook) MATLAB Curve Fitting Toolbox™ User's Guide by The MathWorks, Inc.

https://ebooknice.com/product/matlab-curve-fitting-toolboxtm-user-s-
guide-11236242

ebooknice.com

(Ebook) MATLAB Fuzzy Logic Toolbox™ User's Guide by The MathWorks, Inc.

https://ebooknice.com/product/matlab-fuzzy-logic-toolboxtm-user-s-guide-11236244

ebooknice.com

(Ebook) MATLAB Global Optimization Toolbox™ User's Guide by The MathWorks, Inc.

https://ebooknice.com/product/matlab-global-optimization-toolboxtm-user-s-
guide-11236246

ebooknice.com

(Ebook) MATLAB Image Processing Toolbox™ User's Guide by The MathWorks, Inc.

https://ebooknice.com/product/matlab-image-processing-toolboxtm-user-s-
guide-11236248

ebooknice.com
Mapping Toolbox™
User's Guide

R2020a
How to Contact MathWorks

Latest news: www.mathworks.com

Sales and services: www.mathworks.com/sales_and_services

User community: www.mathworks.com/matlabcentral

Technical support: www.mathworks.com/support/contact_us

Phone: 508-647-7000

The MathWorks, Inc.


1 Apple Hill Drive
Natick, MA 01760-2098
Mapping Toolbox™ User's Guide
© COPYRIGHT 1997–2020 by The MathWorks, Inc.
The software described in this document is furnished under a license agreement. The software may be used or copied
only under the terms of the license agreement. No part of this manual may be photocopied or reproduced in any form
without prior written consent from The MathWorks, Inc.
FEDERAL ACQUISITION: This provision applies to all acquisitions of the Program and Documentation by, for, or through
the federal government of the United States. By accepting delivery of the Program or Documentation, the government
hereby agrees that this software or documentation qualifies as commercial computer software or commercial computer
software documentation as such terms are used or defined in FAR 12.212, DFARS Part 227.72, and DFARS 252.227-7014.
Accordingly, the terms and conditions of this Agreement and only those rights specified in this Agreement, shall pertain
to and govern the use, modification, reproduction, release, performance, display, and disclosure of the Program and
Documentation by the federal government (or other entity acquiring for or through the federal government) and shall
supersede any conflicting contractual terms or conditions. If this License fails to meet the government's needs or is
inconsistent in any respect with federal procurement law, the government agrees to return the Program and
Documentation, unused, to The MathWorks, Inc.
Trademarks
MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See
www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be
trademarks or registered trademarks of their respective holders.
Patents
MathWorks products are protected by one or more U.S. patents. Please see www.mathworks.com/patents for
more information.
Revision History
May 1997 First printing New for Version 1.0
October 1998 Second printing Version 1.1
November 2000 Third printing Version 1.2 (Release 12)
July 2002 Online only Revised for Version 1.3 (Release 13)
September 2003 Online only Revised for Version 1.3.1 (Release 13SP1)
January 2004 Online only Revised for Version 2.0 (Release 13SP1+)
April 2004 Online only Revised for Version 2.0.1 (Release 13SP1+)
June 2004 Fourth printing Revised for Version 2.0.2 (Release 14)
October 2004 Online only Revised for Version 2.0.3 (Release 14SP1)
March 2005 Fifth printing Revised for Version 2.1 (Release 14SP2)
August 2005 Sixth printing Minor revision for Version 2.1
September 2005 Online only Revised for Version 2.2 (Release 14SP3)
March 2006 Online only Revised for Version 2.3 (Release 2006a)
September 2006 Seventh printing Revised for Version 2.4 (Release 2006b)
March 2007 Online only Revised for Version 2.5 (Release 2007a)
September 2007 Eighth printing Revised for Version 2.6 (Release 2007b)
March 2008 Online only Revised for Version 2.7 (Release 2008a)
October 2008 Online only Revised for Version 2.7.1 (Release 2008b)
March 2009 Online only Revised for Version 2.7.2 (Release 2009a)
September 2009 Online only Revised for Version 3.0 (Release 2009b)
March 2010 Online only Revised for Version 3.1 (Release 2010a)
September 2010 Online only Revised for Version 3.2 (Release 2010b)
April 2011 Online only Revised for Version 3.3 (Release 2011a)
September 2011 Online only Revised for Version 3.4 (Release 2011b)
March 2012 Online only Revised for Version 3.5 (Release 2012a)
September 2012 Online only Revised for Version 3.6 (Release 2012b)
March 2013 Online only Revised for Version 3.7 (Release 2013a)
September 2013 Online only Revised for Version 4.0 (Release 2013b)
March 2014 Online only Revised for Version 4.0.1 (Release 2014a)
October 2014 Online only Revised for Version 4.0.2 (Release 2014b)
March 2015 Online only Revised for Version 4.1 (Release 2015a)
September 2015 Online only Revised for Version 4.2 (Release 2015b)
March 2016 Online only Revised for Version 4.3 (Release 2016a)
September 2016 Online only Revised for Version 4.4 (Release 2016b)
March 2017 Online only Revised for Version 4.5 (Release 2017a)
September 2017 Online only Revised for Version 4.5.1 (Release 2017b)
March 2018 Online only Revised for Version 4.6 (Release 2018a)
September 2018 Online only Revised for Version 4.7 (Release 2018b)
March 2019 Online only Revised for Version 4.8 (Release 2019a)
September 2019 Online only Revised for Version 4.9 (Release 2019b)
March 2020 Online only Revised for Version 4.10 (Release 2020a)
Contents

Getting Started
1
Mapping Toolbox Product Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Key Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2

Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3

Create Your First World Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4

Tour Boston with the Map Viewer App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9


Open the Map Viewer App . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-9

Getting More Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24


Ways to Get Mapping Toolbox Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-24

Understanding Map Data


2
What Is a Map? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2

What Is Geospatial Data? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3

Vector Geodata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4

Inspect and Display Vector Map Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5

Raster Geodata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7


Digital Elevation Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7
Remotely Sensed Image Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7

Generate Shaded Relief Map using Raster Data . . . . . . . . . . . . . . . . . . . . . 2-8

Combine Vector and Raster Geodata on the Same Map . . . . . . . . . . . . . . 2-11


Combining Raster Data and Vector Data on the Same Map . . . . . . . . . . . 2-11

Create and Display Polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14


Simple Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14
Polygons with Holes or Multiple Regions . . . . . . . . . . . . . . . . . . . . . . . . 2-15
Polygons Using Geographic Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . 2-17
Filled Region of Polygons Using Geographic Coordinates . . . . . . . . . . . . 2-19

Segments Versus Polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22

v
Geographic Data Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24
Shapefiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-24
The Contents of Geographic Data Structures . . . . . . . . . . . . . . . . . . . . . 2-24
Examining a Geographic Data Structure . . . . . . . . . . . . . . . . . . . . . . . . . 2-26
How to Construct Geographic Data Structures . . . . . . . . . . . . . . . . . . . . 2-27
Mapping Toolbox Version 1 Display Structures . . . . . . . . . . . . . . . . . . . . 2-31

Georeferenced Raster Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-32


Referencing Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-32
Referencing Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-32
Referencing Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-32

Construct a Global Data Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-34

Convert Between Geographic and Intrinsic Coordinates . . . . . . . . . . . . . 2-36

Precompute the Size of a Data Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-38

Geolocated Data Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39


Define Geolocated Data Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-39

Geographic Interpretations of Geolocated Grids . . . . . . . . . . . . . . . . . . . 2-43


Type 1: Values Associated with the Upper Left Grid Coordinate . . . . . . . 2-43
Type 2: Values Centered Within Four Adjacent Coordinates . . . . . . . . . . 2-44
Ordering of Cells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-45
Transform Regular to Geolocated Grids . . . . . . . . . . . . . . . . . . . . . . . . . 2-45
Transforming Geolocated to Regular Grids . . . . . . . . . . . . . . . . . . . . . . . 2-45

Unprojecting a Digital Elevation Model (DEM) . . . . . . . . . . . . . . . . . . . . 2-46

Creating a Half-Resolution Georeferenced Image . . . . . . . . . . . . . . . . . . 2-60

Georeferencing an Image to an Orthotile Base Layer . . . . . . . . . . . . . . . 2-65

Find Geospatial Data Online . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-77

Find Vector Geodata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-78

Find Geospatial Raster Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-80


Download Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-80
Use Web Map Service Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-81

Functions that Read and Write Geospatial Data . . . . . . . . . . . . . . . . . . . . 2-82

Export Vector Geodata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-85

Exporting Vector Data to KML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-86

Export KML Files for Viewing in Earth Browsers . . . . . . . . . . . . . . . . . . . 2-97


Generate a Single Placemark Using kmlwritepoint . . . . . . . . . . . . . . . . . 2-97
Generate Placemarks from Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-98
Export Point Geostructs to Placemarks . . . . . . . . . . . . . . . . . . . . . . . . . . 2-98

vi Contents
Select Shapefile Data to Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-101
Example 1: Predicate Function in Separate File . . . . . . . . . . . . . . . . . . 2-101
Example 2: Predicate as Function Handle . . . . . . . . . . . . . . . . . . . . . . . 2-102
Example 3: Predicate as Anonymous Function . . . . . . . . . . . . . . . . . . . 2-102
Example 4: Predicate (Anonymous Function) Defined Within Cell Array 2-103
Example 5: Parametrizing the Selector; Predicate as Nested Function . 2-103

Functions That Read and Write Files in Compressed Formats . . . . . . . 2-105

Exporting Images and Raster Grids to GeoTIFF . . . . . . . . . . . . . . . . . . . 2-106

Converting Coastline Data (GSHHG) to Shapefile Format . . . . . . . . . . . 2-122

Understanding Geospatial Geometry


3
The Shape of the Earth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Ellipsoid Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Geoid Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2

Reference Spheroids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4


referenceSphere Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4
referenceEllipsoid Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6
World Geodetic System 1984 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8
Ellipsoid Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
oblateSpheroid Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10

Work with Reference Spheroids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11


Map Projections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11
Curves and Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
3-D Coordinate Transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12

Latitude and Longitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13


Plot Latitude and Longitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13

Relationship Between Points on Sphere . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15

Length and Distance Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16


Choosing Units of Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16
Converting Units of Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16

Compute Conversion Ratio Between Units of Length . . . . . . . . . . . . . . . 3-17

Angle Representations and Angular Units . . . . . . . . . . . . . . . . . . . . . . . . 3-18


Radians and Degrees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18
Default and Variable Angle Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19
Degrees, Minutes, and Seconds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19
Converting Angle Units that Vary at Run Time . . . . . . . . . . . . . . . . . . . . 3-20

Angles as Binary and Formatted Numbers . . . . . . . . . . . . . . . . . . . . . . . . 3-22


Formatting Latitudes and Longitudes . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22

vii
Convert from Linear Measurements to Spherical Measurements . . . . . . 3-23

Distances on the Sphere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-24


Arc Length as an Angle in the distance and reckon Functions . . . . . . . . . 3-25
Summary: Available Distance and Angle Conversion Functions . . . . . . . . 3-25

Great Circles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27

Rhumb Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28

Azimuth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29
Calculate Azimuth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29

Elevation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31

Generate Vector Data for Points Along Great Circle or Rhumb Line Tracks
......................................................... 3-32

Reckoning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34

Calculate Distance Between Two Points in Geographic Space . . . . . . . . 3-35

Small Circles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-36

Calculate Vector Data for Points Along a Small Circle . . . . . . . . . . . . . . . 3-37

Generate Small Circles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-38

Measure Area of Spherical Quadrangles . . . . . . . . . . . . . . . . . . . . . . . . . . 3-40

Plotting a 3-D Dome as a Mesh Over a Globe . . . . . . . . . . . . . . . . . . . . . . 3-41

Choose a 3-D Coordinate System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47


Earth-Centered Earth-Fixed Coordinates . . . . . . . . . . . . . . . . . . . . . . . . 3-47
Geodetic Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-48
East-North-Up Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-49
North-East-Down Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-49
Azimuth-Elevation-Range Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . 3-50
Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-51

Vectors in 3-D Coordinate Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-52


Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-53

Find Ellipsoidal Height from Orthometric Height . . . . . . . . . . . . . . . . . . 3-55


Find Ellipsoidal Height from Orthometric and Geoid Height . . . . . . . . . . 3-57

Creating and Viewing Maps


4
Introduction to Mapping Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2

viii Contents
Continent, Country, Region, and State Maps Made Easy . . . . . . . . . . . . . . 4-3

Set Background Colors for Map Displays . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4

Create Simple Maps Using worldmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5

Create Simple Maps Using usamap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7

The Map Axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11


Tips to Working with Map Axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-11

Access and Change Map Axes Properties . . . . . . . . . . . . . . . . . . . . . . . . . 4-13

Map Limit Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-19


Specify Map Projection Origin and Frame Limits Automatically . . . . . . . 4-20
Create Cylindrical Projection Using Map Limit Properties . . . . . . . . . . . . 4-23
Create Conic Projection Using Map Limit Properties . . . . . . . . . . . . . . . . 4-25
Create Southern Hemisphere Conic Projection . . . . . . . . . . . . . . . . . . . . 4-26
Create North-Polar Azimuthal Projection . . . . . . . . . . . . . . . . . . . . . . . . 4-27
Create South-Polar Azimuthal Projection . . . . . . . . . . . . . . . . . . . . . . . . 4-29
Create Equatorial Azimuthal Projection . . . . . . . . . . . . . . . . . . . . . . . . . 4-30
Create General Azimuthal Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-31
Create Long Narrow Oblique Mercator Projection . . . . . . . . . . . . . . . . . 4-32

Switch Between Projections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34


Change Projection Updating Meridian and Parallel Labels . . . . . . . . . . . 4-34
Change Projection Resetting Frame Limits . . . . . . . . . . . . . . . . . . . . . . . 4-36

Reprojection of Graphics Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40


Auto-Reprojection of Mapped Objects and Its Limitations . . . . . . . . . . . . 4-40
Reprojectability of Maps Generated Using geoshow . . . . . . . . . . . . . . . . 4-41

Create Maps Using geoshow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-43

Creating Maps Using MAPSHOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-50

Change Map Projections Using geoshow . . . . . . . . . . . . . . . . . . . . . . . . . . 4-68


Change Map Projection with Vector Data Using geoshow . . . . . . . . . . . . 4-68
Change Map Projection with Raster Data Using geoshow . . . . . . . . . . . . 4-69

Use Geographic and Nongeographic Objects in Map Axes . . . . . . . . . . . 4-72

The Map Frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-75

Plot Regions of Robinson Frame and Grid Using Map Limits . . . . . . . . . 4-77

Map and Frame Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-82

The Map Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-83


Control Grid Spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-83
Layer Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-83
Limit Grid Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-83
Label Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-84

ix
Summary of Polygon Display Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-86

Display Vector Data as Points and Lines . . . . . . . . . . . . . . . . . . . . . . . . . . 4-87

Display Vector Maps as Lines or Patches . . . . . . . . . . . . . . . . . . . . . . . . . . 4-91

Types of Data Grids and Raster Display Functions . . . . . . . . . . . . . . . . . . 4-98

Fit Gridded Data to the Graticule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-99


Fit Gridded Data to Fine and Coarse Graticules . . . . . . . . . . . . . . . . . . . 4-99

Create 3-D Displays with Raster Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-103

Creating Map Displays with Latitude and Longitude Data . . . . . . . . . . 4-106

Creating Map Displays with Data in Projected Coordinate Reference


System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-116

Pick Locations Interactively . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-124

Creating an Interactive Map for Selecting Point Features . . . . . . . . . . 4-126

Create Small Circle and Track Annotations on Maps Interactively . . . . 4-133

Interactively Display Text Annotations on a Map . . . . . . . . . . . . . . . . . . 4-135

Work with Objects by Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-136


Manipulate Displayed Map Objects By Name . . . . . . . . . . . . . . . . . . . . 4-136

Making Three-Dimensional Maps


5
Sources of Terrain Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
Digital Terrain Elevation Data from NGA . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
Digital Elevation Model Files from USGS . . . . . . . . . . . . . . . . . . . . . . . . . 5-2

Determine and Visualize Visibility Across Terrain . . . . . . . . . . . . . . . . . . . 5-3


Compute Line of Sight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3

Light a Terrain Map of a Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5

Light a Global Terrain Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8

Surface Relief Shading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-12


Create Monochrome Shaded Relief Map . . . . . . . . . . . . . . . . . . . . . . . . . 5-12

Colored Surface Shaded Relief . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17


Create Colored Shaded Relief Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-17

Relief Mapping with Light Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-21


Illuminate Color 3-D Relief Maps with Light Objects . . . . . . . . . . . . . . . . 5-21

x Contents
Drape Data on Elevation Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-29
Combine Elevation Maps with Other Kinds of Data . . . . . . . . . . . . . . . . . 5-29
Drape Data over Terrain with Different Gridding . . . . . . . . . . . . . . . . . . . 5-29

Drape Geoid Heights Over Topography . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-30

Combine Dissimilar Grids by Converting Regular Grid to Geolocated Data


Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-35

Drape Geolocated Grid on Regular Data Grid via Texture Mapping . . . . 5-41

The Globe Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-44

The Globe Display Compared with the Orthographic Projection . . . . . . . 5-45

Use Opacity and Transparency in Globe Displays . . . . . . . . . . . . . . . . . . . 5-51

Over-the-Horizon 3-D Views Using Camera Positioning Functions . . . . . 5-54

Display a Rotating Globe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-62

Access Basemaps and Terrain for Geographic Globe . . . . . . . . . . . . . . . . 5-67


Use Installed Basemap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-67
Download Basemaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-67
Add Custom Basemaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-67
Access Terrain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-67
Specify Basemaps and Terrain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-68

Create Interactive Basemap Picker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-69

Customizing and Printing Maps


6
Inset Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2

Graphic Scales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9

North Arrows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-15

Thematic Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-18


Choropleth Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-18
Stem Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19
Contour Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19
Scatter Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-20

Create Choropleth Map of Population Density . . . . . . . . . . . . . . . . . . . . . 6-21

Colormaps for Terrain Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24


Explore Colormaps for Terrain Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-24

Contour Colormaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27

xi
Colormaps for Political Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30
Explore Colormaps for Political Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-30
Labeling Colorbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-32
Editing Colorbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-33

Scale Maps for Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-34

Manipulating Geospatial Data


7
Extract and Join Polygons or Line Segments . . . . . . . . . . . . . . . . . . . . . . . 7-2

Link Line Segments with Common Endpoints into Polygons . . . . . . . . . . . 7-4

Geographic Interpolation of Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-5

Interpolate Vertices Between Known Data Points . . . . . . . . . . . . . . . . . . . 7-7

Interpolate Coordinates at Specific Locations . . . . . . . . . . . . . . . . . . . . . . 7-8

Vector Intersections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-9

Calculate Intersections of Small Circles . . . . . . . . . . . . . . . . . . . . . . . . . . 7-11

Calculate Intersection of Rhumb Line Tracks . . . . . . . . . . . . . . . . . . . . . . 7-12

Calculate Intersections of Vector Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-13

Calculate Area of Geographic Polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-15

Polygon Set Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-16

Overlay Polygons Using Set Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-17

Remove Longitude Coordinate Discontinuities at Date Line Crossings


......................................................... 7-22

Polygon Buffer Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-26


Generate Buffer Internal to Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-26

Trim Vectors to Preserve Polygonal Patches . . . . . . . . . . . . . . . . . . . . . . . 7-28

Filter Vector Data to Remove Unwanted Points . . . . . . . . . . . . . . . . . . . . 7-31

Simplify Vector Coordinate Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-32

Simplify Polygon and Line Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-33

Convert Vector Data to Raster Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-38


Creating Data Grids from Vector Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-38

xii Contents
Rasterize Polygons Interactively . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-43

Data Grids as Logical Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-45

Determine Area Occupied by Logical Grid Variable . . . . . . . . . . . . . . . . . 7-46

Compute Elevation Profile Along Straight Line . . . . . . . . . . . . . . . . . . . . 7-48

Compute Gradient, Slope, and Aspect from Regular Data Grid . . . . . . . . 7-51

Using Map Projections and Coordinate Systems


8
Map Projections and Distortions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2
Use Inverse Projection to Recover Geographic Coordinates . . . . . . . . . . . 8-2
Projection Distortions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-2

Quantitative Properties of Map Projections . . . . . . . . . . . . . . . . . . . . . . . . 8-4

The Three Main Families of Map Projections . . . . . . . . . . . . . . . . . . . . . . . 8-5


Unwrapping the Sphere to a Plane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
Cylindrical Projections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-5
Conic Projections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6
Azimuthal Projections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-7

Projection Aspect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9


The Orientation Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-9
Control the Map Projection Aspect with an Orientation Vector . . . . . . . . 8-11

Projection Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-16


Projection Characteristics Maps Can Have . . . . . . . . . . . . . . . . . . . . . . . 8-16

Visualize Spatial Error Using Tissot Indicatrices . . . . . . . . . . . . . . . . . . . 8-22


Visualize Projection Distortions using Tissot Indicatrices . . . . . . . . . . . . 8-22

Visualize Projection Distortions Using Isolines . . . . . . . . . . . . . . . . . . . . 8-26

Quantify Map Distortions at Point Locations . . . . . . . . . . . . . . . . . . . . . . 8-30


Use distortcalc to Determine Map Projection Geometric Distortions . . . . 8-30

Project Coordinates Without Map Axes . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-34

Rotational Transformations on the Globe . . . . . . . . . . . . . . . . . . . . . . . . . 8-36


Reorient Vector Data with rotatem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-36
Reorient Gridded Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-38

The Universal Transverse Mercator System . . . . . . . . . . . . . . . . . . . . . . . 8-40

Create a UTM Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-41

Set UTM Parameters Interactively . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-45

xiii
Work in UTM Without a Displayed Map . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-48

Use the Transverse Aspect to Map Across UTM Zones . . . . . . . . . . . . . . . 8-51

Summary and Guide to Projections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-53

Creating Web Map Service Maps


9
Basic WMS Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-2

Basic Workflow for Creating WMS Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3


Workflow Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3
Create a Map of Elevation in Europe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-3

Search the WMS Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5


Introduction to the WMS Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5
Find Temperature Data in the WMS Database . . . . . . . . . . . . . . . . . . . . . . 9-5

Refine Your Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7


Refine Search by Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7
Refine Search by Geographic Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-7

Update Your Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8

Retrieve Your Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10


Map Retrieval Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-10
Understand Coordinate Reference System Codes . . . . . . . . . . . . . . . . . . 9-10
Retrieve Your Map with wmsread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-11
Use wmsread with Optional Parameters . . . . . . . . . . . . . . . . . . . . . . . . . 9-12
Add a Legend to Your Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-12
Retrieve Your Map with WebMapServer.getMap . . . . . . . . . . . . . . . . . . . 9-19

Modify Your Map Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-24


Set Map Request Geographic Limits and Time . . . . . . . . . . . . . . . . . . . . 9-24
Edit Web Map Request URL Manually . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-25

Overlay Multiple Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-27


Create Composite Map of Multiple Layers from One Server . . . . . . . . . . 9-27
Combine Layers from One Server with Data from Other Sources . . . . . . 9-28
Drape Orthoimagery Over DEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-29

Animate Data Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-33


Create Movie of Terra/MODIS Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-33
Create Animated GIF File of WMS Maps . . . . . . . . . . . . . . . . . . . . . . . . . 9-34
Animate Time-Lapse Radar Observations . . . . . . . . . . . . . . . . . . . . . . . . 9-36

Display Animation of Radar Images over GOES Backdrop . . . . . . . . . . . 9-39

Retrieve Data from Web Map Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-41


Merge Elevation Data with Rasterized Vector Data . . . . . . . . . . . . . . . . . 9-42
Display Merged Elevation and Bathymetry Layer (SRTM30 Plus) . . . . . . 9-44

xiv Contents
Drape WMS Imagery onto Elevation Data . . . . . . . . . . . . . . . . . . . . . . . . 9-46

Save Your Favorite Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-49

Explore Other Layers using a Capabilities Document . . . . . . . . . . . . . . . 9-50

Write WMS Images to a KML File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-53

Search for Layers Outside the Database . . . . . . . . . . . . . . . . . . . . . . . . . . 9-55

Troubleshoot WMS Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-56


Connection Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-56
Wrong Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-57
Problems with Geographic Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-58
Problems with Server Changing LayerName . . . . . . . . . . . . . . . . . . . . . . 9-58
Non-EPSG:4326 Coordinate Reference Systems . . . . . . . . . . . . . . . . . . . 9-58
Map Not Returned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-59
Unsupported WMS Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-60
Other Unrecoverable Server Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-60

Troubleshoot Access to the Hosted WMS Database . . . . . . . . . . . . . . . . . 9-61

Introduction to Web Map Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-62


Web Map Coordinate Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-64

Basic Workflow for Displaying Web Maps . . . . . . . . . . . . . . . . . . . . . . . . . 9-66


Workflow Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-66

Display a Web Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-67

Select a Base Layer Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-68

Specify a Custom Base Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-70

Specify a WMS Layer as a Base Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-72

Add an Overlay Layer to the Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-74

Add Line, Polygon, and Marker Overlay Layers to Web Maps . . . . . . . . . 9-76

Remove Overlay Layers on a Web Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-82

View Multiple Web Maps in a Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-86

Navigate a Web Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-89

Close a Web Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-92

Annotate a Web Map with Measurement Information . . . . . . . . . . . . . . . 9-93

Compositing and Animating Web Map Service (WMS) Meteorological


Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-97

xv
Troubleshoot Common Problems with Web Maps . . . . . . . . . . . . . . . . . . 9-112
Why Does My Web Map Contain Empty Tiles? . . . . . . . . . . . . . . . . . . . . 9-112
Why Does My Web Map Lose Detail When I Zoom In? . . . . . . . . . . . . . . 9-112

Mapping Applications
10
Geographic Statistics for Point Locations on a Sphere . . . . . . . . . . . . . . 10-2
Geographic Means . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-2
Geographic Standard Deviation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-3

Equal-Areas in Geographic Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6


Geographic Histograms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-6
Converting to an Equal-Area Coordinate System . . . . . . . . . . . . . . . . . . . 10-7

Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9
What Is Navigation? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-9
Conventions for Navigational Functions . . . . . . . . . . . . . . . . . . . . . . . . . 10-9

Fix Position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11


Some Possible Situations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-11
Using navfix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-14
A Numerical Example of Using navfix . . . . . . . . . . . . . . . . . . . . . . . . . . 10-16

Plan the Shortest Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-20

Display Navigational Tracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-23

Dead Reckoning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-26

Drift Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-30

Time Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-32

Map Projections — Alphabetical List


11

xvi Contents
1

Getting Started

This chapter provides step-by-step examples of basic Mapping Toolbox capabilities and guides you
toward examples and documentation that can help answer your questions. For an alphabetical list of
functions click on MATLAB Functions link at bottom of mainMapping Toolbox page.

• “Mapping Toolbox Product Description” on page 1-2


• “Acknowledgments” on page 1-3
• “Create Your First World Map” on page 1-4
• “Tour Boston with the Map Viewer App” on page 1-9
• “Getting More Help” on page 1-24
1 Getting Started

Mapping Toolbox Product Description


Analyze and visualize geographic information

Mapping Toolbox provides algorithms, functions, and an app for analyzing geographic data and
creating map displays in MATLAB®. You can import vector and raster data from a wide range of file
formats and web map servers. The toolbox lets you subset and customize data using trimming,
interpolation, resampling, coordinate transformations, and other techniques. Geospatial data can be
combined with base map layers from multiple sources in a single map display. You can export data in
file formats such as shapefile, GeoTIFF, and KML. By incorporating mapping functions into MATLAB
programs, you can automate frequent tasks in your geospatial workflow.

Key Features
• Vector and raster data import and export
• Custom raster map retrieval from Web Map Services (WMS) servers
• Web map display with dynamic base maps from OpenStreetMap and other sources
• 2D and 3D map display, customization, and interaction
• Digital terrain and elevation model analysis functions
• Geometric geodesy functions, including 2D and 3D coordinate transformations and more than 65
map projections

1-2
Acknowledgments

Acknowledgments
This software was originally developed and maintained through Version 1.3 by Systems Planning and
Analysis, Inc. (SPA), of Alexandria, Virginia.

Except where noted, the information contained in example and sample data files (found in
toolbox/map/mapdata) is derived from publicly available digital data sets. These data files are
provided as a convenience to Mapping Toolbox users. MathWorks makes no claims that any of this
data is free of defects or errors, or that the representations of geographic features or names are up to
date or authoritative.

1-3
1 Getting Started

Create Your First World Map


This example shows how to use the Mapping Toolbox to create a world map. Geospatial data can be
voluminous, complex, and difficult to process. Mapping Toolbox functions handle many of the details
of loading and displaying geospatial data, and use built-in data structures that facilitate data storage.
Spatial data refers to data describing location, shape, and spatial relationships. Geospatial data is
spatial data that is in some way georeferenced, or tied to specific locations on, under, or above the
surface of a planet.

Create an empty map axes, ready to hold the data of your choice. The function worldmap
automatically selects a reasonable choice for your map projection and coordinate limits. To display a
world map, the function chose a Robinson projection centered on the prime meridian and the equator
(0° latitude, 0° longitude).

worldmap world

Import low-resolution world coastline data. The coastline data is a set of discrete vertices that, when
connected in the order given, approximate the coastlines of continents, major islands, and inland
seas. The vertex latitudes and longitudes are stored as vectors in a MAT-file. Load the MAT-file and
view the variables in the workspace.

load coastlines
whos

Name Size Bytes Class Attributes

1-4
Create Your First World Map

coastlat 9865x1 78920 double


coastlon 9865x1 78920 double

Determine how many separate elements are in the coastline data vectors. Even though there is only
one vector of latitudes, coastlat, and one vector of longitudes, coastlon, each of these vectors
contain many distinct polygons, forming the worlds coastlines. These vectors use NaN separators and
NaN terminators to divide each vector into multiple parts.

[latcells, loncells] = polysplit(coastlat, coastlon);


numel(latcells)

ans = 241

Plot the coastline data on the map axes using the plotm function. plotm is the geographic equivalent
of the MATLAB plot function. It accepts coordinates in latitude and longitude, transforms them to x
and y via a specified map projection, and displays them in a figure axes. In this example, worldmap
uses the Robinson projection.

plotm(coastlat, coastlon)

Create a new map axes for plotting data over Europe. This time, specify a return argument for the
worldmap function to get a handle to the figure's axes. The axes object on which map data is
displayed is called a map axes. In addition to the graphics properties common to any MATLAB axes
object, a map axes object contains additional properties covering map projection type, projection
parameters, map limits, etc. The getm and setm functions and others allow you to access and modify
these properties.

1-5
1 Getting Started

h = worldmap('Europe');

Determine which map projection worldmap is using.

getm(h,'MapProjection')

ans =
'eqdconic'

Add data to the map of Europe by using the geoshow function to import and display several
shapefiles in the toolbox/map/mapdata folder. Note how the geoshow function can plot data
directly from files onto a map axes without first importing it into the workspace. To change the color
of the marker, use the MarkerEdgeColor property and, for some markers, the MarkerFaceColor
property.

geoshow('landareas.shp', 'FaceColor', [0.15 0.5 0.15])


geoshow('worldlakes.shp', 'FaceColor', 'cyan')
geoshow('worldrivers.shp', 'Color', 'blue')
geoshow('worldcities.shp', 'Marker', '.',...
'MarkerEdgeColor', 'magenta')

1-6
Create Your First World Map

Place a label on the map to identify the Mediterranean Sea.

labelLat = 35;
labelLon = 14;
textm(labelLat, labelLon, 'Mediterranean Sea')

1-7
1 Getting Started

1-8
Tour Boston with the Map Viewer App

Tour Boston with the Map Viewer App


The Map Viewer app is an interactive tool for browsing map data. With it you can:

• Assemble layers of vector and raster geodata and render them in 2-D
• Import, reorder, symbolize, hide, and delete data layers
• Identify coordinate locations
• List data attributes
• Display selected data attributes as data tips (signposts that identify attribute values, such as place
names or route numbers)

The following example illustrates these capabilities.

Open the Map Viewer App


1 Open the Map Viewer app. On the Apps tab, in the Image Processing and Computer Vision

section, click Map Viewer . You can also start the Map Viewer using the mapview
command. The Map Viewer opens with a blank canvas. (No data is present.)

Note that The Map Viewer is designed primarily for working with data sets that refer to a
projected map coordinate system (as opposed to a geographic, latitude-longitude system), so the
coordinate axes are named X and Y.
2 Import map data. In the Map Viewer, select the File menu and then choose Import From File.
Navigate to the matlabroot\toolbox\map\mapdata folder, where matlabroot represents
your MATLAB installation folder, and open the GeoTIFF file boston.tif.

1-9
1 Getting Started

The file opens in the Map Viewer. The image is a visible red, green, and blue composite from a
georeferenced IKONOS-2 panchromatic/multispectral product created by GeoEye. Copyright ©
GeoEye, all rights reserved. For further information about the image, refer to the text files
boston.txt and boston_metadata.txt. To open boston.txt, type the following at the
command line:

open 'boston.txt'
3 Set the map scale in the Map Viewer. To do this, you must first set the map distance units. Click
the Map units menu at the bottom center and select US Survey Feet.

4 Set the map scale. Type 1:25000 in the Scale box, which is above the Map units menu, and
press Enter. The Map Viewer now looks like this.

1-10
Tour Boston with the Map Viewer App

5 Get the map coordinates for a location on the map, interactively. Place the cursor over a location
on the map. The example puts the cursor over the bridge that goes over the pond in Boston
Garden. The map coordinates for this location are shown at the lower left as 772,423.18 feet
easting (X), 2,954,372.40 feet northing (Y), in Massachusetts State Plane coordinates.
6 Import a vector data layer. For this example, import a line shapefile that contains data about the
streets and highways in the central Boston area.

boston_roads = shaperead('boston_roads.shp');

The shaperead function returns the data as a geographic data structure.


7 Convert the X and Y coordinate fields of boston_roads.shp from meters to U.S. survey feet. As
is frequently the case when overlaying geodata, the coordinate system used by
boston_roads.shp (in units of meters) does not completely agree with the one for the satellite
image, boston.tif (in units of feet). If you were to ignore this, the two data sets would be out
of registration by a large distance.

1-11
1 Getting Started

surveyFeetPerMeter = unitsratio('survey feet','meter');


for k = 1:numel(boston_roads)
boston_roads(k).X = surveyFeetPerMeter * boston_roads(k).X;
boston_roads(k).Y = surveyFeetPerMeter * boston_roads(k).Y;
end

The unitsratio function computes conversion factors between a variety of units of length.
8 In the Map Viewer File menu, select Import From Workspace > Vector Data > Geographic
Data Structure.

In the Import Vector Data dialog box, select the variable boston_roads as the data to import
from the workspace, and click OK.

1-12
Tour Boston with the Map Viewer App

You could clear the workspace now if you wanted, because all the data that the Map Viewer
needs is now loaded into it.
9 After the Map Viewer finishes importing the roads layer, it selects a random color and renders all
the shapes with that color as solid lines. The view looks like this.

Being random, the color you see for the road layer may differ.
10 Explore the attributes of the vector layer. First, make the vector layer the active layer using the
Active layer menu at the bottom right. Select boston_roads. You can designate any layer to be
the active layer; it does not need to be the topmost layer. By default, the first layer imported is
active. Changing the active layer has no visual effect on the map. Doing so allows you to query
attributes of the layer you select. For example, once you make the vector layer the active layer,

1-13
Discovering Diverse Content Through
Random Scribd Documents
tuo fianco per animarti con una parola negli scoraggiamenti della
vita!... per dirti, quando la delusione ti rapirà ai tuoi sogni, spera!...
spera ancora, povero angelo!... Eppure, vedi!... ho fatto un sogno!...
ho sognato che tu potresti aspettare che le politiche vicende
permettano il ritorno di tuo padre, sicura di te stessa, sicura del tuo
avvenire... ho sognato, Angela... che potrei chiudendo gli occhi alla
luce sul mio guanciale... sorridere ancora di gioja invece di piangere
di dolore.
Angela fissò lo sguardo in quello dell’ammalata, trepido, incerto...
parve che ella indovinasse, o che avesse paura d’indovinare!... La
morente continuò.... — Ho provato le mille volte un senso di terrore,
all’idea di lasciarti esposta ai pericoli di questa corte libertina... sola...
qui dove tutto si viola... dove le oscene canzoni cantate nelle
damascate sale del duca Ferdinando, insultano ai gemiti soffocati
nelle torri del suo Castello!...
— Che vuoi tu dire, madre mia!... balbettò Angela con terrore!...
— Voglio dire, riprese l’ammalata... che ho veduto un uomo
spendere i suoi giorni, le sue notti insonni intorno al mio letto... e che
mentre l’ho veduto prodigarti tutte le premure d’un fratello... l’ho
veduto, Angela!... l’ho veduto guardarti con quella dolcezza che
domanda una parola di concambio, per lunghi istanti!... rapito in te
come da un pensiero che si svegliasse allora sepolto nel suo
animo!... tu non hai compreso nulla, Angela!... Ma io sì che ho
compreso!... io... che cercava intorno a te un cuore che potesse
vivere per far lieta la tua esistenza!...
— Lui!... mormorò Angela pallida più della morente!... oh è
impossibile, madre mia!...
— Egli ti ama!... Angela!...
— Il dottore!... ripetè la fanciulla come volesse persuadere sè stessa
di ciò che aveva inteso, agitata da un vago senso di indicibile terrore.
L’ammalata la guardava con quel suo sguardo che parea le
chiedesse un ultimo conforto.
Al pensiero d’Angela lampeggiò un baleno, quel baleno comprese
tutta un’esistenza!... fu un risovvenirsi di ogni minimo particolare che
era concorso a segnarne i passi... Bello della sua maschia fierezza,
della sua ingenua lealtà, gli apparve Adolfo!... Adolfo, che aveva
salvata la vita al padre suo generosamente esponendosi ai colpi di
una masnada infellonita!... Adolfo... che ella aveva amato come
sentiva di poter amare il suo cuore puro ed ardente!... che era
scomparso dopo quella notte fatale in cui aveva perduto il fratello...
Adolfo di cui più nulla aveva inteso... che le si era eclissato d’innanzi
agli occhi abbagliati, come una visione; come uno di quei sogni
durante i quali si teme di svegliarsi per non subire lo sconforto d’una
delusione tanto più amara con quanto maggior fascino si offersero al
nostro spirito!...
Poi l’immagine del dottore gli si era presentata vestita di fosche
tinte... si rammentò che anche ad Adolfo era disgustosa quella sua
quasi forzata intrusione nella sua famiglia... ma poteva ella farsi una
giusta misura di questa impressione?... Non poteva essere una di
quelle mille bizzarrie della sorte, per le quali si è inclinati talvolta a
sentimenti inesplicabili di simpatia e di avversione?... Infine, che
poteva ella imputare a quell’uomo tranne quel suo attaccamento
geloso quasi, e che forse le tornava opprimente per la sua strana
insistenza?... non era ciò in lei una sconoscenza, piuttosto... alla
quale sentivasi in obbligo di riparare in ammenda dello sprezzo con
cui talvolta aveva risposto alle sue cure, ed all’avversione con cui le
aveva accettate?...
Oppressa sotto l’incubo di tali pensieri Angela si tacque e chinato il
capo sul seno palpitante parea stesse in attesa d’una parola che
dovesse piegarla fragile giunco sull’altare del sagrificio!...
Il dottore si mostrò sulla soglia.
— Venite, dottore... mormorò l’ammalata.
Il dottore accorse e baciò con affetto la mano della morente... — La
fareste voi felice, dottore?... gli disse ella volgendo un timido
sguardo sulla fanciulla che stava annichilita ai piedi del letto...
— Io?... esclamò il dottore il cui sguardo lampeggiò di gioia
chinandosi sul volto di Angela sino a suggerne l’alito anelante!... E
che?... voi vorreste, signora...
— La felicità di Angela!... mormorò la marchesa, con voce che s’era
fatta fioca... fioca...
Dal petto della fanciulla irruppe un singhiozzo. Gli occhi della
marchesa s’eran chiusi; stette immota per alcuni istanti come sfinita
da quello sforzo. — Salvatela!... salvatela, dottore!... gridò Angela
afferrandogli ambe le mani.
La morente schiuse le ciglia... vide Angela ed il dottore chini, intenti,
ansj sul suo guanciale. Levò con estremo atto la destra che posò sul
capo abbattuto di Angela, sorrise e spirò!...
Due giorni dopo sopra una fossa del cimitero cadeva a vangate la
terra gettatavi sopra dal becchino, inesorabile tumulatore d’ogni
grandezza umana; una fanciulla vestita di nero piangeva su quella
tomba, un cocchio aspettava al cancello del Cimitero, e al cancello
attendeva pure un uomo, che stavasi muto ed impassibile
guardando quella vaga immagine di fanciulla inginocchiata presso
alla pietra sepolcrale sopra cui il prete, dopo che vi fu distesa l’ultima
vangata di terra, pregò in tuono freddo e lugubre — Pace!...
CAPITOLO XXXII.
Un banchetto di nozze che non finisce come
tutti i banchetti.

Splendono di faci le ampie sale del palazzo della Valle; vi si ode un


rumore insolito, la gente vi trae d’intorno e si parla a sommessa voce
come d’un avvenimento. Si guarda a quell’edificio che fu silenzioso e
muto come una tomba sino a quella notte in cui vi si sviluppa la
vita!... e si susurrano strane cose Si era parlato del matrimonio della
figlia del marchese Gian Paolo... Nello sposo si era riconosciuto il
nipote del vecchio negromante... e parve di sinistro augurio quel
festeggiarsi nella casa del diavolo, quelle nozze che s’eran strette
tacitamente al letto d’una moribonda. Non vi era concorsa la
splendida pompa di un rito; non si eran veduti splendidi equipaggi
scorazzare la città. Una carrozza chiusa era entrata dal portone del
palazzo. La sposa ne era scesa pallida ed abbattuta. Un’altra
carrozza vi formava corteggio; i battenti dell’ampio portone si eran
rinchiusi... Tra gli sposi ed il resto della città sorgevano le alte mura
disadorne del palazzo; parea a tutti che intorno a quelle mura che
solean guardare con paura si scorgesse un cerchio magico di fuoco
come quello che segnan le streghe intorno al campo delle lor
tregende. Era tanto tempo che non si parlava di Enrico... L’erede
della casa della Valle che era partito da qualche anno, nè si sapea
per dove!... Parea ad alcuni che fosse comparso qualche volta nei
dintorni della casa deserta, che vi fosse entrato una notte e ne fosse
uscito tosto, e si vociferava di un delitto che si era compiuto quella
notte istessa. Ma erano voci vaghe, eran parole che s’avea paura a
pronunciare per tema che il diavolo che metteva mano nelle cose del
nipote del mago e che avea stanza nel palazzo maledetto, mettesse
le corna negli affari di chi si interessasse troppo dei suoi!...
Quell’uomo che aveva patteggiato col demonio la sua sorte, che
avea fatto echeggiare le vôlte delle vaste camere del palazzo della
Valle delle scomposte grida dell’orgia! che poi era sparito!... come
mai poteva aver contratto matrimonio con una sì vaga fanciulla qual
era la figlia del marchese Paolo?...
Quello che pareva più strano ancora era ch’egli avesse lasciata
deserta la casa della Valle, mentre per aver sposata la figlia del
marchese dovea pur aver abitato la città... la corte, con cui la
famiglia del marchese era in contatto... e le dicerie sbrigliandosi
all’impazzata prendevan strane forme, e si diceva che per compiere
quella sua opera di stregheria avesse assunti aspetti sotto cui
passava incognito agli occhi di tutti, e si lasciava solo vedere da
quelli da cui volea esser veduto. Dicevasi ch’egli entrava nel palazzo
senza che la porta si aprisse, e che quand’egli entrava si sentivano
rispondergli gli spiriti che lo abitavano; quegli spiriti, dicevasi, aveano
una voce che parea un canto di sepolcro quando salutavano il lor
signore.
Angela sentì il rumore della porta del palazzo che si chiudeva dietro
lei piombargli sul cuore come quello d’una prigione che separa il
recluso dall’esistenza.
Entrava nella casa del suo sposo, lasciava quella ove era nata. Ciò
era naturale. Eppure le parve che si staccasse da tutto ciò che le era
caro; sino dalle memorie del suo passato. E l’avvenire?... la povera
fanciulla non osava spingervi il pensiero... l’uomo che sua madre
aveale dato dal suo letto di morte a compagno de’ suoi giorni, le
aveva detto: Venite... Ella era andata!...
Aveva dato un addio al giardino dove correva giuliva cogliendo fiori e
farfalle!... dove più tardi avea sentito l’alito ardente di un bacio
infuocargli la guancia!... Al balcone dove lo aspettava trapuntando
un nome in sembianza di fiore!... a tutto ciò che gli parlava di lui,
della sua infanzia. Aveva chinata la fronte come una martire... volea
veder sorridere sua madre, e pagava quel sorriso col prezzo della
sua vita! era pagarlo molto!...
Quando la carrozza si fermò nella corte essa si riscosse dai suoi
pensieri... Suo marito le porse la mano, essa vi si appoggiò
tremando; un sogghigno errò sulle labbra di quell’uomo il cui occhio
nero e scintillante parea scrutasse le più segrete latebre di quel
giovane cuore per trarvi il mistero de’ suoi palpiti anelanti.
— Vi faccio sempre paura?... domandò egli coll’accento di una
compita galanteria, ch’era in lui il più insultante dei cinismi.
La giovinetta fremè e non osò levare sopra lui il suo sguardo di
vergine, che avrebbe indovinato la lascivia del demone!...
In un angolo del cortile si vide agitarsi una forma vivente. Era una
specie di saio bigio mezzo nascosto dalle tenebre, da cui usciva una
testa bianca che si tese intenta a guardare.
Angela impaurita, si strinse al braccio del marito.
— Affè! disse questi ridendo, vi sgomentate per ben poco! è la
vecchia custode del palazzo che vorrebbe vedere la sposa! Marta!...
vecchia strega!... gridò egli con accento di mordace ironia; cacciati
nella tua tana e non metter fuori i tuoi occhiacci che spaventan la
mia bella!... Affè! nol sai ancora che fai paura ai morti con quel tuo
viso da megera?
Non si agitò più nulla nell’angolo del cortile.
— È sparita come ad uno scongiuro, disse ridendo Enrico, che si
passò sotto al braccio la mano tremante d’Angela.
Dalla carrozza del corteggio era scesa una brigata di giovani che si
fecer intorno agli sposi.
— Amici! la tavola ci aspetta, disse loro Enrico accennando coll’atto
di precederli, ed affè! che le mura di questa casa hanno ben bisogno
di sentire un po’ l’allegro cozzo dei bicchieri vuotati in un giorno di
festa!...
Era imbandita una sontuosa mensa nella gran sala del palazzo. Era
una vasta sala che abbracciava tutta l’ampiezza del fabbricato.
Splendeva di doppieri, e le pareti ornate di vaghi dipinti, parean
sorridere agli sposi; il sorriso degli amorini e degli angeli pareva fatto
più vago da quello sfarzo di luce, da quella pompa di ricchezza.
Diroccata come è, la si vede anche ora nell’immensa vastità del suo
spazio, co’ suoi quadri che appena appena conservano qualche
vestigio della loro antica splendidezza. Dovevano essere capolavori
d’arte; ora non sono più che informi frastagli... scheggiature di ciò
che erano, intorno a cui si ammucchia il frumento. Era una magnifica
sala che ora si è terrazzata facendone due piani da usufruttare come
magazzeno.
Dopo qualche ora l’orgia vi si era accampata regina!... s’era
inneggiato agli sposi, ed all’amore; si era inneggiato alla voluttà ed al
piacere, ed Angela che pensava al pallido viso di sua madre
morente, sentiva alle sue orecchie rintronate da quel fragore un
ronzío di parole che suonavan bestemmie al suo animo non
contaminato. Pallida e muta come una statua di marmo a quel
banchetto del vizio che calpestava ogni pudore per sbrigliarsi nella
sua dimostrazione più aperta. Oh come essa avrebbe benedetto a
Dio, se Dio avesse potuto toglierla a quell’abisso in cui si sentiva
trascinata da una inesorabile fatalità!... Ma a che serve la preghiera?
stolto delirio del pensiero che si tributa ad una larva muta ed
impotente nella sua fatua impassibilità... Ella comprese tutto!... tutta
la menzogna di quella vita di apparenti sagrificii, di false
abnegazioni!... essa comprese la ragione dei suoi arcani
presentimenti... si vide perduta!... le balenò trucemente al pensiero
la sparizione del fratello... quella di Adolfo... Guardò suo marito e
vide sulle sue labbra uno di quei sogghigni che tante volte vi avea
colti a volo quando stavan per vestirsi coll’ipocrisia del sorriso!...
comprese tutto... e dinanzi a lei vide l’indissolubilità d’un nodo che
l’univa a quell’uomo per cui il suo orrore era pari al disprezzo!...
Amare un essere da cui si sente d’esser divisi, e divisi dalla mano
stessa che vi stringe come in un artiglio di demone!... Voler, potendo,
rinunciare alla vita per sottrarsi a lui!... Voler, potendo, patteggiare
l’eternità d’un supplizio per avere un’ora di gioia!... e dover darsi a
questo essere mostruoso da cui sentite che vi vengono tutte le
vostre sventure!... Esser vicini a concedergli ciò che custodite
gelosamente nel sacrario della vostra anima e dover dire:
quest’uomo è mio marito!... quest’uomo ha un diritto sopra di me che
la legge gli accorda, a cui io non posso sottrarmi!... È una cosa ben
orribile!... Era questo lo stato d’Angela dal momento che le si
squarciò dinanzi la benda! dal momento in cui imprudentemente suo
marito gli avea detto: guardami!... sono non come fui, ma come mi
avrai per sempre! La povera fanciulla sentì che la ragione si
smarriva; sentì le sue tempia battere come se il cervello stesse per
schizzargli fuori!... e volse uno sguardo supplice a quell’uomo che la
dominava col suo fascino da serpente.
— Amici! esclamò egli levando colma la tazza; alla salute di mia
moglie!... ho divorato un’eredità, ma ho dato la caccia ad una dote!
Parce sepultis! ed ora posto a tutti!... Egli lasciò cadere il bicchiere
vuoto sulla tavola e ricadde ebbro. Angela gettò un grido e si lanciò
verso la porta.
Scrosciò un riso sotto alle vôlte della sala; sulla soglia era apparsa la
vecchia Marta avvolta nel suo scialle grigio. Essa avea l’aspetto di
un fantasma; la sua testa bianca e calva usciva come da quella
forma d’imbuto attortigliato: le occhiaie profonde mandavano un
raggio... quel raggio si posò melanconicamente in volto alla
fanciulla... quella fronte di marmo livida e raggrinzata si animò come
accesa dal soffio d’un pensiero... le sue braccia scarne si protesero
verso Angela, che non arretrò impaurita... Il largo sciallo si aperse...
e fanciulla e fantasima sparvero come un baleno!... I convitati
balzarono dalle seggiole, ma vi ricaddero guardandosi in volto pallidi
di terrore. Enrico mandava dalla gola il suo rantolo d’ubbriaco. Un
silenzio di morte era succeduto al vivo frastuono dell’orgia!...
CAPITOLO XXXIII.
Il Convegno.

Era una notte tetra ed oscura quella in cui Adolfo si recò al convegno
del ponte della Croce. Era arrivato la sera al paese, aveva
abbracciata la vecchia Margherita che non si saziava dal guardarlo e
le pareva essere un miracolo del Cielo il vederselo d’innanzi, bello,
giovane, cambiato di modi... Un giojello per cui avria tolto patto di
morire sul momento per vederlo, se appunto in quel momento non
avesse sentito di più il desiderio di vivere per prolungare quella gioja
che le era tanto cara, perchè le fu sì a lungo tardata. Davvero!... che
s’ha da esser tanto matti, da non aver senso comune quando si
dice... (credo per burla) avere la tal cosa!... e poi morire!... è vero
che le son cose che non si dicono che quando s’è innamorati...
vederti!... averti!... con quel che segue!... e in tal caso c’è tanta
materia in capo da far girar la bussola a modo da dir queste ed altre
bestialità, a cui la ragione non dà il passaporto... e si rimandan da
dove son venute!...
Adolfo s’era armato del suo fucile ed aveva lasciata la vecchia
Margherita che gli corse dietro sin sulla soglia scongiurandolo in
nome di tutti i santi a non cacciarsi in qualche brutto impiccio, chè la
fisonomia del giovane gli diceva chiaramente ch’ei non pensava a
gingilli!... e la carabina che s’era messa ad armacollo le parea più
terribile d’uno scongiuro al diavolo per cui quella notte parea fatta
apposta ond’ei ne avesse sollazzo!...
Adolfo appoggiato alla sua carabina ritto sul fianco sinistro del ponte,
attendeva. Un debol raggio di luna che si fe’ largo tra le nubi che si
accavallavano per lo spazio, projettava la gigante sua ombra al
disopra degli sterpi della siepe vicina ed irraggiò per un istante quel
pallido viso, bello come una di quelle maschie figure del Rembrandt,
che fanno sì stupendi i foschi suoi quadri!... La sua pupilla parea
rapita in profonda astrazione, ed aggiravasi con moto rapido ed
inquieto nell’orbita dilatata in quell’attitudine naturale in chi vigila
sulla propria sicurezza!... in chi si cimenta ad uno di questi giuochi
terribili in cui si mette a posta la vita!... Il solo lampo di quello
sguardo lo diceva vivo... cupo ed immoto così come ei si stava si
saria preso per un simulacro che si confondeva colle tenebre. Dietro
di lui si avvallavano le praterie distese sul fianco destro della strada.
La valle dava l’idea d’un abisso coperto di nebbie; davanti a lui per
ripido declivio s’innalzava la montagna colle alte sue vette screziate
dai baleni d’uno spesso lampeggio che veniva preparando la
procella.
Le fronde degli olmi stormivano appena, agitate da un’aria grave,
umida. S’intese un fischio acuto, prolungato... pareva un segnale.
Adolfo si scosse, un fremito corse le sue fibre, portò la mano
all’arma ed aspettò...
Sullo svoltar del sentiero che faceva capo al ponte parvegli scorgere
un’ombra la quale mosse alcuni passi e poi ristette — Chi va la?...
gridò il giovane.
Si ripetè il secondo fischio.
— Ci sono — disse Adolfo.
— Eccomi — rispose la voce...
I due uomini mossero l’uno verso l’altro... Adolfo ed Ambrogio il
carbonaro, questi due uomini, congiunti in un pensiero dalla fatalità
che li aveva tratti l’uno verso l’altro!... che aveva fatti l’uno stromento
dell’altro!... si incontrarono... estranei l’uno all’altro, eppur attratti
entrambi da un senso di interessamento comune. Adolfo non
presentì che egli era vicino all’uomo che aveva patteggiato
l’assassinio di suo padre; Ambrogio non provò terrore alla vista del
figlio di colui alla cui morte egli aveva concorso colla sua opera; a
colui che forse avrebbe ucciso, se il caso non glielo avesse spento a
scanso di fatica!...
Eran l’uno per l’altro un anello di ricongiungimento all’avvenire; che
importava il passato?... Adolfo, chiedeva il nome d’un uomo da
maledire e da punire... Ambrogio sperava il perdono od il castigo ed
offeriva la vita in ammenda della sua colpa.
— Ho ricevuta una lettera... mi veniva dato un convegno e sono
venuto, disse Adolfo fissando il suo sguardo sul carbonaro.
— Sono io che la scrissi... e venni... gli rispose Ambrogio dominato
da profonda emozione.
— E potete?... esclamò il giovane con trasporto, facendo un passo
verso quell’uomo.
— Ve lo scrissi... espiare il mio passato... e dirvi il nome dell’uomo
che non potendo disonorare vostra madre vi ha ucciso il padre!...
— Voi... Io vi benedirò come un angelo!...
— Voi mi maledirete... mormorò Ambrogio sulla cui fronte passò
un’ombra di tristezza... Si fece un istante di silenzio.
— Maledirvi!... ripetè Adolfo!... Ma non sapete che sin d’allora che al
letto di mia madre morente, lo vidi insultare alla sua agonia... ho
giurato che Dio istesso non potria strapparlo alla mia vendetta!...
perchè dove egli fosse io l’avrei sentito!... perchè la natura devo pure
avere un palpito che dica al figlio — ecco l’assassino di tuo padre!...
Un madido sudore bagnava la fronte di Ambrogio... — Eppure non lo
avete trovato!... disse egli!... eppure ove la voce d’un uomo che vi
parrà ben reo... e che ha bisogno del vostro perdono, non vi dicesse
chi è quest’uomo... voi non lo trovereste... perchè non è vero... no...
che il sangue delle vittime si imprima sulla fronte dei caini!... perchè
io... vedete!... io ho ucciso!... e nessuno ha scoperto sulle mie mani il
sangue di cui mi sono tante volte lordato.
Adolfo... strinse involontariamente la canna del suo moschetto e
retrocedè d’un passo... Ambrogio sorrise.
— Giovane, disse egli... se volli dirti ciò si fu perchè la vita ha le sue
realtà, come la coscienza i suoi rimorsi... un legame di sangue ha
unito il segreto che tu chiedi alla mia vita... quale esso sia lo saprai...
ma or non di me... ma di tuo padre io voglio parlarti. Di tuo padre che
io ho veduto spirante sotto alla mia capanna di carbonaro, e di cui ho
numerato il palpito che ne accelerava la morte che mi risparmiava un
delitto... perchè io l’avrei ucciso ove egli non fosse morto!...
— Tu!... gridò Adolfo... che aveva mosso un passo verso Ambrogio,
pallido di terrore, ed in atto di suprema minaccia!... Le sue mani
rattratte nella convulsione di quell’impeto avevan sollevato l’arma su
cui si poggiava fremendo, e che a guisa d’una mazza stava per
piombare sul capo del carbonaro... Un lampo balenò al suo pensiero
nell’atto che il colpo fatale stava per scendere inesorabile e
tremendo — La sua mano s’arrestò, l’arma ricadde senza ferire...
strinse il braccio del carbonaro e gli mormorò all’orecchio con voce
che nulla aveva d’umano — L’uomo!... l’uomo che ti pagava questo
assassinio!... vuoi tu palesarmelo, miserabile?...
— Era quanto voleva dirvi... gli rispose Ambrogio il cui volto rimase
calmo... soltanto la sua fronte erasi fatta d’un livido pallore... egli
aveva aspettata la morte...
Si fe’ silenzio... un silenzio di pochi attimi che parve una eternità ad
entrambi... tutto ad un tratto Adolfo levò il capo... Ambrogio pure fe’
un atto... entrambi si scordarono colpiti da un’uguale sensazione.
Parve loro d’aver inteso un rumore di voci... poi come uno stormir di
fronde... ascoltarono più nulla s’intese... un lampo serpeggiò in fondo
alla vallata... guardarono, non vider nulla... tutto d’intorno a loro era
tenebre e silenzio.
— A costo della mia vita vi ho qui chiamato per questa rivelazione
che mi pesa sul cuore come un rimorso, riprese Ambrogio... sì... io
fui lo strumento di cui una mano infame si servì a compiere un delitto
che dava sfogo ad una vendetta... Voi dite d’averlo veduto al letto di
morte di vostra madre!... quest’uomo che si è messo tra voi e la
vostra famiglia come un aspide!... che ha mercanteggiato
l’assassinio d’un uomo!... che ha fatto morire di dolore una donna!...
ebbene... sapete voi perchè... quand’anche aveste dovuto uccidermi,
io sono venuto qui... solo... per svelarvi questo segreto della mia
vita?... perchè io sento in me che l’esistenza di quell’uomo è una
minaccia permanente, eterna che sovrasta a voi... perchè il rettile
che s’avviticchia alla preda non la lascia fin che non ne resti ombra...
e finchè voi vivete!... egli sarà presso di voi!... v’era una donna che
egli avrebbe uccisa perchè non fosse d’altri che sua... ed egli non
può non far erede del suo odio insoddisfatto il figlio di questa
donna!... voi non lo avete incontrato mai?... dite voi?... ebbene!... è
una menzogna la voce che avrebbe dovuto dirvi egli è là!... perchè
egli deve essersi cacciato sul vostro cammino come l’edera che
s’avviticchia all’olmo!... come la serpe che striscia tra gli sterpi!... egli
si deve essere cacciato tra voi e la felicità ogni qual volta voi siete
stato per toccarla...
— Il suo nome... il suo nome!... mormorava Adolfo!... nella cui mente
pareva s’andasse formando un pensiero animato dall’esaltazione del
carbonaro sul cui labbro quelle parole pareano assumere la forma
d’un’arcana divinazione!...
— Il nome!... ripetè egli, domandatelo alle donne ch’egli ha
svergognate, alle famiglie in cui si è intruso, operatore di malefici...
sgherro tra gli sgherri del duca era chiamato il mago del castello!... e
poi che fu scomparso dalla scena delle sue turpitudini, venduto
com’era a chi meglio patteggiava la sua coscienza, ricomparve
l’erede d’una casa maledetta!... Erede d’un tesoro che ha dilapidato
là... dove voi eravate... ricco in mezzo a quel serraglio di ganze che
è la corte dei Gonzaga!... e si chiamava...
— Lui!... gridò Adolfo colpito come da subita rivelazione... livido il
volto di terrore, lui!...
Due spari rintronarono per l’aere... due lampi che quasi si fusero in
un solo come prodotti da un solo scatto, rischiararon le tenebre...
due grida di dolore uscirono da due petti... due uomini caddero... due
uomini si slanciaron fuori da un cespuglio e corser verso i caduti. Dal
destro lato della via s’intese il galoppo d’un cavallo... i due banditi
ristettero... la forma erculea d’un uomo si vide sorgere di sopra alla
siepe... Il galoppo avanzava, dalla bocca dell’uomo uscì una
bestemmia e scomparve correndo giù verso la vallata seguito dal
compagno.
Il cavallo che venia di corsa... si era fermato restio... e scalpitante
innanzi al ponte della croce!...
— Che il diavolo ti porti!... mormorò il cavaliere... Ebbene, cos’hai?...
e gli diè di sproni nel fianco... l’animale non si mosse.
— Per Dio!... gridò il cavalcatore indispettito... padron Beppo me ne
dirà di belle per la testardaggine di questa malnata rozza!.. e
borbottò di nuovo tra sè qualche sonora imprecazione come per dar
forza al suo ragionamento!... Gettando allora uno sguardo innanzi a
lui... il cavalcatore che era un cavallaro del paese s’accorse che là
s’era compiuta qualche trista faccenda... e non tardò ad avvedersi
che due uomini stavan stesi sul terreno...
— Ha più giudizio che non sembra questa maladetta rozza, disse fra
sè e scese.
Era un certo Antonio giovane di stalla; il suo padrone teneva locanda
proprio presso alla casa di Giulietta... Il ponte della Croce aveva
bastevol rinomanza per dargli tosto a capire di che si trattasse, nè
tardò molto a comprendere il perchè avesse intesi quei due colpi che
gli avean fatto affrettare il passo a tutta corsa. Come ei fu presso ai
due caduti riconobbe tosto Ambrogio il carbonaro, e diè
un’esclamazione di sorpresa; l’altro nol conobbe, chè Adolfo
mancava da troppo tempo, ed era ben cangiato da quand’era partito
dal paese, d’abiti e di modi e nel volto, che gli si era ingentilito in
quella nuova vita nella quale s’era messo.
Ambrogio era stato colpito al petto, ed era morto; il cuore di Adolfo
batteva ancora; le sue labbra articolarono un lieve lamento; il
giovane si chinò sovra di lui. Che fare?... non era quello il luogo più
adatto a meditare sul da farsi, ed era la più spiccia torlo alla meglio
di là... A dir vero egli si guardava d’intorno poi con tanto d’occhi
spaventati da far credere che egli non vagheggiasse altro che una
buona corsa; si stese sul davanti della cavalcatura il ferito, lasciò il
morto ove si trovava, chè ormai non potea più trovar incomoda la
sua posizione, diè di sprone al cavallo... e s’avviò difilato verso il
paese... Adolfo vi fu tosto riconosciuto e recato alla vecchia
Margherita; essa lo vegliò colle cure tenere di una madre, ed andava
borbottando ad ogni leggier lamento che escisse dalle sue labbra
che copriva di baci. L’aveva detto io!... il diavolo questa notte non
poteva a meno di mettervi le corna!...
CAPITOLO XXXIV.
Sparita!...

I convitati d’Enrico cessaron dalle risa e si guardaron sbigottiti; un


arcano terrore si dipinse sui loro volti fattisi lividi. Quella scena muta,
rapida, ed imponente aveva qualche cosa di strano. Nella mente
d’ognuno sorsero vaghe paure di fantasmi e di spettri; quella vasta
sala quasi nuda d’arredi... quel palazzo che fu deserto per tanto
tempo ed il cui silenzio di morte erasi violato quella notte dalle grida
scomposte dell’orgia, assunse quelle forme chimeriche per cui dal
popolo lo si teneva in conto come d’una casa maledetta dove i
demonj venissero a danzarvi la tregenda. Ripensaron cose a cui
prima avevan sorriso con disprezzo.... La lampada che illuminava
quel quadro pareva che oscillasse ai loro sguardi... e projettasse
lampi di luce sanguigna... Il grido della sorpresa morì soffocato nella
loro strozza, e quando Enrico scosso dal torpore in cui lo avevan
tenuto le troppo frequenti libazioni, eccitate dalla febbrile sua
esaltazione, sorse dal suo posto e cercò a sè vicina la sposa, e
richiese collo atto i suoi esterrefatti compagni.... trovò tutti quegli
sguardi fissi su lui... quei volti spauriti!... Egli provò una strana
sensazione quasi di paura!... gli parve che qualche cosa di terribile
succedesse d’intorno a lui, ben non sapea che cosa... che la sua
mente non ancora libera ben non comprendeva.... pur presentì che
qualche cosa, che che si fosse, doveva essere avvenuto di strano!...
Quando gli fu detto che Angela era sparita, che un fantasma
comparso sulla soglia improvvisamente l’aveva involata a quel
banchetto... rapita a lui!... che ebbro di lascivia pregustava già col
pensiero le gioje dell’imene!... un grido di rabbia ruggì sulle sue
labbra, i suoi occhi rotearon sanguigni nell’orbita, le pugna serrate
minacciarono il cielo, e parver sfidare l’opera qual si fosse che si
frapponeva tra lui e la sua vittima... Ma sopra il suo capo non era
che la vôlta della sala fregiata dei suoi dipinti, colle sue figure
sorridenti ed immote... colle sue immagini di guerrieri e di vergini...
Intorno a lui regnava il silenzio dello sbigottimento, l’orgia non aveva
più le sue grida allegre e spensierate, il canto non rallegrava più la
mensa nuziale.... Marta!... Marta!... gridò egli lanciandosi sulla soglia
della sala.
Marta!... ripetè l’eco che si perdeva lontano lontano.... Marta!...
Marta!...
Pareva uno scherno che finisse con un gemito....
Si gettò all’impazzata giù dalla scala.... scese nel cortile, e chiamò
ancora.
Chiamò finchè nell’impotenza d’uno sforzo convulso la bile
rimescolata nel sangue gli soffocò nella strozza la parola e ne uscì
informe gorgoglio.
Nulla!... regnava nel palazzo un lugubre silenzio.... parvegli solo
d’aver inteso un riso che nulla aveva d’umano.... Enrico si lanciò
verso l’ala sinistra del caseggiato da dove gli parea fosse venuto
quel riso.... si trovò d’innanzi la porta da cui si metteva ad una
stanza dalla quale era uscito tanti anni addietro quando la vecchia
Marta sentiva il martellar d’una picca, e le parve d’intendere il cader
come d’un corpo nell’acqua che sotto vi scorreva, ed arretrò
impaurito come se sovra quella soglia si fosse rizzato uno spettro a
contendergli il passo!...
Quando i suoi compagni scesero in cerca di lui, lo trovarono ritto,
immobile nel mezzo del cortile, fisso lo sguardo su quella porta ed in
preda ad una di quelle arcane impressioni per cui il linguaggio
umano non ha che l’enigma d’una parola, povera forma vincolata da
mille convenzioni, fatua larva in faccia a quell’immenso mistero che
è l’esistenza!...
CAPITOLO XXXV.
Salvo!...

Il giovane cavallaro che aveva recato Adolfo sulla groppa del suo
cavallo e che in sì buon punto era arrivato ad impedire che lo si
finisse del tutto come quei messeri non avrebbero tralasciato di fare,
come fu giunto al paese collo strano suo carico, fe’ avvisare padron
Beppo, il quale fatte mille meraviglie per il che e per il come, dopo
aver ordinato d’allestire il miglior suo letto, e chiamata la moglie a
dargli mano fe’ trasportar sopra il ferito, mentre mandava tosto pel
medico che non si fe’ aspettare.
Guardata la piaga, interrogati i battiti del cuore, la rapidità delle
pulsazioni, egli dichiarò essere la ferita pericolosa, che però nessun
organo vitale del petto era leso, e potersi sperare ancora la
guarigione da una cura vigile ed assidua.
Fu avvisata Margherita, la sua vecchia governante che vi accorse
piangente e disperata; venne il buon parroco ad averne nuova, e
seppe come Ambrogio fosse caduto vittima di quell’aggressione che
egli non sapeva a che attribuire ed a cui applicò il suo più semplice
significato, e ritenne per un’aggressione nè più, nè meno di quelle
che non eran troppo rare a succedere in quei tempi di violenze e di
rapine....
Il carbonaro aveva espiata la sua colpa, Dio gli perdonerebbe.... ed il
buon prete, ministro di perdono, pregò per lui, e credette colla
preghiera intercedergli l’eterna misericordia ch’ei si era guadagnata
coll’espiazione.
La ferita di Adolfo lasciò molto a temere per qualche tempo, ma poi
non tardarono i primi sintomi d’una prossima convalescenza; a poco
a poco il pallore delle sue guancie si animò, nello sguardo scintillò la
vita che parea fuggisse collo scorrer d’ogni giorno... giorni
d’angoscia e d’affanno per la povera vecchia che vegliava al suo
letto d’agonizzante colla premura d’una madre!...
Finalmente ei fu salvo... Il dottore lo dichiarò colla compiacenza di sè
stesso, e con somma gioja di quanti s’interessavano per il giovane, a
cui tutti quei del paese avevano simpatia e che lo sospettavano
vittima di qualche infame tranello.
Non appena coll’animarsi in lui della vita, la mente lo ritornò alla
piena conoscenza dell’esser suo, due pensieri gli si affacciarono,
occupando tutte le sensazioni della sua anima; Angela!... la vaga
fanciulla, che aveva incontrata sul suo sentiero come una
benedizione del cielo!... e congiunta a quella soave immagine....
Mostruoso insieme d’un’idea che assimilava i palpiti più dolci del suo
cuore, ai fremiti convulsi del suo odio furente, alle trepidazioni del
suo terrore angoscioso, un fantasma d’uomo... Egli l’aveva
indovinato sulle labbra d’Ambrogio... egli l’aveva presentito, l’uomo
che era sorto tra lui e la felicità, col suo beffardo sogghigno da
demone.... L’uomo ch’egli aveva chiesto a Dio per colpirlo col
braccio armato delle sue folgori vendicatrici... quell’uomo era là...
vicino ad Angela!...
Il giovine si agitò sul suo letto come il torturato sull’aculeo che lo
strazia!... Ei non sentì le sue carni lacerarsi, nè le sue membra
frangersi... ma in quella tortura terribile dell’impotenza che vorria
trovar la forza nella convulsione del desiderio... quando in questo
desiderio si accentrano tutte le aspirazioni dell’animo... ei provò ciò
che nè gli aculei, nè i carnefici hanno mai fatto provare alle loro
vittime... Il corpo sviene sotto la pressione d’un dolore... nelle
membra rotte cessa il palpito che le anima.... la natura ha imposto
una sosta al martirio, ha lanciato una sfida ai martirizzatori... Alla
forza che strazia... ha detto... qui ti fermerai perchè al di là di quel
dolore vi ha il deliquio o la morte... Due sonni che sono una sosta del
martirio... Ma v’ha qualche cosa di più orribile della tortura
dell’aculeo e di tutto quell’apparato di tormenti con cui la tirannide
credette far sfoggio della sua potenza impotente... ed è l’accentrarsi
del pensiero in un’idea fissa, irremovibile, eterna come il tormento
che vive con lei... Muta perchè non chiede, e non ascolta; chiusa in
sè... per cui tutto non è più che lei sola!... quando ogni palpito si
anima in lei... ogni atto è lo scatto d’un sol fremito, febbrile,
vertiginoso, convulso. Aver d’innanzi al pensiero ciò che sia
l’angoscia più disperata dell’anima... Vestirla con tutte le forme del
delirio... e per distruggere questo sogno che è una realtà, voler dare
la vita... sè stessi, tutto... e sentirsi impotenti a fare... Impotenti a
lottare contro questo pensiero che è là... d’innanzi a voi... come un
insulto orribile!... mostruoso sarcasmo della fatalità che si fa giuoco
della disperazione. Voler frangere la catena che danna a vita il
forzato... voler atterrare le mura che lo seppelliscono come in una
tomba, e meno che voler distruggere un delirio che è in voi, che fa
parte di voi... a cui voi date vita... che vi tortura eternamente, e che
eternamente s’incarna con voi da farne un tutto!... Se una catena si
può frangere per quanto salda sia... se le mura d’un carcere si
possono atterrare... v’è qualche cosa d’impossibile.... ed è la
distruzione del pensiero, fatuità indefinibile che vi traduce una realtà
con tutte le forme della vita, che ve le sminuzza d’innanzi... che vi
trasporta sino a toccare, a vedere, a sentire... Era questo lo stato di
Adolfo... Egli vedeva quella figura d’uomo che era l’assassino di suo
padre... l’uccisore di sua madre!... schifosa sembianza di ragno che
intorno ad un viso di angelo stendeva le immonde fila della sua
tela... Egli vedeva quell’agonia della vittima che si dibatte contro la
brutalità del carnefice... E mentre coll’alito avria voluto distruggere
quell’orribile sogno che era una verità ch’egli presentiva... si trovava
là... corpo animato dalla vertigine che si disfaceva sotto lo sforzo del
voler rifarsi per essere diverso da ciò che era...
Da questo stato d’agitazione non ne poteva venire di conseguenza
che un continuo peggioramento del ferito. Lo scorrer di qualche
mese non fu che un continuo trepidare per la sua esistenza per
quanti s’interessavano intorno al suo letto... la gioventù vinceva è
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebooknice.com

You might also like