Pull imagery from editor-imagery-index

This commit is contained in:
John Firebaugh
2013-08-27 11:07:46 -07:00
parent 20cf935c46
commit 4e8cb0b97f
9 changed files with 1101 additions and 882 deletions
+976 -542
View File
File diff suppressed because it is too large Load Diff
-223
View File
@@ -1,223 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<imagery>
<set>
<name>Bing aerial imagery</name>
<url>http://ecn.t${0|1|2|3}.tiles.virtualearth.net/tiles/a$quadkey.jpeg?g=587&amp;mkt=en-gb&amp;n=z</url>
<scheme>microsoft</scheme>
<sourcetag>Bing</sourcetag>
<attribution_url>http://dev.virtualearth.net/REST/v1/Imagery/Metadata/Aerial/0,0?zl=1&amp;mapVersion=v1&amp;key=Arzdiw4nlOJzRwOz__qailc8NiR31Tt51dN2D7cm57NrnceZnCpgOkmJhNpGoppU&amp;include=ImageryProviders&amp;output=xml</attribution_url>
<logo>bing_maps.png</logo>
<logo_url>http://www.bing.com/maps</logo_url>
<terms_url>http://opengeodata.org/microsoft-imagery-details</terms_url>
<default>yes</default>
</set>
<set>
<name>MapBox Satellite</name>
<url>http://${a|b|c}.tiles.mapbox.com/v3/openstreetmap.map-4wvf9l0l/$z/$x/$y.png</url>
<terms_url>http://mapbox.com/tos/</terms_url>
</set>
<set>
<name>MapQuest Open Aerial</name>
<url>http://oatile1.mqcdn.com/tiles/1.0.0/sat/$z/$x/$y.jpg</url>
<terms_url>http://developer.mapquest.com/web/products/open/map#terms</terms_url>
</set>
<set>
<name>OSM - Mapnik</name>
<url>http://${a|b|c}.tile.openstreetmap.org/$z/$x/$y.png</url>
</set>
<set>
<name>OSM - OpenCycleMap</name>
<url>http://tile.opencyclemap.org/cycle/$z/$x/$y.png</url>
</set>
<set>
<name>OSM - MapQuest</name>
<url>http://otile1.mqcdn.com/tiles/1.0.0/osm/$z/$x/$y.jpg</url>
</set>
<set minlat="24.055" minlon="-124.810" maxlat="49.386" maxlon="-66.865">
<name>OSM - Tiger Edited Map</name>
<type>900913</type>
<url>http://tiger-osm.mapquest.com/tiles/1.0.0/tiger/$z/$x/$y.png</url>
</set>
<set minlat="50.858" minlon="-179.754" maxlat="71.463" maxlon="-129.899">
<name>OSM - Tiger Edited Map</name>
<type>900913</type>
<url>http://tiger-osm.mapquest.com/tiles/1.0.0/tiger/$z/$x/$y.png</url>
</set>
<set minlat="18.702" minlon="-174.460" maxlat="26.501" maxlon="-154.516">
<name>OSM - Tiger Edited Map</name>
<type>900913</type>
<url>http://tiger-osm.mapquest.com/tiles/1.0.0/tiger/$z/$x/$y.png</url>
</set>
<set minlat="24.055" minlon="-124.810" maxlat="49.386" maxlon="-66.865">
<name>OSM US TIGER 2012 Roads Overlay</name>
<type>900913</type>
<url>http://${a|b|c}.tile.openstreetmap.us/tiger2012_roads_expanded/$z/$x/$y.png</url>
</set>
<set minlat="50.858" minlon="-179.754" maxlat="71.463" maxlon="-129.899">
<name>OSM US TIGER 2012 Roads Overlay</name>
<type>900913</type>
<url>http://${a|b|c}.tile.openstreetmap.us/tiger2012_roads_expanded/$z/$x/$y.png</url>
</set>
<set minlat="18.702" minlon="-174.460" maxlat="26.501" maxlon="-154.516">
<name>OSM US TIGER 2012 Roads Overlay</name>
<type>900913</type>
<url>http://${a|b|c}.tile.openstreetmap.us/tiger2012_roads_expanded/$z/$x/$y.png</url>
</set>
<set minlat="24.005" minlon="-125.991" maxlat="50.009" maxlon="-65.988">
<name>OSM US USGS Topographic Maps</name>
<type>900913</type>
<url>http://${a|b|c}.tile.openstreetmap.us/usgs_scanned_topos/$z/$x/$y.png</url>
</set>
<set minlat="18.902" minlon="-160.579" maxlat="22.508" maxlon="-154.793">
<name>OSM US USGS Topographic Maps</name>
<type>900913</type>
<url>http://${a|b|c}.tile.openstreetmap.us/usgs_scanned_topos/$z/$x/$y.png</url>
</set>
<set minlat="51.255" minlon="-178.001" maxlat="71.999" maxlon="-130.004">
<name>OSM US USGS Topographic Maps</name>
<type>900913</type>
<url>http://${a|b|c}.tile.openstreetmap.us/usgs_scanned_topos/$z/$x/$y.png</url>
</set>
<set minlat="24.496" minlon="-124.819" maxlat="49.443" maxlon="-66.931">
<name>OSM US USGS Large Scale Aerial Imagery</name>
<type>900913</type>
<url>http://${a|b|c}.tile.openstreetmap.us/usgs_large_scale/$z/$x/$y.jpg</url>
</set>
<set minlat="48.995" minlon="-123.441" maxlat="50.426" maxlon="-121.346">
<name>British Columbia bc_mosaic</name>
<type>900913</type>
<url>http://${a|b|c|d}.imagery.paulnorman.ca/tiles/bc_mosaic/$z/$x/$y.png</url>
<terms_url>http://imagery.paulnorman.ca/tiles/about.html</terms_url>
<sourcetag>bc_mosaic</sourcetag>
</set>
<set minlat="49.86" minlon="-8.72" maxlat="60.92" maxlon="1.84">
<name>OS OpenData Streetview</name>
<url>http://os.openstreetmap.org/sv/$z/$x/$y.png</url>
<sourcetag>OS_OpenData_StreetView</sourcetag>
</set>
<set minlat="49.8" minlon="-9" maxlat="61.1" maxlon="1.9">
<name>OS OpenData Locator</name>
<url>http://tiles.itoworld.com/os_locator/$z/$x/$y.png</url>
<sourcetag>OS_OpenData_Locator</sourcetag>
<sourcekey>source:name</sourcekey>
</set>
<set minlat="49.8" minlon="-9" maxlat="61.1" maxlon="1.9">
<name>OS 1:25k historic (OSM)</name>
<url>http://ooc.openstreetmap.org/os1/$z/$x/$y.jpg</url>
<sourcetag>OS 1:25k</sourcetag>
</set>
<set minlat="49.8" minlon="-9" maxlat="61.1" maxlon="1.9">
<name>OS 1:25k historic (NLS)</name>
<scheme>tms</scheme>
<url>http://geo.nls.uk/mapdata2/os/25000/$z/$x/$y.png</url>
<logo>icons/logo_nls70-nq8.png</logo>
<logo_url>http://geo.nls.uk/maps/</logo_url>
<sourcetag>OS 1:25k</sourcetag>
</set>
<set minlat="49.8" minlon="-9" maxlat="61.1" maxlon="1.9">
<name>OS 7th Series historic (OSM)</name>
<url>http://ooc.openstreetmap.org/os7/$z/$x/$y.jpg</url>
<sourcetag>OS7</sourcetag>
</set>
<set minlat="49.8" minlon="-9" maxlat="61.1" maxlon="1.9">
<name>OS 7th Series historic (NLS)</name>
<scheme>tms</scheme>
<url>http://geo.nls.uk/mapdata2/os/seventh/$z/$x/$y.png</url>
<logo>icons/logo_nls70-nq8.png</logo>
<logo_url>http://geo.nls.uk/maps/</logo_url>
<sourcetag>OS7</sourcetag>
</set>
<set minlat="49.8" minlon="-5.8" maxlat="55.8" maxlon="1.9">
<name>OS New Popular Edition historic</name>
<url>http://ooc.openstreetmap.org/npe/$z/$x/$y.png</url>
<sourcetag>NPE</sourcetag>
</set>
<set minlat="54.5" minlon="-7.8" maxlat="61.1" maxlon="-1.1">
<name>OS Scottish Popular historic</name>
<url>http://ooc.openstreetmap.org/npescotland/tiles/$z/$x/$y.jpg</url>
<sourcetag>NPE</sourcetag>
</set>
<set minlat="51.071" minlon="-0.856" maxlat="51.473" maxlon="0.062">
<name>Surrey aerial</name>
<url>http://gravitystorm.dev.openstreetmap.org/surrey/$z/$x/$y.png</url>
<sourcetag>Surrey aerial</sourcetag>
</set>
<set minlat="18.50" minlon="-72.43" maxlat="18.58" maxlon="-72.31">
<name>Port au Prince - GeoEye Jan 2010</name>
<url>http://gravitystorm.dev.openstreetmap.org/imagery/haiti/$z/$x/$y.png</url>
<sourcetag>Port au Prince GeoEye, 2010-01</sourcetag>
</set>
<set minlat="17.95" minlon="-74.5" maxlat="20.12" maxlon="-71.58">
<name>Haiti - IOM Drone Imagery, 2012-13</name>
<url>http://wms.openstreetmap.fr/tms/1.0.0/iomhaiti/{zoom}/{x}/{y}</url>
<sourcetag>iom_image2013</sourcetag>
</set>
<set minlat="24.2" minlon="-125.8" maxlat="49.5" maxlon="-62.3">
<name>National Agriculture Imagery Program</name>
<url>http://cube.telascience.org/tilecache/tilecache.py/NAIP_ALL/$z/$x/$y.png</url>
<sourcetag>NAIP</sourcetag>
</set>
<set minlat="55.3" minlon="-168.5" maxlat="71.5" maxlon="-140">
<name>National Agriculture Imagery Program</name>
<url>http://cube.telascience.org/tilecache/tilecache.py/NAIP_ALL/$z/$x/$y.png</url>
<sourcetag>NAIP</sourcetag>
</set>
<set minlat="51.32" minlon="-10.71" maxlat="55.46" maxlon="-5.37">
<name>Ireland - NLS Historic Maps</name>
<scheme>tms</scheme>
<sourcetag>NLS Historic Maps</sourcetag>
<url>http://geo.nls.uk/maps/ireland/gsgs4136/$z/$x/$y.png</url>
<logo>icons/logo_nls70-nq8.png</logo>
<logo_url>http://geo.nls.uk/maps/</logo_url>
</set>
<set minlat="54.44" minlon="7.81" maxlat="57.86" maxlon="15.49">
<name>Denmark - Fugro Aerial Imagery</name>
<url>http://tile.openstreetmap.dk/fugro2005/$z/$x/$y.jpg</url>
<sourcetag>Fugro (2005)</sourcetag>
</set>
<set minlat="55.23403" minlon="12.09144" maxlat="55.43647" maxlon="12.47712">
<name>Denmark - Stevns Kommune</name>
<url>http://tile.openstreetmap.dk/stevns/2009/$z/$x/$y.jpg</url>
<sourcetag>Stevns Kommune (2009)</sourcetag>
</set>
<set minlat="46.33" minlon="9.36" maxlat="49.09" maxlon="17.28">
<name>Austria - geoimage.at</name>
<url>http://geoimage.openstreetmap.at/4d80de696cd562a63ce463a58a61488d/$z/$x/$y.jpg</url>
<sourcetag>geoimage.at</sourcetag>
</set>
<set minlon="19.02" minlat="40.96" maxlon="77.34" maxlat="70.48">
<name>Russia - Kosmosnimki.ru IRS Satellite</name>
<url>http://irs.gis-lab.info/?layers=irs&amp;request=GetTile&amp;z=$z&amp;x=$x&amp;y=$y</url>
<sourcetag>Kosmosnimki.ru IRS</sourcetag>
</set>
<set minlon="23.16" minlat="51.25" maxlon="32.83" maxlat="56.19">
<name>Belarus - Kosmosnimki.ru SPOT4 Satellite</name>
<url>http://irs.gis-lab.info/?layers=spot&amp;request=GetTile&amp;z=$z&amp;x=$x&amp;y=$y</url>
<sourcetag>Kosmosnimki.ru SPOT4</sourcetag>
</set>
<set minlon="96" minlat="-44" maxlon="168" maxlat="-9">
<name>Australia - Geographic Reference Image</name>
<url>http://agri.openstreetmap.org/$z/$x/$y.png</url>
<sourcetag>AGRI</sourcetag>
</set>
<set minlat="47.13" minlon="7.69" maxlat="47.63" maxlon="8.48">
<name>Switzerland - Canton Aargau - AGIS 25cm 2011</name>
<url>http://tiles.poole.ch/AGIS/OF2011/$z/$x/$y.png</url>
<sourcetag>AGIS OF2011</sourcetag>
</set>
<set minlat="47.06" minlon="7.33" maxlat="47.5" maxlon="8.04">
<name>Switzerland - Canton Solothurn - SOGIS 2007</name>
<url>http://mapproxy.sosm.ch:8080/tiles/sogis2007/EPSG900913/$z/$x/$y.png?origin=nw</url>
<sourcetag>Orthofoto 2007 WMS Solothurn</sourcetag>
</set>
<set minlat="48.9" minlon="14" maxlat="55" maxlon="24.2">
<name>Poland - Media-Lab fleet GPS masstracks</name>
<url>http://masstracks.media-lab.com.pl/$z/$x/$y.png</url>
<sourcetag>masstracks</sourcetag>
</set>
<set minlat="-34.95" minlon="17.64" maxlat="-22.05" maxlon="32.87">
<name>South Africa - CD:NGI Aerial</name>
<url>http://${a|b|c}.aerial.openstreetmap.org.za/ngi-aerial/$z/$x/$y.jpg</url>
<sourcetag>ngi-aerial</sourcetag>
</set>
</imagery>
-86
View File
@@ -1,86 +0,0 @@
var fs = require('fs'),
cheerio = require('cheerio');
$ = cheerio.load(fs.readFileSync('imagery.xml'));
var imagery = [];
// CENSORSHIP! No, these are just layers that essentially duplicate other layers
// or which have no clear use case.
var censor = {
'MapQuest Open Aerial': true,
'OSM - OpenCycleMap': true,
'OSM - MapQuest': true
};
var replace = {
'OSM - Mapnik': 'OpenStreetMap',
'National Agriculture Imagery Program': 'NAIP'
};
var description = {
'MapBox Satellite': 'Satellite and aerial imagery.',
'OpenStreetMap': 'The default OpenStreetMap layer.',
'OSM US TIGER 2012 Roads Overlay': 'Public domain road data from the US Government.',
'Bing aerial imagery': 'Satellite imagery.',
'NAIP': 'National Agriculture Imagery Program'
};
var scaleExtent = {
'MapBox Satellite': [0, 16],
'OpenStreetMap': [0, 18],
'OSM US TIGER 2012 Roads Overlay': [0, 17],
'Bing aerial imagery': [0, 20]
};
$('set').each(function(i) {
var elem = $(this);
var im = {
name: $(this).find('name').first().text(),
template: $(this).find('url').first().text()
};
// no luck with mapquest servers currently...
if (im.template.match(/mapquest/g)) return;
if (censor[im.name]) return;
im.name = im.name.replace('OSM US', '');
if (replace[im.name]) im.name = replace[im.name];
if (description[im.name]) im.description = description[im.name];
if (scaleExtent[im.name]) im.scaleExtent = scaleExtent[im.name];
var subdomains = [];
im.template = im.template
.replace('$quadkey', '{u}')
.replace(/\$(\w)/g, function(m) {
return '{' + m[1] + '}';
})
.replace(/\$\{([^}.]+)\}/g, function(m) {
subdomains = m.slice(2, m.length - 1).split('|');
return '{t}';
});
if (subdomains.length) im.subdomains = subdomains;
if (elem.attr('minlat')) {
im.extent = [
[+elem.attr('minlon'),
+elem.attr('minlat')],
[+elem.attr('maxlon'),
+elem.attr('maxlat')]];
}
['default', 'sourcetag', 'logo', 'logo_url', 'terms_url'].forEach(function(a) {
if (elem.find(a).length) {
im[a] = elem.find(a).first().text();
}
});
imagery.push(im);
});
fs.writeFileSync('imagery.json', JSON.stringify(imagery, null, 4));
+82
View File
@@ -0,0 +1,82 @@
var fs = require('fs');
var sources = require('editor-imagery-index/imagery.json');
var imagery = [];
// CENSORSHIP! No, these are just layers that essentially duplicate other layers
// or which have no clear use case.
var censor = {
"2u": true,
"Hike & Bike": true,
"OpenCycleMap": true,
"OpenStreetMap (German Language)": true,
"OpenStreetMap (German Style)": true,
"OpenStreetMap (Sorbian Language)": true,
"MapQuest OSM": true,
"OpenStreetMap (Mapnik Black & White)": true,
"Skobbler": true,
"Stadtplan Z\u00fcrich": true, // https://github.com/osmlab/editor-imagery-index/issues/14
"Public Transport (\u00d6PNV)": true // https://github.com/osmlab/editor-imagery-index/issues/15
};
var description = {
'MapBox Satellite': 'Satellite and aerial imagery.',
'OpenStreetMap (Mapnik)': 'The default OpenStreetMap layer.',
'TIGER 2012 Roads Overlay': 'Public domain road data from the US Government.',
'Bing aerial imagery': 'Satellite and aerial imagery.',
'NAIP': 'National Agriculture Imagery Program'
};
sources.forEach(function(source) {
if (source.type !== 'tms' && source.type !== 'bing')
return;
if (source.name in censor)
return;
var im = {
name: source.name,
type: source.type
};
if (description[im.name]) im.description = description[im.name];
im.template = source.url;
var extent = source.extent || {};
if (extent.min_zoom || extent.max_zoom) {
im.scaleExtent = [
+(extent.min_zoom || 0),
+(extent.max_zoom || 20)
];
}
if (extent.bbox) {
im.extents = [[
[+extent.bbox.min_lon, +extent.bbox.min_lat],
[+extent.bbox.max_lon, +extent.bbox.max_lat]
]];
}
var attribution = source.attribution || {};
if (attribution.url) {
im.terms_url = attribution.url;
}
if (attribution.text) {
im.terms_text = attribution.text;
}
['id', 'default', 'overlay'].forEach(function(a) {
if (source[a]) {
im[a] = source[a];
}
});
imagery.push(im);
});
imagery.sort(function(a, b) {
return a.name.localeCompare(b.name);
});
fs.writeFileSync('data/imagery.json', JSON.stringify(imagery, null, 4));