Merge branch 'master' into fix/multi-edit
This commit is contained in:
commit
c0f2c75ca8
@ -69,6 +69,16 @@
|
|||||||
"contributions": [
|
"contributions": [
|
||||||
"code"
|
"code"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"login": "mz8i",
|
||||||
|
"name": "mz8i",
|
||||||
|
"avatar_url": "https://avatars2.githubusercontent.com/u/36160844?v=4",
|
||||||
|
"profile": "https://github.com/mz8i",
|
||||||
|
"contributions": [
|
||||||
|
"code",
|
||||||
|
"ideas"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"contributorsPerLine": 7
|
"contributorsPerLine": 7
|
||||||
|
14
README.md
14
README.md
@ -1,5 +1,5 @@
|
|||||||
# Colouring London
|
# Colouring London
|
||||||
[![All Contributors](https://img.shields.io/badge/all_contributors-6-orange.svg?style=flat-square)](#contributors)
|
[![All Contributors](https://img.shields.io/badge/all_contributors-7-orange.svg?style=flat-square)](#contributors)
|
||||||
[![Build Status](https://travis-ci.com/tomalrussell/colouring-london.svg?branch=master)](https://travis-ci.com/tomalrussell/colouring-london)
|
[![Build Status](https://travis-ci.com/tomalrussell/colouring-london.svg?branch=master)](https://travis-ci.com/tomalrussell/colouring-london)
|
||||||
|
|
||||||
How many buildings are there in London? What are their characteristics? Where
|
How many buildings are there in London? What are their characteristics? Where
|
||||||
@ -76,7 +76,17 @@ Thanks goes to these wonderful people ([emoji key](https://github.com/all-contri
|
|||||||
|
|
||||||
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
||||||
<!-- prettier-ignore -->
|
<!-- prettier-ignore -->
|
||||||
<table><tr><td align="center"><a href="https://github.com/polly64"><img src="https://avatars3.githubusercontent.com/u/42236514?v=4" width="100px;" alt="polly64"/><br /><sub><b>polly64</b></sub></a><br /><a href="#design-polly64" title="Design">🎨</a> <a href="#ideas-polly64" title="Ideas, Planning, & Feedback">🤔</a> <a href="#content-polly64" title="Content">🖋</a> <a href="#fundingFinding-polly64" title="Funding Finding">🔍</a></td><td align="center"><a href="https://github.com/tomalrussell"><img src="https://avatars2.githubusercontent.com/u/2762769?v=4" width="100px;" alt="Tom Russell"/><br /><sub><b>Tom Russell</b></sub></a><br /><a href="#design-tomalrussell" title="Design">🎨</a> <a href="#ideas-tomalrussell" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/tomalrussell/colouring-london/commits?author=tomalrussell" title="Code">💻</a> <a href="https://github.com/tomalrussell/colouring-london/commits?author=tomalrussell" title="Documentation">📖</a></td><td align="center"><a href="https://dghumphrey.co.uk/"><img src="https://avatars0.githubusercontent.com/u/6041913?v=4" width="100px;" alt="dominic"/><br /><sub><b>dominic</b></sub></a><br /><a href="#ideas-dominijk" title="Ideas, Planning, & Feedback">🤔</a> <a href="#content-dominijk" title="Content">🖋</a></td><td align="center"><a href="https://github.com/adamdennett"><img src="https://avatars1.githubusercontent.com/u/5138911?v=4" width="100px;" alt="Adam Dennett"/><br /><sub><b>Adam Dennett</b></sub></a><br /><a href="#ideas-adamdennett" title="Ideas, Planning, & Feedback">🤔</a></td><td align="center"><a href="https://github.com/duncan2001"><img src="https://avatars1.githubusercontent.com/u/19817528?v=4" width="100px;" alt="Duncan Smith"/><br /><sub><b>Duncan Smith</b></sub></a><br /><a href="#ideas-duncan2001" title="Ideas, Planning, & Feedback">🤔</a></td><td align="center"><a href="https://github.com/martin-dj"><img src="https://avatars2.githubusercontent.com/u/7262550?v=4" width="100px;" alt="martin-dj"/><br /><sub><b>martin-dj</b></sub></a><br /><a href="https://github.com/tomalrussell/colouring-london/commits?author=martin-dj" title="Code">💻</a></td></tr></table>
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td align="center"><a href="https://github.com/polly64"><img src="https://avatars3.githubusercontent.com/u/42236514?v=4" width="100px;" alt="polly64"/><br /><sub><b>polly64</b></sub></a><br /><a href="#design-polly64" title="Design">🎨</a> <a href="#ideas-polly64" title="Ideas, Planning, & Feedback">🤔</a> <a href="#content-polly64" title="Content">🖋</a> <a href="#fundingFinding-polly64" title="Funding Finding">🔍</a></td>
|
||||||
|
<td align="center"><a href="https://github.com/tomalrussell"><img src="https://avatars2.githubusercontent.com/u/2762769?v=4" width="100px;" alt="Tom Russell"/><br /><sub><b>Tom Russell</b></sub></a><br /><a href="#design-tomalrussell" title="Design">🎨</a> <a href="#ideas-tomalrussell" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/tomalrussell/colouring-london/commits?author=tomalrussell" title="Code">💻</a> <a href="https://github.com/tomalrussell/colouring-london/commits?author=tomalrussell" title="Documentation">📖</a></td>
|
||||||
|
<td align="center"><a href="https://dghumphrey.co.uk/"><img src="https://avatars0.githubusercontent.com/u/6041913?v=4" width="100px;" alt="dominic"/><br /><sub><b>dominic</b></sub></a><br /><a href="#ideas-dominijk" title="Ideas, Planning, & Feedback">🤔</a> <a href="#content-dominijk" title="Content">🖋</a></td>
|
||||||
|
<td align="center"><a href="https://github.com/adamdennett"><img src="https://avatars1.githubusercontent.com/u/5138911?v=4" width="100px;" alt="Adam Dennett"/><br /><sub><b>Adam Dennett</b></sub></a><br /><a href="#ideas-adamdennett" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||||
|
<td align="center"><a href="https://github.com/duncan2001"><img src="https://avatars1.githubusercontent.com/u/19817528?v=4" width="100px;" alt="Duncan Smith"/><br /><sub><b>Duncan Smith</b></sub></a><br /><a href="#ideas-duncan2001" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||||
|
<td align="center"><a href="https://github.com/martin-dj"><img src="https://avatars2.githubusercontent.com/u/7262550?v=4" width="100px;" alt="martin-dj"/><br /><sub><b>martin-dj</b></sub></a><br /><a href="https://github.com/tomalrussell/colouring-london/commits?author=martin-dj" title="Code">💻</a></td>
|
||||||
|
<td align="center"><a href="https://github.com/mz8i"><img src="https://avatars2.githubusercontent.com/u/36160844?v=4" width="100px;" alt="mz8i"/><br /><sub><b>mz8i</b></sub></a><br /><a href="https://github.com/tomalrussell/colouring-london/commits?author=mz8i" title="Code">💻</a> <a href="#ideas-mz8i" title="Ideas, Planning, & Feedback">🤔</a></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||||
|
|
||||||
|
BIN
app/public/images/logo-cl-square.png
Normal file
BIN
app/public/images/logo-cl-square.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.7 KiB |
@ -20,6 +20,8 @@ import PasswordReset from './user/password-reset';
|
|||||||
import MapApp from './map-app';
|
import MapApp from './map-app';
|
||||||
import ContactPage from './pages/contact';
|
import ContactPage from './pages/contact';
|
||||||
import DataAccuracyPage from './pages/data-accuracy';
|
import DataAccuracyPage from './pages/data-accuracy';
|
||||||
|
import OrdnanceSurveyLicencePage from './pages/ordnance-survey-licence';
|
||||||
|
import OrdnanceSurveyUprnPage from './pages/ordnance-survey-uprn';
|
||||||
|
|
||||||
|
|
||||||
interface AppProps {
|
interface AppProps {
|
||||||
@ -98,6 +100,8 @@ class App extends React.Component<AppProps, any> { // TODO: add proper types
|
|||||||
</Route>
|
</Route>
|
||||||
<Route exact path="/privacy-policy.html" component={PrivacyPolicyPage} />
|
<Route exact path="/privacy-policy.html" component={PrivacyPolicyPage} />
|
||||||
<Route exact path="/contributor-agreement.html" component={ContributorAgreementPage} />
|
<Route exact path="/contributor-agreement.html" component={ContributorAgreementPage} />
|
||||||
|
<Route exact path="/ordnance-survey-licence.html" component={OrdnanceSurveyLicencePage} />
|
||||||
|
<Route exact path="/ordnance-survey-uprn.html" component={OrdnanceSurveyUprnPage} />
|
||||||
<Route exact path="/data-accuracy.html" component={DataAccuracyPage} />
|
<Route exact path="/data-accuracy.html" component={DataAccuracyPage} />
|
||||||
<Route exact path="/data-extracts.html" component={DataExtracts} />
|
<Route exact path="/data-extracts.html" component={DataExtracts} />
|
||||||
<Route exact path="/contact.html" component={ContactPage} />
|
<Route exact path="/contact.html" component={ContactPage} />
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
*/
|
*/
|
||||||
.map-legend {
|
.map-legend {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 2.5rem;
|
bottom: 3.5rem;
|
||||||
right: 10px;
|
right: 10px;
|
||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
|
|
||||||
@ -34,7 +34,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Prevent legend from overlapping with attribution */
|
/* Prevent legend from overlapping with attribution */
|
||||||
@media (min-width: 706px){
|
@media(min-width: 392px) {
|
||||||
|
.map-legend {
|
||||||
|
bottom: 2.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (min-width: 760px){
|
||||||
.map-legend {
|
.map-legend {
|
||||||
bottom: 1.5rem;
|
bottom: 1.5rem;
|
||||||
}
|
}
|
||||||
@ -44,7 +49,7 @@
|
|||||||
bottom: 2.5rem;
|
bottom: 2.5rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media (min-width: 1072px){
|
@media (min-width: 1129px){
|
||||||
.map-legend {
|
.map-legend {
|
||||||
bottom: 1.5rem;
|
bottom: 1.5rem;
|
||||||
}
|
}
|
||||||
|
@ -108,7 +108,7 @@ class ColouringMap extends Component<ColouringMapProps, ColouringMapState> { //
|
|||||||
const tilematrixSet = 'EPSG:3857';
|
const tilematrixSet = 'EPSG:3857';
|
||||||
const layer = (this.state.theme === 'light')? 'Light 3857' : 'Night 3857';
|
const layer = (this.state.theme === 'light')? 'Light 3857' : 'Night 3857';
|
||||||
const baseUrl = `https://api2.ordnancesurvey.co.uk/mapping_api/v1/service/zxy/${tilematrixSet}/${layer}/{z}/{x}/{y}.png?key=${key}`;
|
const baseUrl = `https://api2.ordnancesurvey.co.uk/mapping_api/v1/service/zxy/${tilematrixSet}/${layer}/{z}/{x}/{y}.png?key=${key}`;
|
||||||
const attribution = 'Building attribute data is © Colouring London contributors. Maps contain OS data © Crown copyright: OS Maps baselayers and building outlines.';
|
const attribution = 'Building attribute data is © Colouring London contributors. Maps contain OS data © Crown copyright: OS Maps baselayers and building outlines. <a href=/ordnance-survey-licence.html>OS licence</a>';
|
||||||
const baseLayer = <TileLayer
|
const baseLayer = <TileLayer
|
||||||
url={baseUrl}
|
url={baseUrl}
|
||||||
attribution={attribution}
|
attribution={attribution}
|
||||||
|
@ -45,7 +45,7 @@ export default class DataExtracts extends React.Component<{}, DataExtractsState>
|
|||||||
<section className="main-col">
|
<section className="main-col">
|
||||||
<h1 className="h2">Open data extracts</h1>
|
<h1 className="h2">Open data extracts</h1>
|
||||||
<p>Choose one of the links below to download an archive containing the open data collected on the Colouring London platform</p>
|
<p>Choose one of the links below to download an archive containing the open data collected on the Colouring London platform</p>
|
||||||
<p>By downloading data extracts from this site, you agree to the <NavLink to="/data-accuracy.html">data accuracy agreement </NavLink></p>
|
<p>By downloading data extracts from this site, you agree to the <NavLink to="/data-accuracy.html">data accuracy agreement </NavLink> and the <NavLink to="/ordnance-survey-uprn.html">Ordnance Survey terms of UPRN usage</NavLink>.</p>
|
||||||
{
|
{
|
||||||
this.state.extracts == undefined ?
|
this.state.extracts == undefined ?
|
||||||
<p>Loading extracts...</p> :
|
<p>Loading extracts...</p> :
|
||||||
|
22
app/src/frontend/pages/ordnance-survey-licence.tsx
Normal file
22
app/src/frontend/pages/ordnance-survey-licence.tsx
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
const OrdnanceSurveyLicencePage = () => (
|
||||||
|
<article className="main-col">
|
||||||
|
<section>
|
||||||
|
<h1 className="h2">Ordnance Survey Data - Terms and Conditions</h1>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
You are granted a non-exclusive, royalty free revocable licence solely to <strong>view</strong> the licensed mapping (and addressing) data for non-commercial purposes for the period during which we make it available;
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
You are not permitted to copy, sub-license, distribute, sell or otherwise make available such data to third parties in any form; and
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Third party rights to enforce the terms of this licence shall be reserved to OS.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
);
|
||||||
|
|
||||||
|
export default OrdnanceSurveyLicencePage;
|
14
app/src/frontend/pages/ordnance-survey-uprn.tsx
Normal file
14
app/src/frontend/pages/ordnance-survey-uprn.tsx
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
const OrdnanceSurveyUprnPage = () => (
|
||||||
|
<article className="main-col">
|
||||||
|
<section>
|
||||||
|
<h1 className="h2">Ordnance Survey - UPRN Usage Terms</h1>
|
||||||
|
<p>
|
||||||
|
You may use the UPRN for personal, non-commercial use or for the internal administration and operation of your business, which does not permit using the UPRN for the purpose of creating or developing any product or service intended for sub-licensing, distribution or sale to third parties (notwithstanding that the UPRN themselves or any associated attribution or geometry that has been created with benefit of UPRN may not actually be supplied as part of such product or service). Therefore if you create any data which has benefited from, relied on or made use of the UPRN you are not permitted to sub-license, distribute or sell such data to third parties under the above terms.
|
||||||
|
</p>
|
||||||
|
</section>
|
||||||
|
</article>
|
||||||
|
);
|
||||||
|
|
||||||
|
export default OrdnanceSurveyUprnPage;
|
@ -81,9 +81,9 @@ function renderHTML(context, data, req, res) {
|
|||||||
<meta property="og:url" content="https://colouring.london" />
|
<meta property="og:url" content="https://colouring.london" />
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:title" content="Colouring London" />
|
<meta property="og:title" content="Colouring London" />
|
||||||
<meta property="og:description" content="Colouring London is a citizen science platform collecting information on every building in London, to help make the city more sustainable. We’re building it at The Bartlett Centre for Advanced Spatial Analysis, University College London." />
|
<meta property="og:description" content="Colouring London is a knowledge exchange platform collecting information on every building in London, to help make the city more sustainable. We’re building it at The Bartlett Centre for Advanced Spatial Analysis, University College London." />
|
||||||
<meta property="og:locale" content="en_GB" />
|
<meta property="og:locale" content="en_GB" />
|
||||||
<meta property="og:image" content="https://colouring.london/images/logo-cl.png" />
|
<meta property="og:image" content="https://colouring.london/images/logo-cl-square.png" />
|
||||||
|
|
||||||
<link rel="manifest" href="site.webmanifest">
|
<link rel="manifest" href="site.webmanifest">
|
||||||
|
|
||||||
|
@ -41,6 +41,7 @@ This is the main table, containing almost all data collected by Colouring London
|
|||||||
- `location_postcode`: postcode
|
- `location_postcode`: postcode
|
||||||
- `location_latitude`: latitude
|
- `location_latitude`: latitude
|
||||||
- `location_longitude`: longitude
|
- `location_longitude`: longitude
|
||||||
|
- `building_attachment_form`: building attachment form
|
||||||
- `date_year`: year built
|
- `date_year`: year built
|
||||||
- `date_lower`: lower bound on year built
|
- `date_lower`: lower bound on year built
|
||||||
- `date_upper`: upper bound on year built
|
- `date_upper`: upper bound on year built
|
||||||
@ -59,7 +60,9 @@ This is the main table, containing almost all data collected by Colouring London
|
|||||||
- `size_floor_area_ground`: ground floor floor area in square metres
|
- `size_floor_area_ground`: ground floor floor area in square metres
|
||||||
- `size_floor_area_total`: total floor area in square metres
|
- `size_floor_area_total`: total floor area in square metres
|
||||||
- `size_width_frontage`: width of frontage in metres
|
- `size_width_frontage`: width of frontage in metres
|
||||||
- `likes_total`: number of times the building has been liked by Colouring London users
|
- `sust_breeam_rating`: BREEAM rating
|
||||||
|
- `sust_dec`: DEC rating
|
||||||
|
- `sust_retrofit_date`: year of last significant retrofit
|
||||||
- `planning_portal_link`: link to an entry on https://www.planningportal.co.uk/
|
- `planning_portal_link`: link to an entry on https://www.planningportal.co.uk/
|
||||||
- `planning_in_conservation_area`: in a conservation area? (True/False)
|
- `planning_in_conservation_area`: in a conservation area? (True/False)
|
||||||
- `planning_conservation_area_name`: conservation area name
|
- `planning_conservation_area_name`: conservation area name
|
||||||
@ -78,6 +81,7 @@ This is the main table, containing almost all data collected by Colouring London
|
|||||||
- `planning_local_list_url`: local list reference link
|
- `planning_local_list_url`: local list reference link
|
||||||
- `planning_in_historic_area_assessment`: within a historic area assessment? (True/False)
|
- `planning_in_historic_area_assessment`: within a historic area assessment? (True/False)
|
||||||
- `planning_historic_area_assessment_url`: historic area assessment reference link
|
- `planning_historic_area_assessment_url`: historic area assessment reference link
|
||||||
|
- `likes_total`: number of times the building has been liked by Colouring London users
|
||||||
|
|
||||||
|
|
||||||
## Building UPRNs
|
## Building UPRNs
|
||||||
|
@ -11,6 +11,7 @@ COPY (SELECT
|
|||||||
location_postcode,
|
location_postcode,
|
||||||
location_latitude,
|
location_latitude,
|
||||||
location_longitude,
|
location_longitude,
|
||||||
|
building_attachment_form,
|
||||||
date_year,
|
date_year,
|
||||||
date_lower,
|
date_lower,
|
||||||
date_upper,
|
date_upper,
|
||||||
@ -29,7 +30,9 @@ COPY (SELECT
|
|||||||
size_floor_area_ground,
|
size_floor_area_ground,
|
||||||
size_floor_area_total,
|
size_floor_area_total,
|
||||||
size_width_frontage,
|
size_width_frontage,
|
||||||
likes_total,
|
sust_breeam_rating,
|
||||||
|
sust_dec,
|
||||||
|
sust_retrofit_date,
|
||||||
planning_portal_link,
|
planning_portal_link,
|
||||||
planning_in_conservation_area,
|
planning_in_conservation_area,
|
||||||
planning_conservation_area_name,
|
planning_conservation_area_name,
|
||||||
@ -47,7 +50,8 @@ COPY (SELECT
|
|||||||
planning_in_local_list,
|
planning_in_local_list,
|
||||||
planning_local_list_url,
|
planning_local_list_url,
|
||||||
planning_in_historic_area_assessment,
|
planning_in_historic_area_assessment,
|
||||||
planning_historic_area_assessment_url
|
planning_historic_area_assessment_url,
|
||||||
|
likes_total
|
||||||
FROM buildings)
|
FROM buildings)
|
||||||
TO '/tmp/building_attributes.csv'
|
TO '/tmp/building_attributes.csv'
|
||||||
WITH CSV HEADER
|
WITH CSV HEADER
|
||||||
|
Loading…
Reference in New Issue
Block a user