CINXE.COM
Taking pictures with flying government lasers – Andrew Gray
<!DOCTYPE html> <html lang="en-GB" class="no-js"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width"> <link rel="profile" href="https://gmpg.org/xfn/11"> <link rel="pingback" href="https://www.generalist.org.uk/blog/xmlrpc.php"> <!--[if lt IE 9]> <script src="https://www.generalist.org.uk/blog/wp-content/themes/twentyfifteen/js/html5.js?ver=3.7.0"></script> <![endif]--> <script>(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script> <title>Taking pictures with flying government lasers – Andrew Gray</title> <meta name='robots' content='max-image-preview:large' /> <link rel="alternate" type="application/rss+xml" title="Andrew Gray » Feed" href="https://www.generalist.org.uk/blog/feed/" /> <link rel="alternate" type="application/rss+xml" title="Andrew Gray » Comments Feed" href="https://www.generalist.org.uk/blog/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="Andrew Gray » Taking pictures with flying government lasers Comments Feed" href="https://www.generalist.org.uk/blog/2015/taking-pictures-with-flying-government-lasers/feed/" /> <script> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.generalist.org.uk\/blog\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.4.5"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c\udfff","\ud83e\udef1\ud83c\udffb\u200b\ud83e\udef2\ud83c\udfff")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); </script> <style id='wp-emoji-styles-inline-css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://www.generalist.org.uk/blog/wp-includes/css/dist/block-library/style.min.css?ver=6.4.5' media='all' /> <style id='wp-block-library-theme-inline-css'> .wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio figcaption{color:hsla(0,0%,100%,.65)}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:hsla(0,0%,100%,.65)}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:hsla(0,0%,100%,.65)}.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:hsla(0,0%,100%,.65)}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote.has-text-align-right{border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote.has-text-align-center{border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote.is-style-plain{border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:hsla(0,0%,100%,.65)}.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:hsla(0,0%,100%,.65)}.wp-block-video{margin:0 0 1em}.wp-block-template-part.has-background{margin-bottom:0;margin-top:0;padding:1.25em 2.375em} </style> <style id='classic-theme-styles-inline-css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css'> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #fff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--dark-gray: #111;--wp--preset--color--light-gray: #f1f1f1;--wp--preset--color--yellow: #f4ca16;--wp--preset--color--dark-brown: #352712;--wp--preset--color--medium-pink: #e53b51;--wp--preset--color--light-pink: #ffe5d1;--wp--preset--color--dark-purple: #2e2256;--wp--preset--color--purple: #674970;--wp--preset--color--blue-gray: #22313f;--wp--preset--color--bright-blue: #55c3dc;--wp--preset--color--light-blue: #e9f2f9;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--gradient--dark-gray-gradient-gradient: linear-gradient(90deg, rgba(17,17,17,1) 0%, rgba(42,42,42,1) 100%);--wp--preset--gradient--light-gray-gradient: linear-gradient(90deg, rgba(241,241,241,1) 0%, rgba(215,215,215,1) 100%);--wp--preset--gradient--white-gradient: linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(230,230,230,1) 100%);--wp--preset--gradient--yellow-gradient: linear-gradient(90deg, rgba(244,202,22,1) 0%, rgba(205,168,10,1) 100%);--wp--preset--gradient--dark-brown-gradient: linear-gradient(90deg, rgba(53,39,18,1) 0%, rgba(91,67,31,1) 100%);--wp--preset--gradient--medium-pink-gradient: linear-gradient(90deg, rgba(229,59,81,1) 0%, rgba(209,28,51,1) 100%);--wp--preset--gradient--light-pink-gradient: linear-gradient(90deg, rgba(255,229,209,1) 0%, rgba(255,200,158,1) 100%);--wp--preset--gradient--dark-purple-gradient: linear-gradient(90deg, rgba(46,34,86,1) 0%, rgba(66,48,123,1) 100%);--wp--preset--gradient--purple-gradient: linear-gradient(90deg, rgba(103,73,112,1) 0%, rgba(131,93,143,1) 100%);--wp--preset--gradient--blue-gray-gradient: linear-gradient(90deg, rgba(34,49,63,1) 0%, rgba(52,75,96,1) 100%);--wp--preset--gradient--bright-blue-gradient: linear-gradient(90deg, rgba(85,195,220,1) 0%, rgba(43,180,211,1) 100%);--wp--preset--gradient--light-blue-gradient: linear-gradient(90deg, rgba(233,242,249,1) 0%, rgba(193,218,238,1) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} .wp-block-pullquote{font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='twentyfifteen-fonts-css' href='https://www.generalist.org.uk/blog/wp-content/themes/twentyfifteen/assets/fonts/noto-sans-plus-noto-serif-plus-inconsolata.css?ver=20230328' media='all' /> <link rel='stylesheet' id='genericons-css' href='https://www.generalist.org.uk/blog/wp-content/themes/twentyfifteen/genericons/genericons.css?ver=20201026' media='all' /> <link rel='stylesheet' id='twentyfifteen-style-css' href='https://www.generalist.org.uk/blog/wp-content/themes/twentyfifteen/style.css?ver=20230328' media='all' /> <link rel='stylesheet' id='twentyfifteen-block-style-css' href='https://www.generalist.org.uk/blog/wp-content/themes/twentyfifteen/css/blocks.css?ver=20230122' media='all' /> <!--[if lt IE 9]> <link rel='stylesheet' id='twentyfifteen-ie-css' href='https://www.generalist.org.uk/blog/wp-content/themes/twentyfifteen/css/ie.css?ver=20220908' media='all' /> <![endif]--> <!--[if lt IE 8]> <link rel='stylesheet' id='twentyfifteen-ie7-css' href='https://www.generalist.org.uk/blog/wp-content/themes/twentyfifteen/css/ie7.css?ver=20141210' media='all' /> <![endif]--> <script src="https://www.generalist.org.uk/blog/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script src="https://www.generalist.org.uk/blog/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <link rel="https://api.w.org/" href="https://www.generalist.org.uk/blog/wp-json/" /><link rel="alternate" type="application/json" href="https://www.generalist.org.uk/blog/wp-json/wp/v2/posts/1293" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.generalist.org.uk/blog/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.4.5" /> <link rel="canonical" href="https://www.generalist.org.uk/blog/2015/taking-pictures-with-flying-government-lasers/" /> <link rel='shortlink' href='https://www.generalist.org.uk/blog/?p=1293' /> <link rel="alternate" type="application/json+oembed" href="https://www.generalist.org.uk/blog/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.generalist.org.uk%2Fblog%2F2015%2Ftaking-pictures-with-flying-government-lasers%2F" /> <link rel="alternate" type="text/xml+oembed" href="https://www.generalist.org.uk/blog/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.generalist.org.uk%2Fblog%2F2015%2Ftaking-pictures-with-flying-government-lasers%2F&format=xml" /> </head> <body class="post-template-default single single-post postid-1293 single-format-standard wp-embed-responsive"> <div id="page" class="hfeed site"> <a class="skip-link screen-reader-text" href="#content"> Skip to content </a> <div id="sidebar" class="sidebar"> <header id="masthead" class="site-header"> <div class="site-branding"> <p class="site-title"><a href="https://www.generalist.org.uk/blog/" rel="home">Andrew Gray</a></p> <button class="secondary-toggle">Menu and widgets</button> </div><!-- .site-branding --> </header><!-- .site-header --> <div id="secondary" class="secondary"> <div id="widget-area" class="widget-area" role="complementary"> <aside id="recent-posts-3" class="widget widget_recent_entries"> <h2 class="widget-title">Recent Posts</h2><nav aria-label="Recent Posts"> <ul> <li> <a href="https://www.generalist.org.uk/blog/2024/caffenol/">Caffenol</a> <span class="post-date">January 11, 2024</span> </li> <li> <a href="https://www.generalist.org.uk/blog/2023/gender-and-blps-on-wikipedia-redux/">Gender and BLPs on Wikipedia, redux</a> <span class="post-date">August 2, 2023</span> </li> <li> <a href="https://www.generalist.org.uk/blog/2023/on-chatgpt/">on chatGPT</a> <span class="post-date">April 10, 2023</span> </li> <li> <a href="https://www.generalist.org.uk/blog/2021/lee-of-portrush-a-timeline/">Lee of Portrush: a timeline</a> <span class="post-date">September 18, 2021</span> </li> <li> <a href="https://www.generalist.org.uk/blog/2020/industrial-library/">Industrial Library</a> <span class="post-date">January 9, 2020</span> </li> </ul> </nav></aside><aside id="tag_cloud-3" class="widget widget_tag_cloud"><h2 class="widget-title">Tags</h2><nav aria-label="Tags"><div class="tagcloud"><ul class='wp-tag-cloud' role='list'> <li><a href="https://www.generalist.org.uk/blog/tags/administrivia/" class="tag-cloud-link tag-link-88 tag-link-position-1" style="font-size: 10.290909090909pt;" aria-label="administrivia (2 items)">administrivia</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/antarctica/" class="tag-cloud-link tag-link-72 tag-link-position-2" style="font-size: 10.290909090909pt;" aria-label="antarctica (2 items)">antarctica</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/archives/" class="tag-cloud-link tag-link-15 tag-link-position-3" style="font-size: 10.290909090909pt;" aria-label="archives (2 items)">archives</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/astronomy/" class="tag-cloud-link tag-link-18 tag-link-position-4" style="font-size: 11.818181818182pt;" aria-label="astronomy (3 items)">astronomy</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/books/" class="tag-cloud-link tag-link-9 tag-link-position-5" style="font-size: 16.272727272727pt;" aria-label="books (8 items)">books</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/british-library/" class="tag-cloud-link tag-link-63 tag-link-position-6" style="font-size: 10.290909090909pt;" aria-label="british library (2 items)">british library</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/campaigning/" class="tag-cloud-link tag-link-76 tag-link-position-7" style="font-size: 8pt;" aria-label="campaigning (1 item)">campaigning</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/canadian-collection/" class="tag-cloud-link tag-link-71 tag-link-position-8" style="font-size: 10.290909090909pt;" aria-label="canadian collection (2 items)">canadian collection</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/commonplace/" class="tag-cloud-link tag-link-56 tag-link-position-9" style="font-size: 13.090909090909pt;" aria-label="commonplace (4 items)">commonplace</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/commons/" class="tag-cloud-link tag-link-75 tag-link-position-10" style="font-size: 10.290909090909pt;" aria-label="commons (2 items)">commons</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/data/" class="tag-cloud-link tag-link-81 tag-link-position-11" style="font-size: 15.636363636364pt;" aria-label="data (7 items)">data</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/digitisation/" class="tag-cloud-link tag-link-103 tag-link-position-12" style="font-size: 8pt;" aria-label="digitisation (1 item)">digitisation</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/economics/" class="tag-cloud-link tag-link-12 tag-link-position-13" style="font-size: 16.272727272727pt;" aria-label="economics (8 items)">economics</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/election/" class="tag-cloud-link tag-link-39 tag-link-position-14" style="font-size: 19.2pt;" aria-label="election (14 items)">election</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/finance/" class="tag-cloud-link tag-link-47 tag-link-position-15" style="font-size: 11.818181818182pt;" aria-label="finance (3 items)">finance</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/freedom-of-information/" class="tag-cloud-link tag-link-31 tag-link-position-16" style="font-size: 10.290909090909pt;" aria-label="freedom of information (2 items)">freedom of information</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/history/" class="tag-cloud-link tag-link-21 tag-link-position-17" style="font-size: 22pt;" aria-label="history (24 items)">history</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/idiocy/" class="tag-cloud-link tag-link-35 tag-link-position-18" style="font-size: 11.818181818182pt;" aria-label="idiocy (3 items)">idiocy</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/internet/" class="tag-cloud-link tag-link-22 tag-link-position-19" style="font-size: 11.818181818182pt;" aria-label="internet (3 items)">internet</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/journalism/" class="tag-cloud-link tag-link-24 tag-link-position-20" style="font-size: 13.090909090909pt;" aria-label="journalism (4 items)">journalism</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/law/" class="tag-cloud-link tag-link-51 tag-link-position-21" style="font-size: 10.290909090909pt;" aria-label="law (2 items)">law</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/lee-of-portrush/" class="tag-cloud-link tag-link-95 tag-link-position-22" style="font-size: 10.290909090909pt;" aria-label="lee of portrush (2 items)">lee of portrush</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/legislation/" class="tag-cloud-link tag-link-79 tag-link-position-23" style="font-size: 8pt;" aria-label="legislation (1 item)">legislation</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/libraries/" class="tag-cloud-link tag-link-14 tag-link-position-24" style="font-size: 10.290909090909pt;" aria-label="libraries (2 items)">libraries</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/maps/" class="tag-cloud-link tag-link-50 tag-link-position-25" style="font-size: 10.290909090909pt;" aria-label="maps (2 items)">maps</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/media/" class="tag-cloud-link tag-link-23 tag-link-position-26" style="font-size: 10.290909090909pt;" aria-label="media (2 items)">media</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/mps/" class="tag-cloud-link tag-link-102 tag-link-position-27" style="font-size: 8pt;" aria-label="mps (1 item)">mps</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/open-access/" class="tag-cloud-link tag-link-77 tag-link-position-28" style="font-size: 10.290909090909pt;" aria-label="open access (2 items)">open access</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/oxford/" class="tag-cloud-link tag-link-20 tag-link-position-29" style="font-size: 11.818181818182pt;" aria-label="oxford (3 items)">oxford</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/parliament/" class="tag-cloud-link tag-link-100 tag-link-position-30" style="font-size: 10.290909090909pt;" aria-label="parliament (2 items)">parliament</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/photography/" class="tag-cloud-link tag-link-19 tag-link-position-31" style="font-size: 20.981818181818pt;" aria-label="photography (20 items)">photography</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/politics/" class="tag-cloud-link tag-link-8 tag-link-position-32" style="font-size: 21.236363636364pt;" aria-label="politics (21 items)">politics</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/publishing/" class="tag-cloud-link tag-link-27 tag-link-position-33" style="font-size: 16.909090909091pt;" aria-label="publishing (9 items)">publishing</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/recipes/" class="tag-cloud-link tag-link-6 tag-link-position-34" style="font-size: 13.090909090909pt;" aria-label="recipes (4 items)">recipes</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/remembrance/" class="tag-cloud-link tag-link-53 tag-link-position-35" style="font-size: 13.090909090909pt;" aria-label="remembrance (4 items)">remembrance</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/research/" class="tag-cloud-link tag-link-87 tag-link-position-36" style="font-size: 10.290909090909pt;" aria-label="research (2 items)">research</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/scotland/" class="tag-cloud-link tag-link-80 tag-link-position-37" style="font-size: 8pt;" aria-label="scotland (1 item)">scotland</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/security/" class="tag-cloud-link tag-link-28 tag-link-position-38" style="font-size: 10.290909090909pt;" aria-label="security (2 items)">security</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/software/" class="tag-cloud-link tag-link-46 tag-link-position-39" style="font-size: 10.290909090909pt;" aria-label="software (2 items)">software</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/statistics/" class="tag-cloud-link tag-link-25 tag-link-position-40" style="font-size: 16.909090909091pt;" aria-label="statistics (9 items)">statistics</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/travel/" class="tag-cloud-link tag-link-34 tag-link-position-41" style="font-size: 11.818181818182pt;" aria-label="travel (3 items)">travel</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/wikidata/" class="tag-cloud-link tag-link-78 tag-link-position-42" style="font-size: 16.272727272727pt;" aria-label="wikidata (8 items)">wikidata</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/wikimedia/" class="tag-cloud-link tag-link-74 tag-link-position-43" style="font-size: 13.090909090909pt;" aria-label="wikimedia (4 items)">wikimedia</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/wikipedia/" class="tag-cloud-link tag-link-26 tag-link-position-44" style="font-size: 21.745454545455pt;" aria-label="wikipedia (23 items)">wikipedia</a></li> <li><a href="https://www.generalist.org.uk/blog/tags/ww1/" class="tag-cloud-link tag-link-65 tag-link-position-45" style="font-size: 13.090909090909pt;" aria-label="ww1 (4 items)">ww1</a></li> </ul> </div> </nav></aside><aside id="archives-3" class="widget widget_archive"><h2 class="widget-title">Archives</h2> <label class="screen-reader-text" for="archives-dropdown-3">Archives</label> <select id="archives-dropdown-3" name="archive-dropdown"> <option value="">Select Month</option> <option value='https://www.generalist.org.uk/blog/2024/01/'> January 2024 (1)</option> <option value='https://www.generalist.org.uk/blog/2023/08/'> August 2023 (1)</option> <option value='https://www.generalist.org.uk/blog/2023/04/'> April 2023 (1)</option> <option value='https://www.generalist.org.uk/blog/2021/09/'> September 2021 (1)</option> <option value='https://www.generalist.org.uk/blog/2020/01/'> January 2020 (1)</option> <option value='https://www.generalist.org.uk/blog/2019/05/'> May 2019 (1)</option> <option value='https://www.generalist.org.uk/blog/2019/03/'> March 2019 (1)</option> <option value='https://www.generalist.org.uk/blog/2019/02/'> February 2019 (1)</option> <option value='https://www.generalist.org.uk/blog/2018/11/'> November 2018 (1)</option> <option value='https://www.generalist.org.uk/blog/2018/10/'> October 2018 (1)</option> <option value='https://www.generalist.org.uk/blog/2017/09/'> September 2017 (1)</option> <option value='https://www.generalist.org.uk/blog/2017/01/'> January 2017 (2)</option> <option value='https://www.generalist.org.uk/blog/2016/08/'> August 2016 (1)</option> <option value='https://www.generalist.org.uk/blog/2016/04/'> April 2016 (1)</option> <option value='https://www.generalist.org.uk/blog/2016/02/'> February 2016 (3)</option> <option value='https://www.generalist.org.uk/blog/2016/01/'> January 2016 (2)</option> <option value='https://www.generalist.org.uk/blog/2015/12/'> December 2015 (1)</option> <option value='https://www.generalist.org.uk/blog/2015/11/'> November 2015 (2)</option> <option value='https://www.generalist.org.uk/blog/2015/10/'> October 2015 (1)</option> <option value='https://www.generalist.org.uk/blog/2015/08/'> August 2015 (1)</option> <option value='https://www.generalist.org.uk/blog/2015/02/'> February 2015 (2)</option> <option value='https://www.generalist.org.uk/blog/2015/01/'> January 2015 (1)</option> <option value='https://www.generalist.org.uk/blog/2014/11/'> November 2014 (2)</option> <option value='https://www.generalist.org.uk/blog/2014/10/'> October 2014 (1)</option> <option value='https://www.generalist.org.uk/blog/2014/09/'> September 2014 (3)</option> <option value='https://www.generalist.org.uk/blog/2014/08/'> August 2014 (1)</option> <option value='https://www.generalist.org.uk/blog/2013/12/'> December 2013 (1)</option> <option value='https://www.generalist.org.uk/blog/2013/08/'> August 2013 (1)</option> <option value='https://www.generalist.org.uk/blog/2013/06/'> June 2013 (2)</option> <option value='https://www.generalist.org.uk/blog/2013/05/'> May 2013 (1)</option> <option value='https://www.generalist.org.uk/blog/2013/04/'> April 2013 (1)</option> <option value='https://www.generalist.org.uk/blog/2013/02/'> February 2013 (3)</option> <option value='https://www.generalist.org.uk/blog/2012/12/'> December 2012 (1)</option> <option value='https://www.generalist.org.uk/blog/2012/11/'> November 2012 (1)</option> <option value='https://www.generalist.org.uk/blog/2012/10/'> October 2012 (1)</option> <option value='https://www.generalist.org.uk/blog/2012/02/'> February 2012 (2)</option> <option value='https://www.generalist.org.uk/blog/2011/11/'> November 2011 (3)</option> <option value='https://www.generalist.org.uk/blog/2011/07/'> July 2011 (1)</option> <option value='https://www.generalist.org.uk/blog/2011/06/'> June 2011 (2)</option> <option value='https://www.generalist.org.uk/blog/2011/05/'> May 2011 (2)</option> <option value='https://www.generalist.org.uk/blog/2011/02/'> February 2011 (1)</option> <option value='https://www.generalist.org.uk/blog/2011/01/'> January 2011 (2)</option> <option value='https://www.generalist.org.uk/blog/2010/12/'> December 2010 (2)</option> <option value='https://www.generalist.org.uk/blog/2010/11/'> November 2010 (6)</option> <option value='https://www.generalist.org.uk/blog/2010/10/'> October 2010 (5)</option> <option value='https://www.generalist.org.uk/blog/2010/09/'> September 2010 (1)</option> <option value='https://www.generalist.org.uk/blog/2010/08/'> August 2010 (4)</option> <option value='https://www.generalist.org.uk/blog/2010/07/'> July 2010 (2)</option> <option value='https://www.generalist.org.uk/blog/2010/06/'> June 2010 (4)</option> <option value='https://www.generalist.org.uk/blog/2010/05/'> May 2010 (11)</option> <option value='https://www.generalist.org.uk/blog/2010/04/'> April 2010 (10)</option> <option value='https://www.generalist.org.uk/blog/2010/03/'> March 2010 (9)</option> <option value='https://www.generalist.org.uk/blog/2010/02/'> February 2010 (8)</option> <option value='https://www.generalist.org.uk/blog/2010/01/'> January 2010 (8)</option> <option value='https://www.generalist.org.uk/blog/2009/12/'> December 2009 (3)</option> <option value='https://www.generalist.org.uk/blog/2009/11/'> November 2009 (7)</option> </select> <script> (function() { var dropdown = document.getElementById( "archives-dropdown-3" ); function onSelectChange() { if ( dropdown.options[ dropdown.selectedIndex ].value !== '' ) { document.location.href = this.options[ this.selectedIndex ].value; } } dropdown.onchange = onSelectChange; })(); </script> </aside><aside id="block-6" class="widget widget_block"><h2 class="widget-title">Elsewhere</h2> <ul><li><a href="https://twitter.com/generalising" data-type="URL" data-id="https://twitter.com/generalising" target="_blank" rel="noreferrer noopener">Twitter</a></li><li><a href="https://mastodon.flooey.org/web/@generalising" data-type="URL" data-id="https://mastodon.flooey.org/web/@generalising" target="_blank" rel="me noreferrer noopener">Mastodon</a></li></ul></aside> </div><!-- .widget-area --> </div><!-- .secondary --> </div><!-- .sidebar --> <div id="content" class="site-content"> <div id="primary" class="content-area"> <main id="main" class="site-main"> <article id="post-1293" class="post-1293 post type-post status-publish format-standard hentry category-andrew tag-data tag-gis tag-maps tag-wikimedia tag-wikipedia"> <header class="entry-header"> <h1 class="entry-title">Taking pictures with flying government lasers</h1> </header><!-- .entry-header --> <div class="entry-content"> <p>Well, sort of.</p> <p>A few weeks ago, the Environment Agency released <a href="https://environmentagency.blog.gov.uk/2015/09/18/laser-surveys-light-up-open-data/">the first tranche of their LIDAR survey data</a>. This covers (most of) England, at varying resolution from 2m to 25cm, made via <a href="https://en.wikipedia.org/wiki/Lidar">LIDAR airborne survey</a>.</p> <p>It’s great fun. After a bit of back-and-forth (and hastily figuring out how to use QGIS), here’s two rendered images I made of Durham, one with buildings and one without, now on Commons:</p> <p><a href="https://commons.wikimedia.org/wiki/File:LIDAR image of the City of Durham, 1m resolution, with buildings.tiff"><img decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/07/LIDAR_image_of_the_City_of_Durham%2C_1m_resolution%2C_with_buildings.tiff/lossy-page1-640px-LIDAR_image_of_the_City_of_Durham%2C_1m_resolution%2C_with_buildings.tiff.jpg"></a></p> <p><a href="https://commons.wikimedia.org/wiki/File:LIDAR image of the City of Durham, 1m resolution.tiff"><img decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a4/LIDAR_image_of_the_City_of_Durham%2C_1m_resolution.tiff/lossy-page1-640px-LIDAR_image_of_the_City_of_Durham%2C_1m_resolution.tiff.jpg"></a></p> <p>The first is shown with buildings, the second without. Both are at 1m resolution, the best currently available for the area. Note in particular the very striking embankment and cutting for the railway viaduct (top left). These look like they could be very useful things to produce for Commons, especially since it’s – effectively – very recent, openly licensed, aerial imagery…</p> <h4>1. Selecting a suitable area</h4> <p>Generating these was, on the whole, fairly easy. First, install <a href="http://www.qgis.org/en/site/">QGIS</a> (simplicity itself on a linux machine, probably not too much hassle elsewhere). Then, go to the <a href="http://environment.data.gov.uk/ds/survey#/">main data page</a> and find the area you’re interested in. It’s arranged on an Ordnance Survey grid – click anywhere on the map to select a grid square. Major grid squares (Durham is NZ24) are 10km by 10km, and all data will be downloaded in a zip file containing tiles for that particular region.</p> <p>Let’s say we want to try Cambridge. The TL45 square neatly cuts off North Cambridge but most of the city is there. If we look at the bottom part of the screen, it offers “Digital Terrain Model” at 2m and 1m resolution, and “Digital Surface Model” likewise. The DTM is the version just showing the terrain (no buildings, trees, etc) while the DSM has all the surface features included. Let’s try the DSM, as Cambridge is not exactly mountainous. The “on/off” slider will show exactly what the DSM covers in this area, though in Cambridge it’s more or less “everything”.</p> <p>While this is downloading, let’s pick our target area. Zooming in a little further will show thinner blue lines and occasional superimposed blue digits; these define the smaller squares, 1 km by 1 km. For those who don’t remember learning to read OS maps, the number on the left and the number on the bottom, taken together, define the square. So the sector containing all the colleges along the river (a dense clump of black-outlined buildings) is TL4458.</p> <h4>2. Rendering a single tile</h4> <p>Now your zip file has downloaded, drop all the files into a directory somewhere. Note that they’re all named something like <tt>tl4356_DSM_1m.asc</tt>. Unsurprisingly, this means the 1m DSM data for square TL4356.</p> <p>Fire up QGIS, go to <tt>Layer > Add raster layer</tt>, and select your tile – in this case, TL4458. You’ll get a crude-looking monochrome image, immediately recognisable by a broken white line running down the middle. This is the Cam. If you’re seeing this, great, everything’s working so far. (This step is very helpful to check you are looking at the right area)</p> <p>Now, let’s make the image. <tt>Project > New</tt> to blank everything (no need to save). Then <tt>Raster > Analysis > DEM (terrain models)</tt>. In the first box, select your chosen input file. In the next box, the output filename – with a .tif suffix. (Caution, linux users: make sure to enter or select a path here, otherwise it seems to default to home). Leave everything else as default – all unticked and mode: hillshade. Click OK, and a few seconds later it’ll give a completed message; cancel out of the dialogue box at this point. It’ll be displaying something like this:</p> <p><a href="https://commons.wikimedia.org/wiki/File:LIDAR_image_of_an_area_of_Cambridge,_1m_resolution,_with_buildings.tiff"><img decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/LIDAR_image_of_an_area_of_Cambridge%2C_1m_resolution%2C_with_buildings.tiff/lossy-page1-480px-LIDAR_image_of_an_area_of_Cambridge%2C_1m_resolution%2C_with_buildings.tiff.jpg"></a></p> <p>Congratulations! Your first LIDAR rendering. You can quit out of QGIS (you can close without saving, your converted file is saved already) and open this up as a normal TIFF file now; it’ll be about 1MB and cover an area 1km by 1km. If you look closely, you can see some surprisingly subtle details despite the low resolution – the low walls outside Kings College, for example, or cars on the Queen’s Road – Madingley Road roundabout by the top left.</p> <h4>3. Rendering several tiles</h4> <p>Rendering multiple squares is a little trickier. Let’s try doing Barton, which conveniently fits into two squares – TL4055 and TL4155. Open QGIS up, and render TL4055 as above, through <tt>Raster > Analysis > DEM (terrain models)</tt>. Then, with the dialogue window still open, select TL4155 (and a new output filename) and run it again. Do this for as many files as you need.</p> <p>After all the tiles are prepared, clear the screen by starting a new project (again, no need to save) and go to <tt>Raster > Miscellaneous > Merge</tt>. In “Input files”, select the two exports you’ve just done. In “Output file”, pick a suitable filename (again ending in .tif). Hit OK, let it process, then close the dialog. You can again close QGIS without saving, as the export’s complete.</p> <p>The rendering system embeds coordinates in the files, which means that when they’re assembled and merged they’ll automatically slot together in the correct position and orientation – no need to manually tile them. The result should look like this:</p> <p><a href="https://commons.wikimedia.org/wiki/File:LIDAR_image_of_Barton,_Cambridgeshire,_1m_resolution,_with_buildings.tiff"><img decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/thumb/d/da/LIDAR_image_of_Barton%2C_Cambridgeshire%2C_1m_resolution%2C_with_buildings.tiff/lossy-page1-640px-LIDAR_image_of_Barton%2C_Cambridgeshire%2C_1m_resolution%2C_with_buildings.tiff.jpg"></a></p> <p>The odd black bit in the top right is the edge of the flight track – there’s not quite comprehensive coverage. This is a mainly agricultural area, and you can see field markings – some quite detailed, and a few bits on the bottom of the right-hand tile that might be traces of old buildings.</p> <p>So… go forth! Make LIDAR images! See what you can spot…</p> <h4>4. Command-line rendering in bulk</h4> <p>Richard Symonds (who started me down this rabbit-hole) points out <a href="http://chris-osm.blogspot.co.uk/2015/09/more-lidar-goodness.html">this</a> very useful post, which explains how to do the rendering and merging via the command line. Let’s try the entire Durham area; 88 files in NZ24, all dumped into a single directory –</p> <blockquote><p> <tt>for i in `ls *.asc` ; do gdaldem hillshade -compute_edges $i $i.tif ; done</tt></p> <p><tt>gdal_merge.py -o NZ24-area.tif *.tif</tt></p> <p><tt><br /> </tt><tt></tt><tt>rm *.asc.tif</tt></p></blockquote> <p>In order, that a) runs the hillshade program on each individual source file ; b) assembles them into a single giant image file; c) removes the intermediate images (optional, but may as well tidy up). The <tt>-compute_edges</tt> flag helpfully removes the thin black lines between sectors – I should have turned it on in the earlier sections!</p> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://www.generalist.org.uk/blog/2015/taking-pictures-with-flying-government-lasers/" rel="bookmark"><time class="entry-date published" datetime="2015-10-02T21:38:00+01:00">October 2, 2015</time><time class="updated" datetime="2019-09-17T19:20:14+01:00">September 17, 2019</time></a></span><span class="byline"><span class="author vcard"><span class="screen-reader-text">Author </span><a class="url fn n" href="https://www.generalist.org.uk/blog/author/andrew/">Andrew</a></span></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://www.generalist.org.uk/blog/authors/andrew/" rel="category tag">Andrew</a></span><span class="tags-links"><span class="screen-reader-text">Tags </span><a href="https://www.generalist.org.uk/blog/tags/data/" rel="tag">data</a>, <a href="https://www.generalist.org.uk/blog/tags/gis/" rel="tag">gis</a>, <a href="https://www.generalist.org.uk/blog/tags/maps/" rel="tag">maps</a>, <a href="https://www.generalist.org.uk/blog/tags/wikimedia/" rel="tag">wikimedia</a>, <a href="https://www.generalist.org.uk/blog/tags/wikipedia/" rel="tag">wikipedia</a></span> </footer><!-- .entry-footer --> </article><!-- #post-1293 --> <div id="comments" class="comments-area"> <h2 class="comments-title"> 5 thoughts on “Taking pictures with flying government lasers” </h2> <ol class="comment-list"> <li id="comment-740321" class="comment even thread-even depth-1"> <article id="div-comment-740321" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/f876a6777b1cee5670f7229619f184d1?s=56&d=blank&r=g' srcset='https://secure.gravatar.com/avatar/f876a6777b1cee5670f7229619f184d1?s=112&d=blank&r=g 2x' class='avatar avatar-56 photo' height='56' width='56' decoding='async'/> <b class="fn">Nick Taylor</b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://www.generalist.org.uk/blog/2015/taking-pictures-with-flying-government-lasers/#comment-740321"><time datetime="2015-10-03T14:45:44+01:00">October 3, 2015 at 2:45 pm</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>Note that your output here isn’t a heightmap: it’s the result of simulating lighting on a heightmap, which looks much better but will ruin everything if you treat it as a heightmap.</p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> <li id="comment-741076" class="comment byuser comment-author-andrew bypostauthor odd alt thread-odd thread-alt depth-1"> <article id="div-comment-741076" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/b55f1bd5b488efb4ef04b35640212d9c?s=56&d=blank&r=g' srcset='https://secure.gravatar.com/avatar/b55f1bd5b488efb4ef04b35640212d9c?s=112&d=blank&r=g 2x' class='avatar avatar-56 photo' height='56' width='56' decoding='async'/> <b class="fn">Andrew</b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://www.generalist.org.uk/blog/2015/taking-pictures-with-flying-government-lasers/#comment-741076"><time datetime="2015-10-05T09:00:37+01:00">October 5, 2015 at 9:00 am</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>Well spotted – I got myself a bit confused with the terminology there. Will correct.</p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> <li id="comment-741518" class="comment even thread-even depth-1"> <article id="div-comment-741518" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/8f153c7bcf3ef5865370564513965cf4?s=56&d=blank&r=g' srcset='https://secure.gravatar.com/avatar/8f153c7bcf3ef5865370564513965cf4?s=112&d=blank&r=g 2x' class='avatar avatar-56 photo' height='56' width='56' decoding='async'/> <b class="fn">Dave Pawson</b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://www.generalist.org.uk/blog/2015/taking-pictures-with-flying-government-lasers/#comment-741518"><time datetime="2015-10-06T09:10:27+01:00">October 6, 2015 at 9:10 am</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>Then, go to the main data page<br /> the link is bad?<br /> <a href="http://environment.data.gov.uk/ds/survey#/" rel="nofollow ugc">http://environment.data.gov.uk/ds/survey#/</a></p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> <li id="comment-741559" class="comment byuser comment-author-andrew bypostauthor odd alt thread-odd thread-alt depth-1"> <article id="div-comment-741559" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/b55f1bd5b488efb4ef04b35640212d9c?s=56&d=blank&r=g' srcset='https://secure.gravatar.com/avatar/b55f1bd5b488efb4ef04b35640212d9c?s=112&d=blank&r=g 2x' class='avatar avatar-56 photo' height='56' width='56' loading='lazy' decoding='async'/> <b class="fn">Andrew</b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://www.generalist.org.uk/blog/2015/taking-pictures-with-flying-government-lasers/#comment-741559"><time datetime="2015-10-06T11:28:18+01:00">October 6, 2015 at 11:28 am</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>Dave: Correct URL, but it looks like it’s a a bit flaky. (It was down for me much of the weekend, after I posted this, but seems to be back up now)</p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> <li id="comment-747067" class="comment even thread-even depth-1"> <article id="div-comment-747067" class="comment-body"> <footer class="comment-meta"> <div class="comment-author vcard"> <img alt='' src='https://secure.gravatar.com/avatar/4e160e713acf1ab8547d1c36233389c3?s=56&d=blank&r=g' srcset='https://secure.gravatar.com/avatar/4e160e713acf1ab8547d1c36233389c3?s=112&d=blank&r=g 2x' class='avatar avatar-56 photo' height='56' width='56' loading='lazy' decoding='async'/> <b class="fn"><a href="http://pigsonthewing.org.uk" class="url" rel="ugc external nofollow">Andy Mabbett</a></b> <span class="says">says:</span> </div><!-- .comment-author --> <div class="comment-metadata"> <a href="https://www.generalist.org.uk/blog/2015/taking-pictures-with-flying-government-lasers/#comment-747067"><time datetime="2015-10-18T18:53:58+01:00">October 18, 2015 at 6:53 pm</time></a> </div><!-- .comment-metadata --> </footer><!-- .comment-meta --> <div class="comment-content"> <p>This is a very c;ear guide, but would it be worth someone (perhaps with Wikimedia UK support) setting up a bot to render tiles for the while of the UK, and then upload them to Commons?</p> </div><!-- .comment-content --> </article><!-- .comment-body --> </li><!-- #comment-## --> </ol><!-- .comment-list --> <div id="respond" class="comment-respond"> <h3 id="reply-title" class="comment-reply-title">Leave a Reply</h3><form action="https://www.generalist.org.uk/blog/wp-comments-post.php" method="post" id="commentform" class="comment-form" novalidate><p class="comment-notes"><span id="email-notes">Your email address will not be published.</span> <span class="required-field-message">Required fields are marked <span class="required">*</span></span></p><p class="comment-form-comment"><label for="comment">Comment <span class="required">*</span></label> <textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" required></textarea></p><p class="comment-form-author"><label for="author">Name <span class="required">*</span></label> <input id="author" name="author" type="text" value="" size="30" maxlength="245" autocomplete="name" required /></p> <p class="comment-form-email"><label for="email">Email <span class="required">*</span></label> <input id="email" name="email" type="email" value="" size="30" maxlength="100" aria-describedby="email-notes" autocomplete="email" required /></p> <p class="comment-form-url"><label for="url">Website</label> <input id="url" name="url" type="url" value="" size="30" maxlength="200" autocomplete="url" /></p> <p class="form-submit"><input name="submit" type="submit" id="submit" class="submit" value="Post Comment" /> <input type='hidden' name='comment_post_ID' value='1293' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </p><p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="15fa93947f" /></p><p style="display: none !important;" class="akismet-fields-container" data-prefix="ak_"><label>Δ<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="9"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div><!-- #respond --> </div><!-- .comments-area --> <nav class="navigation post-navigation" aria-label="Posts"> <h2 class="screen-reader-text">Post navigation</h2> <div class="nav-links"><div class="nav-previous"><a href="https://www.generalist.org.uk/blog/2015/graphing-shakespeare/" rel="prev"><span class="meta-nav" aria-hidden="true">Previous</span> <span class="screen-reader-text">Previous post:</span> <span class="post-title">Graphing Shakespeare</span></a></div><div class="nav-next"><a href="https://www.generalist.org.uk/blog/2015/watching-the-antarctic-days-roll-by/" rel="next"><span class="meta-nav" aria-hidden="true">Next</span> <span class="screen-reader-text">Next post:</span> <span class="post-title">Watching the Antarctic days roll by</span></a></div></div> </nav> </main><!-- .site-main --> </div><!-- .content-area --> </div><!-- .site-content --> <footer id="colophon" class="site-footer"> <div class="site-info"> <a href="https://wordpress.org/" class="imprint"> Proudly powered by WordPress </a> </div><!-- .site-info --> </footer><!-- .site-footer --> </div><!-- .site --> <script src="https://www.generalist.org.uk/blog/wp-content/themes/twentyfifteen/js/skip-link-focus-fix.js?ver=20141028" id="twentyfifteen-skip-link-focus-fix-js"></script> <script id="twentyfifteen-script-js-extra"> var screenReaderText = {"expand":"<span class=\"screen-reader-text\">expand child menu<\/span>","collapse":"<span class=\"screen-reader-text\">collapse child menu<\/span>"}; </script> <script src="https://www.generalist.org.uk/blog/wp-content/themes/twentyfifteen/js/functions.js?ver=20221101" id="twentyfifteen-script-js"></script> <script defer src="https://www.generalist.org.uk/blog/wp-content/plugins/akismet/_inc/akismet-frontend.js?ver=1732001081" id="akismet-frontend-js"></script> </body> </html>