2
BOOK REVIEWS Mapping in the cloud, by Michael P. Peterson, New York, The Guilford Press, 2014, 421 pp., US$65.00 (paperback), ISBN 978-1462510412 Michael P. Peterson integrates cartographic principles with web-based mapping practices in Mapping in the Cloud. In 23 chapters that alternate between theory and practice, this book broadly overviews topics ranging from map scales to mashups with almost everything in-between. The book is well written, provides brief historical contexts on many topics, and is complemented by a companion website with PowerPoints, assignments, and code examples. Unfortunately, multiple errors in code examples, both in the book and on the website, may quickly distract and frustrate readers learning to program. Due to the broad coverage, few topics are covered in great depth making this text suitable for students or potentially seasoned car- tographers interested in learning about the many varied aspects of web-based mapping while relying on other texts to provide further details for topics of interest (program- ming in particular). I was already considering using this book for my Web and Mobile GIS course before agreeing to review it, so as I read the chapters I was simultaneously evaluating it to use in my course as well as for this review. Traditional geographic topics are discussed throughout the book including map scales, projections, GPS, geocoding, and point maps. To facilitate the discussion of web-based mapping, this book introduces HyperText Markup Language (HTML) and JavaScript programming with numerous annotated coding examples. Chapter 10, in par- ticular, piqued my interest in this book, because it covers multiple programming interfaces including Google Maps, Microsoft Bing Maps, and OpenStreetMaps enabling stu- dents to see the similarities and differences among the many web-based mapping interfaces. An unfortunate by- product of having numerous annotated code examples is that the text begins to lag behind the gures leading to a lot of page ipping while reading, a minor trade-off for so many examples. The book seeks to balance the conceptual and practical aspects of maps and mapping(Peterson, 2014, v) with a particular emphasis on web- or cloud-based mapping. Books in this general area tend to be strong in either geographic aspects or technical aspects, and this book is no exception with a denitive strength in cartographic principles and apparent weakness in programming principles. Teaching web-based mapping often becomes a chicken-and-egg problem in which students must understand programming to write a mapping application, but also understand mapping to know what program to write, which often results in texts either teaching programming to geographers or teaching geography to programmers. The book addresses this chal- lenge by alternating chapters between introducing a mapping theory and then putting theory into practice, often in the form of programming. This pattern works well overall, but better for some chapter pairs such as Chapters 11 and 12 covering points and point maps, and less so for other chapter pairs such as Chapter 7 and 8 covering map scales and JavaScript programming. The book is well grounded in cartographic princi- ples, but unfortunately this grounding does not extend to programming principles, which in this reviewer's eyes is the biggest detriment to the text. For example, at the time of writing this review the online code example for Chapter 4 (http://maps.unomaha.edu/cloud/code/code04/ Singlepage_Map_Gallery.htm) entitled Single Page Map Gallerycontained 70 errors and 5 warnings according to the W3C Validator tool (http://validator. w3.org/), which is commonly used to validate the markup of web documents. I encourage students to use this tool to ensure they follow established web standards and was disappointed to see so many errors in the rst webpage exercise of the book. However, despite its shortcomings this book achieves the objective of teach- ing web-based mapping better than any other text I have found to date. Following a broad introduction in the rst three chap- ters that provides a historical context for map making and the Internet, Chapter 4 introduces HTML for the rst time. Multiple code examples are used to build a Map Gallerywebpage. Each example introduces and denes new HTML tags that control the look and feel of a website. For example, <u>this text</u> between a beginning and ending underline tag will be underlined on a webpage. I was disappointed to see numerous common programming mistakes in an introductory text designed to teach the fundamentals. While fundamental to webpage develop- ment, the rst webpage did not include <head> or <body> tags, which surprisingly are not introduced until Chapter 8. In mapping, this is equivalent to not including legends or scale bars. These and other small lapses when learning to program can easily lead to bad practices for beginners such as not quoting attribute values and not including end tags both practices are violated in Figure 4.13 which if violated in the underline example Cartography and Geographic Information Science, 2014 Vol. 41, No. 5, 456460

Mapping in the cloud

  • Upload
    eric

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mapping in the cloud

BOOK REVIEWS

Mapping in the cloud, by Michael P. Peterson, New York,The Guilford Press, 2014, 421 pp., US$65.00 (paperback),ISBN 978-1462510412

