https://digitaltownplanning.net/

提交的 URL:
https://digitaltownplanning.net/
报告完成时间:

链接 · 找到 0 个

JavaScript 变量 · 找到 26 个

名称类型
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
_wpemojiSettingsobject
$undefined
jQueryfunction
gtagfunction
dataLayerobject
_googlesitekitobject
EvEmitterfunction

控制台日志消息 · 找到 1 条

类型类别记录
logother
URL
https://digitaltownplanning.net/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1
文本
JQMIGRATE: Migrate is installed, version 3.4.1

HTML

<!DOCTYPE html><html class="html" lang="en-GB"><head>
	<meta charset="UTF-8">
	<link rel="profile" href="https://gmpg.org/xfn/11">

	<title>Digital Town Planning – Applied digital tools for planning</title>
<meta name="robots" content="max-image-preview:large">
	<style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style>
	<meta name="viewport" content="width=device-width, initial-scale=1"><link rel="dns-prefetch" href="//www.googletagmanager.com">
<link rel="alternate" type="application/rss+xml" title="Digital Town Planning » Feed" href="https://digitaltownplanning.net/feed/">
<link rel="alternate" type="application/rss+xml" title="Digital Town Planning » Comments Feed" href="https://digitaltownplanning.net/comments/feed/">
<script>
window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/digitaltownplanning.net\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.1"}};
/*! 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,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}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://digitaltownplanning.net/wp-includes/css/dist/block-library/style.min.css?ver=6.7.1" media="all">
<style id="wp-block-library-theme-inline-css">
.wp-block-audio :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio :where(figcaption){color:#ffffffa6}.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 :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed :where(figcaption){color:#ffffffa6}.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:#ffffffa6}:root :where(.wp-block-image figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme :root :where(.wp-block-image figcaption){color:#ffffffa6}.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:where(.has-text-align-right){border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote:where(.has-text-align-center){border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote:where(.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 :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table :where(figcaption){color:#ffffffa6}.wp-block-video :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video :where(figcaption){color:#ffffffa6}.wp-block-video{margin:0 0 1em}:root :where(.wp-block-template-part.has-background){margin-bottom:0;margin-top:0;padding:1.25em 2.375em}
</style>
<style id="kevinbatdorf-code-block-pro-style-inline-css">
.wp-block-kevinbatdorf-code-block-pro{direction:ltr!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;-webkit-text-size-adjust:100%!important;box-sizing:border-box!important;position:relative!important}.wp-block-kevinbatdorf-code-block-pro *{box-sizing:border-box!important}.wp-block-kevinbatdorf-code-block-pro pre,.wp-block-kevinbatdorf-code-block-pro pre *{font-size:inherit!important;line-height:inherit!important}.wp-block-kevinbatdorf-code-block-pro:not(.code-block-pro-editor) pre{background-image:none!important;border:0!important;border-radius:0!important;border-style:none!important;border-width:0!important;color:inherit!important;font-family:inherit!important;margin:0!important;overflow:auto!important;overflow-wrap:normal!important;padding:16px 0 16px 16px!important;text-align:left!important;white-space:pre!important;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.wp-block-kevinbatdorf-code-block-pro.padding-disabled:not(.code-block-pro-editor) pre{padding:0!important}.wp-block-kevinbatdorf-code-block-pro.padding-bottom-disabled pre{padding-bottom:0!important}.wp-block-kevinbatdorf-code-block-pro:not(.code-block-pro-editor) pre code{background:none!important;background-color:transparent!important;border:0!important;border-radius:0!important;border-style:none!important;border-width:0!important;color:inherit!important;display:block!important;font-family:inherit!important;margin:0!important;overflow-wrap:normal!important;padding:0!important;text-align:left!important;white-space:pre!important;width:100%!important;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.wp-block-kevinbatdorf-code-block-pro:not(.code-block-pro-editor) pre code .line{display:inline-block!important;min-width:var(--cbp-block-width,100%)!important;vertical-align:top!important}.wp-block-kevinbatdorf-code-block-pro.cbp-has-line-numbers:not(.code-block-pro-editor) pre code .line{padding-left:calc(12px + var(--cbp-line-number-width, auto))!important}.wp-block-kevinbatdorf-code-block-pro.cbp-has-line-numbers:not(.code-block-pro-editor) pre code{counter-increment:step calc(var(--cbp-line-number-start, 1) - 1)!important;counter-reset:step!important}.wp-block-kevinbatdorf-code-block-pro pre code .line{position:relative!important}.wp-block-kevinbatdorf-code-block-pro:not(.code-block-pro-editor) pre code .line:before{content:""!important;display:inline-block!important}.wp-block-kevinbatdorf-code-block-pro.cbp-has-line-numbers:not(.code-block-pro-editor) pre code .line:not(.cbp-line-number-disabled):before{color:var(--cbp-line-number-color,#999)!important;content:counter(step)!important;counter-increment:step!important;left:0!important;opacity:.5!important;position:absolute!important;text-align:right!important;transition-duration:.5s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important;width:var(--cbp-line-number-width,auto)!important}.wp-block-kevinbatdorf-code-block-pro.cbp-highlight-hover .line{min-height:var(--cbp-block-height,100%)!important}.wp-block-kevinbatdorf-code-block-pro .line.cbp-line-highlight .cbp-line-highlighter,.wp-block-kevinbatdorf-code-block-pro .line.cbp-no-blur:hover .cbp-line-highlighter,.wp-block-kevinbatdorf-code-block-pro.cbp-highlight-hover:not(.cbp-blur-enabled:not(.cbp-unblur-on-hover)) .line:hover .cbp-line-highlighter{background:var(--cbp-line-highlight-color,rgb(14 165 233/.2))!important;left:-16px!important;min-height:var(--cbp-block-height,100%)!important;min-width:calc(var(--cbp-block-width, 100%) + 16px)!important;pointer-events:none!important;position:absolute!important;top:0!important;width:100%!important}[data-code-block-pro-font-family="Code-Pro-Comic-Mono.ttf"].wp-block-kevinbatdorf-code-block-pro .line.cbp-line-highlight .cbp-line-highlighter,[data-code-block-pro-font-family="Code-Pro-Comic-Mono.ttf"].wp-block-kevinbatdorf-code-block-pro .line.cbp-no-blur:hover .cbp-line-highlighter,[data-code-block-pro-font-family="Code-Pro-Comic-Mono.ttf"].wp-block-kevinbatdorf-code-block-pro.cbp-highlight-hover:not(.cbp-blur-enabled:not(.cbp-unblur-on-hover)) .line:hover .cbp-line-highlighter{top:-.125rem!important}[data-code-block-pro-font-family=Code-Pro-Fira-Code].wp-block-kevinbatdorf-code-block-pro .line.cbp-line-highlight .cbp-line-highlighter,[data-code-block-pro-font-family=Code-Pro-Fira-Code].wp-block-kevinbatdorf-code-block-pro .line.cbp-no-blur:hover .cbp-line-highlighter,[data-code-block-pro-font-family=Code-Pro-Fira-Code].wp-block-kevinbatdorf-code-block-pro.cbp-highlight-hover:not(.cbp-blur-enabled:not(.cbp-unblur-on-hover)) .line:hover .cbp-line-highlighter{top:-1.5px!important}[data-code-block-pro-font-family="Code-Pro-Deja-Vu-Mono.ttf"].wp-block-kevinbatdorf-code-block-pro .line.cbp-line-highlight .cbp-line-highlighter,[data-code-block-pro-font-family="Code-Pro-Deja-Vu-Mono.ttf"].wp-block-kevinbatdorf-code-block-pro .line.cbp-no-blur:hover .cbp-line-highlighter,[data-code-block-pro-font-family="Code-Pro-Deja-Vu-Mono.ttf"].wp-block-kevinbatdorf-code-block-pro.cbp-highlight-hover:not(.cbp-blur-enabled:not(.cbp-unblur-on-hover)) .line:hover .cbp-line-highlighter,[data-code-block-pro-font-family=Code-Pro-Cozette].wp-block-kevinbatdorf-code-block-pro .line.cbp-line-highlight .cbp-line-highlighter,[data-code-block-pro-font-family=Code-Pro-Cozette].wp-block-kevinbatdorf-code-block-pro .line.cbp-no-blur:hover .cbp-line-highlighter,[data-code-block-pro-font-family=Code-Pro-Cozette].wp-block-kevinbatdorf-code-block-pro.cbp-highlight-hover:not(.cbp-blur-enabled:not(.cbp-unblur-on-hover)) .line:hover .cbp-line-highlighter{top:-1px!important}.wp-block-kevinbatdorf-code-block-pro:not(.code-block-pro-editor).padding-disabled pre .line.cbp-line-highlight:after{left:0!important;width:100%!important}.wp-block-kevinbatdorf-code-block-pro.cbp-blur-enabled pre .line:not(.cbp-no-blur){filter:blur(1px)!important;opacity:.4!important;pointer-events:none!important;transition-duration:.2s!important;transition-property:all!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.wp-block-kevinbatdorf-code-block-pro.cbp-blur-enabled.cbp-unblur-on-hover:hover pre .line:not(.cbp-no-blur){opacity:1!important;pointer-events:auto!important;--tw-blur: ;filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.wp-block-kevinbatdorf-code-block-pro:not(.code-block-pro-editor) pre *{font-family:inherit!important}.cbp-see-more-simple-btn-hover{transition-property:none!important}.cbp-see-more-simple-btn-hover:hover{box-shadow:inset 0 0 100px 100px hsla(0,0%,100%,.1)!important}.code-block-pro-copy-button{border:0!important;border-style:none!important;border-width:0!important;cursor:pointer!important;left:auto!important;line-height:1!important;opacity:.1!important;padding:6px!important;position:absolute!important;right:0!important;top:0!important;transition-duration:.2s!important;transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;z-index:10!important}.code-block-pro-copy-button:focus{opacity:.4!important}.code-block-pro-copy-button:not([data-has-text-button]){background:none!important;background-color:transparent!important}.wp-block-kevinbatdorf-code-block-pro.padding-disabled .code-block-pro-copy-button{padding:0!important}.wp-block-kevinbatdorf-code-block-pro:hover .code-block-pro-copy-button{opacity:.5!important}.wp-block-kevinbatdorf-code-block-pro .code-block-pro-copy-button:hover{opacity:.9!important}.code-block-pro-copy-button[data-has-text-button],.wp-block-kevinbatdorf-code-block-pro:hover .code-block-pro-copy-button[data-has-text-button]{opacity:1!important}.wp-block-kevinbatdorf-code-block-pro .code-block-pro-copy-button[data-has-text-button]:hover{opacity:.8!important}.code-block-pro-copy-button[data-has-text-button]{border-radius:.75rem!important;display:block!important;margin-right:.75rem!important;margin-top:.7rem!important;padding:.125rem .375rem!important}.code-block-pro-copy-button[data-inside-header-type=headlightsMuted],.code-block-pro-copy-button[data-inside-header-type^=headlights]{margin-top:.85rem!important}.code-block-pro-copy-button[data-inside-header-type=headlightsMutedAlt]{margin-top:.65rem!important}.code-block-pro-copy-button[data-inside-header-type=simpleString]{margin-top:.645rem!important}.code-block-pro-copy-button[data-inside-header-type=pillString]{margin-top:1rem!important}.code-block-pro-copy-button[data-inside-header-type=pillString] .cbp-btn-text{position:relative!important;top:1px!important}.cbp-btn-text{font-size:.75rem!important;line-height:1rem!important}.code-block-pro-copy-button .without-check{display:block!important}.code-block-pro-copy-button .with-check{display:none!important}.code-block-pro-copy-button.cbp-copying{opacity:1!important}.code-block-pro-copy-button.cbp-copying .without-check{display:none!important}.code-block-pro-copy-button.cbp-copying .with-check{display:block!important}.cbp-footer-link:hover{text-decoration-line:underline!important}@media print{.wp-block-kevinbatdorf-code-block-pro pre{max-height:none!important}.wp-block-kevinbatdorf-code-block-pro:not(#x) .line:before{background-color:transparent!important;color:inherit!important}.wp-block-kevinbatdorf-code-block-pro:not(#x) .cbp-line-highlighter,.wp-block-kevinbatdorf-code-block-pro:not(#x)>span{display:none!important}}

</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">
:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--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--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--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-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){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;}
: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;}
:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}
</style>
<link rel="stylesheet" id="font-awesome-css" href="https://digitaltownplanning.net/wp-content/themes/oceanwp/assets/fonts/fontawesome/css/all.min.css?ver=6.4.2" media="all">
<link rel="stylesheet" id="simple-line-icons-css" href="https://digitaltownplanning.net/wp-content/themes/oceanwp/assets/css/third/simple-line-icons.min.css?ver=2.4.0" media="all">
<link rel="stylesheet" id="oceanwp-style-css" href="https://digitaltownplanning.net/wp-content/themes/oceanwp/assets/css/style.min.css?ver=4.0.3" media="all">
<link rel="stylesheet" id="oceanwp-hamburgers-css" href="https://digitaltownplanning.net/wp-content/themes/oceanwp/assets/css/third/hamburgers/hamburgers.min.css?ver=4.0.3" media="all">
<link rel="stylesheet" id="oceanwp-collapse-css" href="https://digitaltownplanning.net/wp-content/themes/oceanwp/assets/css/third/hamburgers/types/collapse.css?ver=4.0.3" media="all">
<script src="https://digitaltownplanning.net/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script>
<script src="https://digitaltownplanning.net/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script>

<!-- Google tag (gtag.js) snippet added by Site Kit -->

<!-- Google Analytics snippet added by Site Kit -->
<script src="https://www.googletagmanager.com/gtag/js?id=GT-T5P2SQKM" id="google_gtagjs-js" async=""></script>
<script id="google_gtagjs-js-after">
window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}
gtag("set","linker",{"domains":["digitaltownplanning.net"]});
gtag("js", new Date());
gtag("set", "developer_id.dZTNiMT", true);
gtag("config", "GT-T5P2SQKM");
 window._googlesitekit = window._googlesitekit || {}; window._googlesitekit.throttledEvents = []; window._googlesitekit.gtagEvent = (name, data) => { var key = JSON.stringify( { name, data } ); if ( !! window._googlesitekit.throttledEvents[ key ] ) { return; } window._googlesitekit.throttledEvents[ key ] = true; setTimeout( () => { delete window._googlesitekit.throttledEvents[ key ]; }, 5 ); gtag( "event", name, { ...data, event_source: "site-kit" } ); }
</script>

<!-- End Google tag (gtag.js) snippet added by Site Kit -->
<link rel="https://api.w.org/" href="https://digitaltownplanning.net/wp-json/"><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://digitaltownplanning.net/xmlrpc.php?rsd">
<meta name="generator" content="WordPress 6.7.1">
<meta name="generator" content="Site Kit by Google 1.140.0"><style type="text/css">.broken_link, a.broken_link {
	text-decoration: line-through;
}</style><link rel="icon" href="https://digitaltownplanning.net/wp-content/uploads/2024/11/cropped-Capture.PNG-32x32.png" sizes="32x32">
<link rel="icon" href="https://digitaltownplanning.net/wp-content/uploads/2024/11/cropped-Capture.PNG-192x192.png" sizes="192x192">
<link rel="apple-touch-icon" href="https://digitaltownplanning.net/wp-content/uploads/2024/11/cropped-Capture.PNG-180x180.png">
<meta name="msapplication-TileImage" content="https://digitaltownplanning.net/wp-content/uploads/2024/11/cropped-Capture.PNG-270x270.png">
<!-- OceanWP CSS -->
<style type="text/css">
/* Colors */body .theme-button,body input[type="submit"],body button[type="submit"],body button,body .button,body div.wpforms-container-full .wpforms-form input[type=submit],body div.wpforms-container-full .wpforms-form button[type=submit],body div.wpforms-container-full .wpforms-form .wpforms-page-button{border-color:#ffffff}body .theme-button:hover,body input[type="submit"]:hover,body button[type="submit"]:hover,body button:hover,body .button:hover,body div.wpforms-container-full .wpforms-form input[type=submit]:hover,body div.wpforms-container-full .wpforms-form input[type=submit]:active,body div.wpforms-container-full .wpforms-form button[type=submit]:hover,body div.wpforms-container-full .wpforms-form button[type=submit]:active,body div.wpforms-container-full .wpforms-form .wpforms-page-button:hover,body div.wpforms-container-full .wpforms-form .wpforms-page-button:active{border-color:#ffffff}/* OceanWP Style Settings CSS */.container{width:900px}@media only screen and (min-width:960px){.content-area,.content-left-sidebar .content-area{width:90%}}.theme-button,input[type="submit"],button[type="submit"],button,.button,body div.wpforms-container-full .wpforms-form input[type=submit],body div.wpforms-container-full .wpforms-form button[type=submit],body div.wpforms-container-full .wpforms-form .wpforms-page-button{border-style:solid}.theme-button,input[type="submit"],button[type="submit"],button,.button,body div.wpforms-container-full .wpforms-form input[type=submit],body div.wpforms-container-full .wpforms-form button[type=submit],body div.wpforms-container-full .wpforms-form .wpforms-page-button{border-width:1px}form input[type="text"],form input[type="password"],form input[type="email"],form input[type="url"],form input[type="date"],form input[type="month"],form input[type="time"],form input[type="datetime"],form input[type="datetime-local"],form input[type="week"],form input[type="number"],form input[type="search"],form input[type="tel"],form input[type="color"],form select,form textarea,.woocommerce .woocommerce-checkout .select2-container--default .select2-selection--single{border-style:solid}body div.wpforms-container-full .wpforms-form input[type=date],body div.wpforms-container-full .wpforms-form input[type=datetime],body div.wpforms-container-full .wpforms-form input[type=datetime-local],body div.wpforms-container-full .wpforms-form input[type=email],body div.wpforms-container-full .wpforms-form input[type=month],body div.wpforms-container-full .wpforms-form input[type=number],body div.wpforms-container-full .wpforms-form input[type=password],body div.wpforms-container-full .wpforms-form input[type=range],body div.wpforms-container-full .wpforms-form input[type=search],body div.wpforms-container-full .wpforms-form input[type=tel],body div.wpforms-container-full .wpforms-form input[type=text],body div.wpforms-container-full .wpforms-form input[type=time],body div.wpforms-container-full .wpforms-form input[type=url],body div.wpforms-container-full .wpforms-form input[type=week],body div.wpforms-container-full .wpforms-form select,body div.wpforms-container-full .wpforms-form textarea{border-style:solid}form input[type="text"],form input[type="password"],form input[type="email"],form input[type="url"],form input[type="date"],form input[type="month"],form input[type="time"],form input[type="datetime"],form input[type="datetime-local"],form input[type="week"],form input[type="number"],form input[type="search"],form input[type="tel"],form input[type="color"],form select,form textarea{border-radius:3px}body div.wpforms-container-full .wpforms-form input[type=date],body div.wpforms-container-full .wpforms-form input[type=datetime],body div.wpforms-container-full .wpforms-form input[type=datetime-local],body div.wpforms-container-full .wpforms-form input[type=email],body div.wpforms-container-full .wpforms-form input[type=month],body div.wpforms-container-full .wpforms-form input[type=number],body div.wpforms-container-full .wpforms-form input[type=password],body div.wpforms-container-full .wpforms-form input[type=range],body div.wpforms-container-full .wpforms-form input[type=search],body div.wpforms-container-full .wpforms-form input[type=tel],body div.wpforms-container-full .wpforms-form input[type=text],body div.wpforms-container-full .wpforms-form input[type=time],body div.wpforms-container-full .wpforms-form input[type=url],body div.wpforms-container-full .wpforms-form input[type=week],body div.wpforms-container-full .wpforms-form select,body div.wpforms-container-full .wpforms-form textarea{border-radius:3px}#scroll-top{bottom:50px}#scroll-top{width:60px;height:60px;line-height:60px}#scroll-top{font-size:60px}#scroll-top .owp-icon{width:60px;height:60px}.page-header,.has-transparent-header .page-header{padding:20px 0 20px 0}/* Header */#site-logo #site-logo-inner,.oceanwp-social-menu .social-menu-inner,#site-header.full_screen-header .menu-bar-inner,.after-header-content .after-header-content-inner{height:70px}#site-navigation-wrap .dropdown-menu >li >a,.oceanwp-mobile-menu-icon a,.mobile-menu-close,.after-header-content-inner >a{line-height:70px}#site-header,.has-transparent-header .is-sticky #site-header,.has-vh-transparent .is-sticky #site-header.vertical-header,#searchform-header-replace{background-color:#e1e1e1}#site-header.has-header-media .overlay-header-media{background-color:#b41010}#site-header{border-color:#e1e1e1}#site-navigation-wrap .dropdown-menu >li >a{padding:0 12px}#site-navigation-wrap .dropdown-menu >li >a:hover,#site-navigation-wrap .dropdown-menu >li.sfHover >a{background-color:#eeee22}.dropdown-menu ul li a.menu-link:hover{background-color:#eeee22}.mobile-menu .hamburger-inner,.mobile-menu .hamburger-inner::before,.mobile-menu .hamburger-inner::after{background-color:#000000}/* Blog CSS */.ocean-single-post-header ul.meta-item li a:hover{color:#333333}/* Sidebar */.widget-area{padding:0 0 0 20px!important}.widget-area .sidebar-box{padding:0 0 0 20px}.widget-title{margin-bottom:10px}/* Typography */body{font-size:14px;line-height:1.8}h1,h2,h3,h4,h5,h6,.theme-heading,.widget-title,.oceanwp-widget-recent-posts-title,.comment-reply-title,.entry-title,.sidebar-box .widget-title{line-height:1.4}h1{font-size:23px;line-height:1.4}h2{font-size:20px;line-height:1.4}h3{font-size:18px;line-height:1.4}h4{font-size:17px;line-height:1.4}h5{font-size:14px;line-height:1.4}h6{font-size:15px;line-height:1.4}.page-header .page-header-title,.page-header.background-image-page-header .page-header-title{font-size:32px;line-height:1.4}.page-header .page-subheading{font-size:15px;line-height:1.8}.site-breadcrumbs,.site-breadcrumbs a{font-size:13px;line-height:1.4}#top-bar-content,#top-bar-social-alt{font-size:12px;line-height:1.8}#site-logo a.site-logo-text{font-size:18px;line-height:1.8}.dropdown-menu ul li a.menu-link,#site-header.full_screen-header .fs-dropdown-menu ul.sub-menu li a{font-size:12px;line-height:1.2;letter-spacing:.6px}.sidr-class-dropdown-menu li a,a.sidr-class-toggle-sidr-close,#mobile-dropdown ul li a,body #mobile-fullscreen ul li a{font-size:15px;line-height:1.8}.blog-entry.post .blog-entry-header .entry-title a{font-size:24px;line-height:1.4}.ocean-single-post-header .single-post-title{font-size:34px;line-height:1.4;letter-spacing:.6px}.ocean-single-post-header ul.meta-item li,.ocean-single-post-header ul.meta-item li a{font-size:13px;line-height:1.4;letter-spacing:.6px}.ocean-single-post-header .post-author-name,.ocean-single-post-header .post-author-name a{font-size:14px;line-height:1.4;letter-spacing:.6px}.ocean-single-post-header .post-author-description{font-size:12px;line-height:1.4;letter-spacing:.6px}.single-post .entry-title{line-height:1.4;letter-spacing:.6px}.single-post ul.meta li,.single-post ul.meta li a{font-size:14px;line-height:1.4;letter-spacing:.6px}.sidebar-box .widget-title,.sidebar-box.widget_block .wp-block-heading{font-size:13px;line-height:1;letter-spacing:1px}#footer-widgets .footer-box .widget-title{font-size:13px;line-height:1;letter-spacing:1px}#footer-bottom #copyright{font-size:12px;line-height:1}#footer-bottom #footer-bottom-menu{font-size:12px;line-height:1}.woocommerce-store-notice.demo_store{line-height:2;letter-spacing:1.5px}.demo_store .woocommerce-store-notice__dismiss-link{line-height:2;letter-spacing:1.5px}.woocommerce ul.products li.product li.title h2,.woocommerce ul.products li.product li.title a{font-size:14px;line-height:1.5}.woocommerce ul.products li.product li.category,.woocommerce ul.products li.product li.category a{font-size:12px;line-height:1}.woocommerce ul.products li.product .price{font-size:18px;line-height:1}.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .product-inner .added_to_cart{font-size:12px;line-height:1.5;letter-spacing:1px}.woocommerce ul.products li.owp-woo-cond-notice span,.woocommerce ul.products li.owp-woo-cond-notice a{font-size:16px;line-height:1;letter-spacing:1px;font-weight:600;text-transform:capitalize}.woocommerce div.product .product_title{font-size:24px;line-height:1.4;letter-spacing:.6px}.woocommerce div.product p.price{font-size:36px;line-height:1}.woocommerce .owp-btn-normal .summary form button.button,.woocommerce .owp-btn-big .summary form button.button,.woocommerce .owp-btn-very-big .summary form button.button{font-size:12px;line-height:1.5;letter-spacing:1px;text-transform:uppercase}.woocommerce div.owp-woo-single-cond-notice span,.woocommerce div.owp-woo-single-cond-notice a{font-size:18px;line-height:2;letter-spacing:1.5px;font-weight:600;text-transform:capitalize}
</style><script src="https://digitaltownplanning.net/wp-includes/js/wp-emoji-release.min.js?ver=6.7.1" defer=""></script></head>

<body class="home blog wp-embed-responsive oceanwp-theme dropdown-mobile no-header-border default-breakpoint has-sidebar content-right-sidebar page-header-disabled has-breadcrumbs" itemscope="itemscope" itemtype="https://schema.org/WebPage">

	
	
	<div id="outer-wrap" class="site clr">

		<a class="skip-link screen-reader-text" href="#main">Skip to content</a>

		
		<div id="wrap" class="clr">

			
			
<header id="site-header" class="minimal-header effect-three clr" data-height="70" itemscope="itemscope" itemtype="https://schema.org/WPHeader" role="banner">

	
					
			<div id="site-header-inner" class="clr container">

				
				

<div id="site-logo" class="clr" itemscope="" itemtype="https://schema.org/Brand">

	
	<div id="site-logo-inner" class="clr">

						<a href="https://digitaltownplanning.net/" rel="home" class="site-title site-logo-text" style="color:#;">Digital Town Planning</a>
				
	</div><!-- #site-logo-inner -->

	
	
</div><!-- #site-logo -->

			<div id="site-navigation-wrap" class="clr">
			
			
			
			<nav id="site-navigation" class="navigation main-navigation clr" itemscope="itemscope" itemtype="https://schema.org/SiteNavigationElement" role="navigation">

				<ul id="menu-index" class="main-menu dropdown-menu sf-menu"><li id="menu-item-237" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-237"><a href="https://digitaltownplanning.net" class="menu-link"><span class="text-wrap">HOME</span></a></li><li id="menu-item-238" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children dropdown menu-item-238"><a href="https://digitaltownplanning.net/category/index/" class="menu-link"><span class="text-wrap">Index<i class="nav-arrow fa fa-angle-down" aria-hidden="true" role="img"></i></span></a>
<ul class="sub-menu">
	<li id="menu-item-258" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-258"><a href="https://digitaltownplanning.net/test-post/" class="menu-link"><span class="text-wrap">Introduction</span></a></li>	<li id="menu-item-247" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children dropdown menu-item-247"><a href="https://digitaltownplanning.net/category/gis-4-planners/" class="menu-link"><span class="text-wrap">GIS 4 Planners<i class="nav-arrow fa fa-angle-right" aria-hidden="true" role="img"></i></span></a>
	<ul class="sub-menu">
		<li id="menu-item-253" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-253"><a href="https://digitaltownplanning.net/category/gis-4-planners/arc-gis-online-and-desktop/" class="menu-link"><span class="text-wrap">Arc GIS Online and Desktop</span></a></li>		<li id="menu-item-248" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-248"><a href="https://digitaltownplanning.net/category/gis-4-planners/geoserver/" class="menu-link"><span class="text-wrap">Geoserver</span></a></li>		<li id="menu-item-249" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-249"><a href="https://digitaltownplanning.net/category/gis-4-planners/leaflet/" class="menu-link"><span class="text-wrap">Leaflet</span></a></li>		<li id="menu-item-250" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-250"><a href="https://digitaltownplanning.net/category/gis-4-planners/open-layers/" class="menu-link"><span class="text-wrap">Open Layers</span></a></li>		<li id="menu-item-251" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-251"><a href="https://digitaltownplanning.net/category/gis-4-planners/qgis/" class="menu-link"><span class="text-wrap">QGIS</span></a></li>		<li id="menu-item-252" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-252"><a href="https://digitaltownplanning.net/category/gis-4-planners/qgis-2-web/" class="menu-link"><span class="text-wrap">QGIS 2 Web</span></a></li>	</ul>
</li>	<li id="menu-item-94" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-94"><a href="https://digitaltownplanning.net/category/postgres4planners/" class="menu-link"><span class="text-wrap">Postgres 4 Planners</span></a></li>	<li id="menu-item-221" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-221"><a href="https://digitaltownplanning.net/category/public-open-mapping-sites/" class="menu-link"><span class="text-wrap">Public Open Mapping Sites</span></a></li>	<li id="menu-item-225" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-225"><a href="https://digitaltownplanning.net/category/wordpress-4-planners/" class="menu-link"><span class="text-wrap">WordPress 4 Planners</span></a></li>	<li id="menu-item-227" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children dropdown menu-item-227"><a href="https://digitaltownplanning.net/category/planning-core-competencies/" class="menu-link"><span class="text-wrap">Planning Core Competencies<i class="nav-arrow fa fa-angle-right" aria-hidden="true" role="img"></i></span></a>
	<ul class="sub-menu">
		<li id="menu-item-220" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-220"><a href="https://digitaltownplanning.net/category/professional-ethics/" class="menu-link"><span class="text-wrap">C1 Professional Ethics</span></a></li>		<li id="menu-item-223" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-223"><a href="https://digitaltownplanning.net/category/spatial-planning/" class="menu-link"><span class="text-wrap">C2 Spatial Planning</span></a></li>		<li id="menu-item-217" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-217"><a href="https://digitaltownplanning.net/category/identifying-and-analysing-issues/" class="menu-link"><span class="text-wrap">C3 Identifying and Analysing Issues</span></a></li>		<li id="menu-item-230" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-230"><a href="https://digitaltownplanning.net/category/c4-gathering-appropriate-information/" class="menu-link"><span class="text-wrap">C4 Gathering appropriate information</span></a></li>		<li id="menu-item-231" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-231"><a href="https://digitaltownplanning.net/category/c5-identifying-and-assessing-alernative-couses-of-action/" class="menu-link"><span class="text-wrap">C5 Identifying and assessing alernative couses of action</span></a></li>		<li id="menu-item-218" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-218"><a href="https://digitaltownplanning.net/category/legal-framework/" class="menu-link"><span class="text-wrap">C7 Legal Framework</span></a></li>		<li id="menu-item-219" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-219"><a href="https://digitaltownplanning.net/category/politics-in-planning/" class="menu-link"><span class="text-wrap">C8 Politics in planning</span></a></li>		<li id="menu-item-216" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-216"><a href="https://digitaltownplanning.net/category/economics-in-planning/" class="menu-link"><span class="text-wrap">C9 Economics in planning</span></a></li>		<li id="menu-item-222" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-222"><a href="https://digitaltownplanning.net/category/reflection-and-review/" class="menu-link"><span class="text-wrap">C10 Reflection and Review</span></a></li>		<li id="menu-item-224" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-224"><a href="https://digitaltownplanning.net/category/sustainability-and-climate-change/" class="menu-link"><span class="text-wrap">C11 Sustainability and climate change</span></a></li>		<li id="menu-item-215" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-215"><a href="https://digitaltownplanning.net/category/community-engagement-and-participation/" class="menu-link"><span class="text-wrap">C12 Community engagement and participation</span></a></li>		<li id="menu-item-229" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-229"><a href="https://digitaltownplanning.net/category/c13-specialist-knowledge-and-planning-theory/" class="menu-link"><span class="text-wrap">C13 Specialist knowledge and planning theory</span></a></li>	</ul>
</li></ul>
</li><li class="search-toggle-li"><a href="https://digitaltownplanning.net/#" class="site-search-toggle search-dropdown-toggle"><span class="screen-reader-text">Toggle website search</span><i class=" fas fa-search" aria-hidden="true" role="img"></i></a></li></ul>
<div id="searchform-dropdown" class="header-searchform-wrap clr">
	
<form aria-label="Search this website" role="search" method="get" class="searchform" action="https://digitaltownplanning.net/">	
	<input aria-label="Insert search query" type="search" id="ocean-search-form-1" class="field" autocomplete="off" placeholder="Search" name="s">
		</form>
</div><!-- #searchform-dropdown -->

			</nav><!-- #site-navigation -->

			
			
					</div><!-- #site-navigation-wrap -->
			
		
	
				
	
	<div class="oceanwp-mobile-menu-icon clr mobile-right">

		
		
		
		<a href="https://digitaltownplanning.net/#mobile-menu-toggle" class="mobile-menu" aria-label="Mobile Menu">
							<div class="hamburger hamburger--collapse" aria-expanded="false" role="navigation">
					<div class="hamburger-box">
						<div class="hamburger-inner"></div>
					</div>
				</div>
						</a>

		
		
		
	</div><!-- #oceanwp-mobile-menu-navbar -->

	

			</div><!-- #site-header-inner -->

			
<div id="mobile-dropdown" class="clr">

	<nav class="clr" itemscope="itemscope" itemtype="https://schema.org/SiteNavigationElement">

		
	<div id="mobile-nav" class="navigation clr">

		<ul id="menu-index-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-237"><a href="https://digitaltownplanning.net" aria-current="page">HOME</a></li>
<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-238"><a href="https://digitaltownplanning.net/category/index/">Index<span class="dropdown-toggle" tabindex="0"></span></a>
<ul class="sub-menu">
	<li class="menu-item menu-item-type-post_type menu-item-object-post menu-item-258"><a href="https://digitaltownplanning.net/test-post/">Introduction</a></li>
	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-247"><a href="https://digitaltownplanning.net/category/gis-4-planners/">GIS 4 Planners<span class="dropdown-toggle" tabindex="0"></span></a>
	<ul class="sub-menu">
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-253"><a href="https://digitaltownplanning.net/category/gis-4-planners/arc-gis-online-and-desktop/">Arc GIS Online and Desktop</a></li>
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-248"><a href="https://digitaltownplanning.net/category/gis-4-planners/geoserver/">Geoserver</a></li>
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-249"><a href="https://digitaltownplanning.net/category/gis-4-planners/leaflet/">Leaflet</a></li>
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-250"><a href="https://digitaltownplanning.net/category/gis-4-planners/open-layers/">Open Layers</a></li>
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-251"><a href="https://digitaltownplanning.net/category/gis-4-planners/qgis/">QGIS</a></li>
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-252"><a href="https://digitaltownplanning.net/category/gis-4-planners/qgis-2-web/">QGIS 2 Web</a></li>
	</ul>
</li>
	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-94"><a href="https://digitaltownplanning.net/category/postgres4planners/">Postgres 4 Planners</a></li>
	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-221"><a href="https://digitaltownplanning.net/category/public-open-mapping-sites/">Public Open Mapping Sites</a></li>
	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-225"><a href="https://digitaltownplanning.net/category/wordpress-4-planners/">WordPress 4 Planners</a></li>
	<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-227"><a href="https://digitaltownplanning.net/category/planning-core-competencies/">Planning Core Competencies<span class="dropdown-toggle" tabindex="0"></span></a>
	<ul class="sub-menu">
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-220"><a href="https://digitaltownplanning.net/category/professional-ethics/">C1 Professional Ethics</a></li>
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-223"><a href="https://digitaltownplanning.net/category/spatial-planning/">C2 Spatial Planning</a></li>
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-217"><a href="https://digitaltownplanning.net/category/identifying-and-analysing-issues/">C3 Identifying and Analysing Issues</a></li>
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-230"><a href="https://digitaltownplanning.net/category/c4-gathering-appropriate-information/">C4 Gathering appropriate information</a></li>
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-231"><a href="https://digitaltownplanning.net/category/c5-identifying-and-assessing-alernative-couses-of-action/">C5 Identifying and assessing alernative couses of action</a></li>
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-218"><a href="https://digitaltownplanning.net/category/legal-framework/">C7 Legal Framework</a></li>
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-219"><a href="https://digitaltownplanning.net/category/politics-in-planning/">C8 Politics in planning</a></li>
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-216"><a href="https://digitaltownplanning.net/category/economics-in-planning/">C9 Economics in planning</a></li>
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-222"><a href="https://digitaltownplanning.net/category/reflection-and-review/">C10 Reflection and Review</a></li>
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-224"><a href="https://digitaltownplanning.net/category/sustainability-and-climate-change/">C11 Sustainability and climate change</a></li>
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-215"><a href="https://digitaltownplanning.net/category/community-engagement-and-participation/">C12 Community engagement and participation</a></li>
		<li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-229"><a href="https://digitaltownplanning.net/category/c13-specialist-knowledge-and-planning-theory/">C13 Specialist knowledge and planning theory</a></li>
	</ul>
</li>
</ul>
</li>
</ul>
	</div>


<div id="mobile-menu-search" class="clr">
	<form aria-label="Search this website" method="get" action="https://digitaltownplanning.net/" class="mobile-searchform">
		<input aria-label="Insert search query" value="" class="field" id="ocean-mobile-search-2" type="search" name="s" autocomplete="off" placeholder="Search">
		<button aria-label="Submit search" type="submit" class="searchform-submit">
			<i class=" fas fa-search" aria-hidden="true" role="img"></i>		</button>
					</form>
</div><!-- .mobile-menu-search -->

	</nav>

</div>

			
			
		
		
</header><!-- #site-header -->


			
			<main id="main" class="site-main clr" role="main">

				
	
	<div id="content-wrap" class="container clr">

		
		<div id="primary" class="content-area clr">

			
			<div id="content" class="site-content clr">

				
										<div id="blog-entries" class="entries clr infinite-scroll-wrap">

							
							
								
								
	<article id="post-301" class="blog-entry clr no-featured-image item-entry large-entry post-301 post type-post status-publish format-standard hentry category-ai-artificial-intelligence category-all entry">

		<div class="blog-entry-inner clr">

			

<header class="blog-entry-header clr">
	<h2 class="blog-entry-title entry-title">
		<a href="https://digitaltownplanning.net/ai-example/" rel="bookmark">AI Experimentation Example</a>
	</h2><!-- .blog-entry-title -->
</header><!-- .blog-entry-header -->



<div class="blog-entry-summary clr" itemprop="text">

	
		<p>
			I thought it would be fun to show you the kind of things that I am using AI for. Here I take a visual basic script that created a set…		</p>

		
</div><!-- .blog-entry-summary -->



<div class="blog-entry-readmore clr">
	
<a href="https://digitaltownplanning.net/ai-example/">
	Continue Reading<span class="screen-reader-text">AI Experimentation Example</span><i class=" fa fa-angle-right" aria-hidden="true" role="img"></i></a>

</div><!-- .blog-entry-readmore -->


			
		</div><!-- .blog-entry-inner -->

	</article><!-- #post-## -->

	
								
							
								
								
	<article id="post-275" class="blog-entry clr no-featured-image item-entry large-entry post-275 post type-post status-publish format-standard hentry category-all category-gis-4-planners category-identifying-and-analysing-issues category-postgres4planners category-psql category-spatial-planning entry">

		<div class="blog-entry-inner clr">

			

<header class="blog-entry-header clr">
	<h2 class="blog-entry-title entry-title">
		<a href="https://digitaltownplanning.net/013-postgres-command-line-psql-using-st_within-function-to-build-junction-tables-to-compare-2-separate-polygon-tables/" rel="bookmark">Postgres 4 Planners : Automating Site Constraint Checks</a>
	</h2><!-- .blog-entry-title -->
</header><!-- .blog-entry-header -->



<div class="blog-entry-summary clr" itemprop="text">

	
		<p>
			Introduction In terms of the Housing Land Audit , Employment land and Vacant and Derelict land it is important to quickly identify what constraints/policies and education catchment areas a site…		</p>

		
</div><!-- .blog-entry-summary -->



<div class="blog-entry-readmore clr">
	
<a href="https://digitaltownplanning.net/013-postgres-command-line-psql-using-st_within-function-to-build-junction-tables-to-compare-2-separate-polygon-tables/">
	Continue Reading<span class="screen-reader-text">Postgres 4 Planners : Automating Site Constraint Checks</span><i class=" fa fa-angle-right" aria-hidden="true" role="img"></i></a>

</div><!-- .blog-entry-readmore -->


			
		</div><!-- .blog-entry-inner -->

	</article><!-- #post-## -->

	
								
							
								
								
	<article id="post-273" class="blog-entry clr no-featured-image item-entry large-entry post-273 post type-post status-publish format-standard hentry category-all category-geoserver category-gis-4-planners category-spatial-planning entry">

		<div class="blog-entry-inner clr">

			

<header class="blog-entry-header clr">
	<h2 class="blog-entry-title entry-title">
		<a href="https://digitaltownplanning.net/geoserver-installation-configuration-for-sql-server-on-windows/" rel="bookmark">Geoserver Installation (Configuration for SQL Server on Windows)</a>
	</h2><!-- .blog-entry-title -->
</header><!-- .blog-entry-header -->



<div class="blog-entry-summary clr" itemprop="text">

	
		<p>
			Once you have your data in an Enterprise Grade database sharing that information becomes important. Some vendors, in particular Digital mapping SAAS vendors want you to transfer your data into…		</p>

		
</div><!-- .blog-entry-summary -->



<div class="blog-entry-readmore clr">
	
<a href="https://digitaltownplanning.net/geoserver-installation-configuration-for-sql-server-on-windows/">
	Continue Reading<span class="screen-reader-text">Geoserver Installation (Configuration for SQL Server on Windows)</span><i class=" fa fa-angle-right" aria-hidden="true" role="img"></i></a>

</div><!-- .blog-entry-readmore -->


			
		</div><!-- .blog-entry-inner -->

	</article><!-- #post-## -->

	
								
							
								
								
	<article id="post-271" class="blog-entry clr no-featured-image item-entry large-entry post-271 post type-post status-publish format-standard hentry category-all category-microsoft-azure category-postgres4planners entry">

		<div class="blog-entry-inner clr">

			

<header class="blog-entry-header clr">
	<h2 class="blog-entry-title entry-title">
		<a href="https://digitaltownplanning.net/add-postgis-extension-to-azure-postgres-database-worked-example/" rel="bookmark">Add POSTGIS extension to Azure Postgres Database – Worked Example</a>
	</h2><!-- .blog-entry-title -->
</header><!-- .blog-entry-header -->



<div class="blog-entry-summary clr" itemprop="text">

	
		<p>
			Firstly we need to allow for the extension on the server.Within the Azure portal navigate to server parameters Search for&nbsp;azure.extensions Select which extensions to addREMEMBER to save before exit! Wait…		</p>

		
</div><!-- .blog-entry-summary -->



<div class="blog-entry-readmore clr">
	
<a href="https://digitaltownplanning.net/add-postgis-extension-to-azure-postgres-database-worked-example/">
	Continue Reading<span class="screen-reader-text">Add POSTGIS extension to Azure Postgres Database – Worked Example</span><i class=" fa fa-angle-right" aria-hidden="true" role="img"></i></a>

</div><!-- .blog-entry-readmore -->


			
		</div><!-- .blog-entry-inner -->

	</article><!-- #post-## -->

	
								
							
								
								
	<article id="post-269" class="blog-entry clr no-featured-image item-entry large-entry post-269 post type-post status-publish format-standard hentry category-all category-data-sources category-gis-4-planners category-spatial-planning entry">

		<div class="blog-entry-inner clr">

			

<header class="blog-entry-header clr">
	<h2 class="blog-entry-title entry-title">
		<a href="https://digitaltownplanning.net/spatial-data-hub-scotland/" rel="bookmark">Spatial Data Hub Scotland</a>
	</h2><!-- .blog-entry-title -->
</header><!-- .blog-entry-header -->



<div class="blog-entry-summary clr" itemprop="text">

	
		<p>
			Planning in the UK has for a long time suffered from a classic siloing of data by authority resulting in slow and varied analysis of information. Authorities relied on talented…		</p>

		
</div><!-- .blog-entry-summary -->



<div class="blog-entry-readmore clr">
	
<a href="https://digitaltownplanning.net/spatial-data-hub-scotland/">
	Continue Reading<span class="screen-reader-text">Spatial Data Hub Scotland</span><i class=" fa fa-angle-right" aria-hidden="true" role="img"></i></a>

</div><!-- .blog-entry-readmore -->


			
		</div><!-- .blog-entry-inner -->

	</article><!-- #post-## -->

	
								
							
								
								
	<article id="post-262" class="blog-entry clr no-featured-image item-entry large-entry post-262 post type-post status-publish format-standard hentry category-all category-geoserver category-spatial-planning entry">

		<div class="blog-entry-inner clr">

			

<header class="blog-entry-header clr">
	<h2 class="blog-entry-title entry-title">
		<a href="https://digitaltownplanning.net/geoserver-create-view/" rel="bookmark">Geoserver – CREATE View</a>
	</h2><!-- .blog-entry-title -->
</header><!-- .blog-entry-header -->



<div class="blog-entry-summary clr" itemprop="text">

	
		<p>
			Geoserver has this really great feature whereby admins are able to create views that are held with the configuration of the Geoserver but separate from the database. This allows admins…		</p>

		
</div><!-- .blog-entry-summary -->



<div class="blog-entry-readmore clr">
	
<a href="https://digitaltownplanning.net/geoserver-create-view/">
	Continue Reading<span class="screen-reader-text">Geoserver – CREATE View</span><i class=" fa fa-angle-right" aria-hidden="true" role="img"></i></a>

</div><!-- .blog-entry-readmore -->


			
		</div><!-- .blog-entry-inner -->

	</article><!-- #post-## -->

	
								
							
								
								
	<article id="post-259" class="blog-entry clr no-featured-image item-entry large-entry post-259 post type-post status-publish format-standard hentry category-all category-geoserver category-gis-4-planners category-spatial-planning entry">

		<div class="blog-entry-inner clr">

			

<header class="blog-entry-header clr">
	<h2 class="blog-entry-title entry-title">
		<a href="https://digitaltownplanning.net/geoserver-and-oracle-wfs-wms-config-tips/" rel="bookmark">GeoServer and ORACLE – WFS &amp; WMS Config Tips</a>
	</h2><!-- .blog-entry-title -->
</header><!-- .blog-entry-header -->



<div class="blog-entry-summary clr" itemprop="text">

	
		<p>
			This post is a brief description of my findings on setting up Geoserver from scratch and some particular points on setting it up for an Oracle connection. I hope it…		</p>

		
</div><!-- .blog-entry-summary -->



<div class="blog-entry-readmore clr">
	
<a href="https://digitaltownplanning.net/geoserver-and-oracle-wfs-wms-config-tips/">
	Continue Reading<span class="screen-reader-text">GeoServer and ORACLE – WFS &amp; WMS Config Tips</span><i class=" fa fa-angle-right" aria-hidden="true" role="img"></i></a>

</div><!-- .blog-entry-readmore -->


			
		</div><!-- .blog-entry-inner -->

	</article><!-- #post-## -->

	
								
							
								
								
	<article id="post-254" class="blog-entry clr no-featured-image item-entry large-entry post-254 post type-post status-publish format-standard hentry category-all category-arc-gis-online-and-desktop category-gis-4-planners category-spatial-planning entry">

		<div class="blog-entry-inner clr">

			

<header class="blog-entry-header clr">
	<h2 class="blog-entry-title entry-title">
		<a href="https://digitaltownplanning.net/arcgis-online/" rel="bookmark">ArcGIS Online (AGOL) – Observations and Reflections</a>
	</h2><!-- .blog-entry-title -->
</header><!-- .blog-entry-header -->



<div class="blog-entry-summary clr" itemprop="text">

	
		<p>
			Pros I recently started using ArcGIS Online (AGOL), a platform that seems to be widely regarded as a solid choice for online mapping. So far, I’ve found its user interface…		</p>

		
</div><!-- .blog-entry-summary -->



<div class="blog-entry-readmore clr">
	
<a href="https://digitaltownplanning.net/arcgis-online/">
	Continue Reading<span class="screen-reader-text">ArcGIS Online (AGOL) – Observations and Reflections</span><i class=" fa fa-angle-right" aria-hidden="true" role="img"></i></a>

</div><!-- .blog-entry-readmore -->


			
		</div><!-- .blog-entry-inner -->

	</article><!-- #post-## -->

	
								
							
								
								
	<article id="post-163" class="blog-entry clr no-featured-image item-entry large-entry post-163 post type-post status-publish format-standard hentry category-all category-community-engagement-and-participation category-wordpress-4-planners entry">

		<div class="blog-entry-inner clr">

			

<header class="blog-entry-header clr">
	<h2 class="blog-entry-title entry-title">
		<a href="https://digitaltownplanning.net/wordpress-4-planners-introduction/" rel="bookmark">WordPress 4 planners – Introduction</a>
	</h2><!-- .blog-entry-title -->
</header><!-- .blog-entry-header -->



<div class="blog-entry-summary clr" itemprop="text">

	
		<p>
			Why you need it? You want to record procedures, you need multiple people to access one source, you are struggling with version control with your current sources, you need to…		</p>

		
</div><!-- .blog-entry-summary -->



<div class="blog-entry-readmore clr">
	
<a href="https://digitaltownplanning.net/wordpress-4-planners-introduction/">
	Continue Reading<span class="screen-reader-text">WordPress 4 planners – Introduction</span><i class=" fa fa-angle-right" aria-hidden="true" role="img"></i></a>

</div><!-- .blog-entry-readmore -->


			
		</div><!-- .blog-entry-inner -->

	</article><!-- #post-## -->

	
								
							
								
								
	<article id="post-140" class="blog-entry clr no-featured-image item-entry large-entry post-140 post type-post status-publish format-standard hentry category-general category-specialist-knowledge-and-planning-theory entry">

		<div class="blog-entry-inner clr">

			

<header class="blog-entry-header clr">
	<h2 class="blog-entry-title entry-title">
		<a href="https://digitaltownplanning.net/planning-links/" rel="bookmark">Planning Links</a>
	</h2><!-- .blog-entry-title -->
</header><!-- .blog-entry-header -->



<div class="blog-entry-summary clr" itemprop="text">

	
		<p>
			City of Edinburgh Council Blog Lichefields Planning Matters Blog Dentons UK Planning Law Blog Martin Goodall's Planning Law Blog #planoraks Sam Stafford's Blog Decisions Decisions Decisions Progressing Planning Planning Democracy		</p>

		
</div><!-- .blog-entry-summary -->



<div class="blog-entry-readmore clr">
	
<a href="https://digitaltownplanning.net/planning-links/">
	Continue Reading<span class="screen-reader-text">Planning Links</span><i class=" fa fa-angle-right" aria-hidden="true" role="img"></i></a>

</div><!-- .blog-entry-readmore -->


			
		</div><!-- .blog-entry-inner -->

	</article><!-- #post-## -->

	
								
							
								
								
	<article id="post-138" class="blog-entry clr no-featured-image item-entry large-entry post-138 post type-post status-publish format-standard hentry category-all category-public-open-mapping-sites category-spatial-planning entry">

		<div class="blog-entry-inner clr">

			

<header class="blog-entry-header clr">
	<h2 class="blog-entry-title entry-title">
		<a href="https://digitaltownplanning.net/mapping-portals-map-constraints/" rel="bookmark">Mapping Portals &amp; Map Constraints</a>
	</h2><!-- .blog-entry-title -->
</header><!-- .blog-entry-header -->



<div class="blog-entry-summary clr" itemprop="text">

	
		<p>
			Historical Environment Scotland Map Portal&nbsp;– Listed building / Conservation Areas / Scheduled Ancient Monuments Coal Authority Interactive Map Viewer&nbsp;– Coal Mining Risk Assessment High Risk Areas Sites of Special Scientific…		</p>

		
</div><!-- .blog-entry-summary -->



<div class="blog-entry-readmore clr">
	
<a href="https://digitaltownplanning.net/mapping-portals-map-constraints/">
	Continue Reading<span class="screen-reader-text">Mapping Portals &amp; Map Constraints</span><i class=" fa fa-angle-right" aria-hidden="true" role="img"></i></a>

</div><!-- .blog-entry-readmore -->


			
		</div><!-- .blog-entry-inner -->

	</article><!-- #post-## -->

	
								
							
								
								
	<article id="post-136" class="blog-entry clr no-featured-image item-entry large-entry post-136 post type-post status-publish format-standard hentry category-all category-postgres4planners entry">

		<div class="blog-entry-inner clr">

			

<header class="blog-entry-header clr">
	<h2 class="blog-entry-title entry-title">
		<a href="https://digitaltownplanning.net/postgres-dba-basics-introduction/" rel="bookmark">Postgres 4 Planners – Basics of Database Administration</a>
	</h2><!-- .blog-entry-title -->
</header><!-- .blog-entry-header -->



<div class="blog-entry-summary clr" itemprop="text">

	
		<p>
			A lot of organisations don’t realise this but nearly all simple datasets with more than 10 records with 10 distinct attributes which need to be regularly edited by one or…		</p>

		
</div><!-- .blog-entry-summary -->



<div class="blog-entry-readmore clr">
	
<a href="https://digitaltownplanning.net/postgres-dba-basics-introduction/">
	Continue Reading<span class="screen-reader-text">Postgres 4 Planners – Basics of Database Administration</span><i class=" fa fa-angle-right" aria-hidden="true" role="img"></i></a>

</div><!-- .blog-entry-readmore -->


			
		</div><!-- .blog-entry-inner -->

	</article><!-- #post-## -->

	
								
							
								
								
	<article id="post-132" class="blog-entry clr no-featured-image item-entry large-entry post-132 post type-post status-publish format-standard hentry category-all category-postgres4planners entry">

		<div class="blog-entry-inner clr">

			

<header class="blog-entry-header clr">
	<h2 class="blog-entry-title entry-title">
		<a href="https://digitaltownplanning.net/postgresql-immutable-identify-maximum-latest-minimum-earliest/" rel="bookmark">Postgres 4 Planners – Slow Changing Dimension</a>
	</h2><!-- .blog-entry-title -->
</header><!-- .blog-entry-header -->



<div class="blog-entry-summary clr" itemprop="text">

	
		<p>
			Immutable Identification of Maximum/Latest Minimum/Earliest As you gain experience with SQL and database queries, their power becomes increasingly evident. However, it's important to understand that there are both optimal and…		</p>

		
</div><!-- .blog-entry-summary -->



<div class="blog-entry-readmore clr">
	
<a href="https://digitaltownplanning.net/postgresql-immutable-identify-maximum-latest-minimum-earliest/">
	Continue Reading<span class="screen-reader-text">Postgres 4 Planners – Slow Changing Dimension</span><i class=" fa fa-angle-right" aria-hidden="true" role="img"></i></a>

</div><!-- .blog-entry-readmore -->


			
		</div><!-- .blog-entry-inner -->

	</article><!-- #post-## -->

	
								
							
								
								
	<article id="post-129" class="blog-entry clr no-featured-image item-entry large-entry post-129 post type-post status-publish format-standard hentry category-all category-postgres4planners entry">

		<div class="blog-entry-inner clr">

			

<header class="blog-entry-header clr">
	<h2 class="blog-entry-title entry-title">
		<a href="https://digitaltownplanning.net/postgres-install-psql-without-postgresql/" rel="bookmark">Postgres 4 Planners – Install psql without PostgreSQL</a>
	</h2><!-- .blog-entry-title -->
</header><!-- .blog-entry-header -->



<div class="blog-entry-summary clr" itemprop="text">

	
		<p>
			This is a slightly more advanced topic looking at something called psql which is a command line tool which you will want to do if you are doing basic database…		</p>

		
</div><!-- .blog-entry-summary -->



<div class="blog-entry-readmore clr">
	
<a href="https://digitaltownplanning.net/postgres-install-psql-without-postgresql/">
	Continue Reading<span class="screen-reader-text">Postgres 4 Planners – Install psql without PostgreSQL</span><i class=" fa fa-angle-right" aria-hidden="true" role="img"></i></a>

</div><!-- .blog-entry-readmore -->


			
		</div><!-- .blog-entry-inner -->

	</article><!-- #post-## -->

	
								
							
								
								
	<article id="post-14" class="blog-entry clr no-featured-image item-entry large-entry post-14 post type-post status-publish format-standard hentry category-all category-reflection-and-review entry">

		<div class="blog-entry-inner clr">

			

<header class="blog-entry-header clr">
	<h2 class="blog-entry-title entry-title">
		<a href="https://digitaltownplanning.net/test-post/" rel="bookmark">Introduction</a>
	</h2><!-- .blog-entry-title -->
</header><!-- .blog-entry-header -->



<div class="blog-entry-summary clr" itemprop="text">

	
		<p>
			A website documenting my interest in urban planning and digital tools. More generally I have been investigating digital tools for ten years on cloudydatablog.net . That site was general and…		</p>

		
</div><!-- .blog-entry-summary -->



<div class="blog-entry-readmore clr">
	
<a href="https://digitaltownplanning.net/test-post/">
	Continue Reading<span class="screen-reader-text">Introduction</span><i class=" fa fa-angle-right" aria-hidden="true" role="img"></i></a>

</div><!-- .blog-entry-readmore -->


			
		</div><!-- .blog-entry-inner -->

	</article><!-- #post-## -->

	
								
							
								
								
	<article id="post-77" class="blog-entry clr no-featured-image item-entry large-entry post-77 post type-post status-publish format-standard hentry category-all category-developer-contributions category-economics-in-planning category-identifying-and-analysing-issues category-postgres4planners entry">

		<div class="blog-entry-inner clr">

			

<header class="blog-entry-header clr">
	<h2 class="blog-entry-title entry-title">
		<a href="https://digitaltownplanning.net/section-75-and-section-106-flexible-database-structure-for-accurate-policy-record-maintenance/" rel="bookmark">Postgres 4 Planners – Developer Contributions – Flexible Database Structure for accurate Policy Record maintenance</a>
	</h2><!-- .blog-entry-title -->
</header><!-- .blog-entry-header -->



<div class="blog-entry-summary clr" itemprop="text">

	
		<p>
			This is my attempt at creating a Postgres database schema that can be used by any authority or planning agency to record all development contribution policies. It is more likely…		</p>

		
</div><!-- .blog-entry-summary -->



<div class="blog-entry-readmore clr">
	
<a href="https://digitaltownplanning.net/section-75-and-section-106-flexible-database-structure-for-accurate-policy-record-maintenance/">
	Continue Reading<span class="screen-reader-text">Postgres 4 Planners – Developer Contributions – Flexible Database Structure for accurate Policy Record maintenance</span><i class=" fa fa-angle-right" aria-hidden="true" role="img"></i></a>

</div><!-- .blog-entry-readmore -->


			
		</div><!-- .blog-entry-inner -->

	</article><!-- #post-## -->

	
								
							
						</div><!-- #blog-entries -->

							<div class="scroller-status"><div class="loader-ellips infinite-scroll-request"><span class="loader-ellips__dot"></span><span class="loader-ellips__dot"></span><span class="loader-ellips__dot"></span><span class="loader-ellips__dot"></span></div><p class="scroller-status__message infinite-scroll-last">End of content</p><p class="scroller-status__message infinite-scroll-error">No more pages to load</p></div><div class="infinite-scroll-nav clr"><div class="alignleft newer-posts"></div><div class="alignright older-posts"></div></div>
					
				
			</div><!-- #content -->

			
		</div><!-- #primary -->

		

<aside id="right-sidebar" class="sidebar-container widget-area sidebar-primary" itemscope="itemscope" itemtype="https://schema.org/WPSideBar" role="complementary" aria-label="Primary Sidebar">

	
	<div id="right-sidebar-inner" class="clr">

		
	</div><!-- #sidebar-inner -->

	
</aside><!-- #right-sidebar -->


	</div><!-- #content-wrap -->

	

	</main><!-- #main -->

	
	
	
		
<footer id="footer" class="site-footer" itemscope="itemscope" itemtype="https://schema.org/WPFooter" role="contentinfo">

	
	<div id="footer-inner" class="clr">

		

<div id="footer-widgets" class="oceanwp-row clr">

	
	<div class="footer-widgets-inner container">

					<div class="footer-box span_1_of_4 col col-1">
							</div><!-- .footer-one-box -->

							<div class="footer-box span_1_of_4 col col-2">
									</div><!-- .footer-one-box -->
				
							<div class="footer-box span_1_of_4 col col-3 ">
									</div><!-- .footer-one-box -->
				
							<div class="footer-box span_1_of_4 col col-4">
									</div><!-- .footer-box -->
				
			
	</div><!-- .container -->

	
</div><!-- #footer-widgets -->



<div id="footer-bottom" class="clr no-footer-nav">

	
	<div id="footer-bottom-inner" class="container clr">

		
		
			<div id="copyright" class="clr" role="contentinfo">
				digitaltownplanning.net ©2020-2024			</div><!-- #copyright -->

			
	</div><!-- #footer-bottom-inner -->

	
</div><!-- #footer-bottom -->


	</div><!-- #footer-inner -->

	
</footer><!-- #footer -->

	
	
</div><!-- #wrap -->


</div><!-- #outer-wrap -->



<a aria-label="Scroll to the top of the page" href="#" id="scroll-top" class="scroll-top-right"><i class=" fa fa-angle-up" aria-hidden="true" role="img"></i></a>




<script src="https://digitaltownplanning.net/wp-includes/js/imagesloaded.min.js?ver=5.0.0" id="imagesloaded-js"></script>
<script id="oceanwp-main-js-extra">
var oceanwpLocalize = {"nonce":"e501cd2d47","isRTL":"","menuSearchStyle":"drop_down","mobileMenuSearchStyle":"disabled","sidrSource":null,"sidrDisplace":"1","sidrSide":"left","sidrDropdownTarget":"link","verticalHeaderTarget":"link","customScrollOffset":"0","customSelects":".woocommerce-ordering .orderby, #dropdown_product_cat, .widget_categories select, .widget_archive select, .single-product .variations_form .variations select"};
</script>
<script src="https://digitaltownplanning.net/wp-content/themes/oceanwp/assets/js/theme.min.js?ver=4.0.3" id="oceanwp-main-js"></script>
<script src="https://digitaltownplanning.net/wp-content/themes/oceanwp/assets/js/drop-down-mobile-menu.min.js?ver=4.0.3" id="oceanwp-drop-down-mobile-menu-js"></script>
<script src="https://digitaltownplanning.net/wp-content/themes/oceanwp/assets/js/drop-down-search.min.js?ver=4.0.3" id="oceanwp-drop-down-search-js"></script>
<script src="https://digitaltownplanning.net/wp-content/themes/oceanwp/assets/js/vendors/magnific-popup.min.js?ver=4.0.3" id="ow-magnific-popup-js"></script>
<script src="https://digitaltownplanning.net/wp-content/themes/oceanwp/assets/js/ow-lightbox.min.js?ver=4.0.3" id="oceanwp-lightbox-js"></script>
<script src="https://digitaltownplanning.net/wp-content/themes/oceanwp/assets/js/vendors/flickity.pkgd.min.js?ver=4.0.3" id="ow-flickity-js"></script>
<script src="https://digitaltownplanning.net/wp-content/themes/oceanwp/assets/js/ow-slider.min.js?ver=4.0.3" id="oceanwp-slider-js"></script>
<script src="https://digitaltownplanning.net/wp-content/themes/oceanwp/assets/js/scroll-effect.min.js?ver=4.0.3" id="oceanwp-scroll-effect-js"></script>
<script src="https://digitaltownplanning.net/wp-content/themes/oceanwp/assets/js/scroll-top.min.js?ver=4.0.3" id="oceanwp-scroll-top-js"></script>
<script src="https://digitaltownplanning.net/wp-content/themes/oceanwp/assets/js/select.min.js?ver=4.0.3" id="oceanwp-select-js"></script>
<script src="https://digitaltownplanning.net/wp-content/themes/oceanwp/assets/js/ow-infinite-scroll.min.js?ver=4.0.3" id="oceanwp-infinite-scroll-js"></script>


</body></html>