Michael P. Peterson integrates cartographic principles withweb-based mapping practices in Mapping in the Cloud. In23 chapters that alternate between theory and practice, thisbook broadly overviews topics ranging from map scales tomashups with almost everything in-between. The book iswell written, provides brief historical contexts on manytopics, and is complemented by a companion website withPowerPoints, assignments, and code examples.Unfortunately, multiple errors in code examples, both inthe book and on the website, may quickly distract andfrustrate readers learning to program. Due to the broadcoverage, few topics are covered in great depth makingthis text suitable for students or potentially seasoned car-tographers interested in learning about the many variedaspects of web-based mapping while relying on other textsto provide further details for topics of interest (program-ming in particular).

I was already considering using this book for my Weband Mobile GIS course before agreeing to review it, so asI read the chapters I was simultaneously evaluating it touse in my course as well as for this review. Traditionalgeographic topics are discussed throughout the bookincluding map scales, projections, GPS, geocoding, andpoint maps. To facilitate the discussion of web-basedmapping, this book introduces HyperText MarkupLanguage (HTML) and JavaScript programming withnumerous annotated coding examples. Chapter 10, in par-ticular, piqued my interest in this book, because it coversmultiple programming interfaces including Google Maps,Microsoft Bing Maps, and OpenStreetMaps enabling stu-dents to see the similarities and differences among themany web-based mapping interfaces. An unfortunate by-product of having numerous annotated code examples isthat the text begins to lag behind the figures leading to alot of page flipping while reading, a minor trade-off for somany examples.

The book ‘seeks to balance the conceptual and practicalaspects of maps and mapping’ (Peterson, 2014, v) with aparticular emphasis on web- or cloud-based mapping. Booksin this general area tend to be strong in either geographicaspects or technical aspects, and this book is no exceptionwith a definitive strength in cartographic principles andapparent weakness in programming principles. Teachingweb-based mapping often becomes a chicken-and-egg

problem in which students must understand programmingto write a mapping application, but also understand mappingto know what program to write, which often results in textseither teaching programming to geographers or teachinggeography to programmers. The book addresses this chal-lenge by alternating chapters between introducing a mappingtheory and then putting theory into practice, often in the formof programming. This pattern works well overall, but betterfor some chapter pairs such as Chapters 11 and 12 coveringpoints and point maps, and less so for other chapter pairssuch as Chapter 7 and 8 covering map scales and JavaScriptprogramming.

The book is well grounded in cartographic princi-ples, but unfortunately this grounding does not extend toprogramming principles, which in this reviewer's eyes isthe biggest detriment to the text. For example, at thetime of writing this review the online code example forChapter 4 (http://maps.unomaha.edu/cloud/code/code04/Singlepage_Map_Gallery.htm) entitled ‘Single PageMap Gallery’ contained 70 errors and 5 warningsaccording to the W3C Validator tool (http://validator.w3.org/), which is commonly used to validate themarkup of web documents. I encourage students to usethis tool to ensure they follow established web standardsand was disappointed to see so many errors in the firstwebpage exercise of the book. However, despite itsshortcomings this book achieves the objective of teach-ing web-based mapping better than any other text I havefound to date.

Following a broad introduction in the first three chap-ters that provides a historical context for map making andthe Internet, Chapter 4 introduces HTML for the first time.Multiple code examples are used to build a ‘Map Gallery’webpage. Each example introduces and defines newHTML tags that control the look and feel of a website.For example, <u>this text</u> between a beginning andending underline tag will be underlined on a webpage. Iwas disappointed to see numerous common programmingmistakes in an introductory text designed to teach thefundamentals. While fundamental to webpage develop-ment, the first webpage did not include <head> or<body> tags, which surprisingly are not introduced untilChapter 8. In mapping, this is equivalent to not includinglegends or scale bars. These and other small lapses whenlearning to program can easily lead to bad practices forbeginners such as not quoting attribute values and notincluding end tags – both practices are violated inFigure 4.13 – which if violated in the underline example

Cartography and Geographic Information Science, 2014Vol. 41, No. 5, 456–460

Page 2: Mapping in the cloud

above would result in this book review being almostentirely underlined when viewed in a webpage.

Chapters 5–7 sandwich fairly typical cartography andGIS topics including the history of maps, map scale, andmap projections with web-mapping topics such as inter-active street maps, Google Street View, and the widelyused OpenStreetMap (http://openstreetmap.org). Chapter 6in particular masterfully incorporates methods such asrasterization and tile overlays into a web-mapping context.Several examples in Chapter 6 illustrate how GIS methodsare put to practical use in web-mapping applications famil-iar to many readers (e.g., Google Maps). Chapter 7 had arather lengthy discussion on map scale that is excellent forpaper-based mapping, but in my opinion could have beentrimmed given the context of this book and because Iwould not encourage students to place rulers on monitorsto measure distances.

The introduction of JavaScript programming in Chapter8 disappointingly dashedmy hopes of using this book for myWeb and Mobile GIS course, at least in the first edition. Thelast sentence in the first paragraph set the stage for theremainder of the chapter stating, ‘Programming can now beviewed as simply understanding what these function librariesdo and how to use them.’ Function libraries here refer toprogramming interfaces provided by Google Maps andMapQuest, for example. While my opinion may not bewidely shared by CaGIS readers, I believe this chapter doesa disservice to any geographer, cartographer, or geographicinformation scientist using this book to learn how to program(i.e., one of book's target audiences). To me, this is the samesentence found in other books that focus on programming,which state that with the advent of GIS, mapping can now beviewed as simply understanding the tools in the ArcGIStoolbox. Both sentences disregard the theories, principles,and practices established by their respective disciplines, amessage I did not wish to convey to students in my course.Web-based mapping, arguably, sits squarely between carto-graphy and computer science and just like any interdisciplin-ary endeavor requires both a breadth and depth of knowledgein each area, which goes beyondmere programming librariesor tools in a toolbox. Given this viewpoint, it was unsurpris-ing, albeit disappointing, to find many poor programmingpractices, errors, and mistakes in this chapter. Such errorswill likely confuse and frustrate early programmers using thetext as a guide in learning to program.

I was glad to see that the following chapters do a goodjob covering numerous topics to help answer not only howto create web-based maps, but also the ‘what's’ and‘why's’ of web-based mapping. There are plenty of goodexamples distributed throughout these chapters that puttheory to practice. Chapter 10, for example, uses eightmapping interfaces (e.g., Google Maps, Bing Maps) ascase studies enabling readers to compare and contrasteach interface. Topics such as map algebra and equationsfor calculating slope and aspect provide ample material for

interesting programming exercises for readers or examquestions for instructors. In later chapters, the book intro-duces more languages including SQL, the de facto stan-dard database query language, and PHP, a commonly usedweb programming language, to illustrate mapping fromdatabases.

Despite the critical shortcoming of viewing program-ming as learning how to use a suite of programminglibraries, Mapping in the Cloud remains a front-runnerfor web-based mapping texts and will likely find itself inthe hands of many students in web-mapping courses andcartographers interested in web-based mapping. Thisreviewer would warmly welcome a second edition addres-sing this shortcoming by including chapters on program-ming principles and practices and fixing the programmingmistakes found throughout the text and on the website soit could also be found in the hands of students in my Weband Mobile GIS course. A second edition may alsoinclude web services and ArcGIS online, which are nota-bly missing as examples in the book, as well as havegreater focus on a single programming interface such asGoogle Maps to help provide more depth to this verybroad text. Overlooking the programming mistakes thatcan easily be fixed in a revised edition or by using theW3C Validator tool, this book is one of the best I havefound on this topic and is a solid contribution for web-based mapping as a clear and approachable introductorytext rich in cartographic and geographic knowledge situ-ated in a web-mapping context.

Eric ShookHigh-Performance Computing and GIS (HPCGIS)

Laboratory, Department of Geography,Kent State University

[email protected]© 2014, Eric Shook

http://dx.doi.org/10.1080/15230406.2014.970349

Interpreting archaeological topography: 3D data,visualization and observation, edited by Rachel S. Opitzand David C. Cowley, Oxford, Oxbow Books, 2013, 288pp., US$66.60 (hbk), ISBN 978-1-84217-516-3

This book is a combined effort between the editors, authors,and ArchaeoLandscapes Europe, an organization self-described as “established to support the development ofaerial approaches and remote sensing techniques acrossEurope, to encourage the exchange of expertise and skills,to foster cooperation between archaeological institutions,and to enhance public awareness” (iv). This volume inparticular aims to publicize the applications of Light

Cartography and Geographic Information Science 457