forked from migurski/PlanetIndex
-
Notifications
You must be signed in to change notification settings - Fork 1
/
HEADER.cgi
executable file
·128 lines (115 loc) · 4.58 KB
/
HEADER.cgi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#!/usr/bin/env python
from time import time
from os import stat, environ
from re import search
def nice_size(file):
size = stat(file).st_size
KB = 1024.
MB = 1024. * KB
GB = 1024. * MB
TB = 1024. * GB
if size < KB:
size, suffix = size, ''
elif size < MB:
size, suffix = size/KB, 'KB'
elif size < GB:
size, suffix = size/MB, 'MB'
elif size < TB:
size, suffix = size/GB, 'GB'
else:
size, suffix = size/TB, 'TB'
if size < 10:
return '%.1f %s' % (round(size,1), suffix)
else:
return '%d %s' % (round(size), suffix)
def nice_time(time):
if time < 15:
return 'moments'
if time < 90:
return '%d seconds' % time
if time < 60 * 60 * 1.5:
return '%d minutes' % (time / 60.)
if time < 24 * 60 * 60 * 1.5:
return '%d hours' % (time / 3600.)
if time < 7 * 24 * 60 * 60 * 1.5:
return '%d days' % (time / 86400.)
if time < 30 * 24 * 60 * 60 * 1.5:
return '%d weeks' % (time / 604800.)
return '%d months' % (time / 2592000.)
def file_info(file, name):
size = nice_size(file)
hash = search(r'\w{32}', open(file+'.md5', 'r').read()).group(0)
date = nice_time(time() - stat(file).st_mtime)
return '<b><a href="%(file)s">%(name)s</a></b><br><b>%(size)s</b>, created %(date)s ago.<br><small>md5: %(hash)s</small>.' % locals()
planet_link = file_info('planet/planet-latest.osm.bz2', 'Latest Weekly Planet File')
changesets_link = file_info('planet/changesets-latest.osm.bz2', 'Latest Weekly Changesets')
print """
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Index of /</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<img id="logo" src="logo.png" alt="OSM logo" width="128" height="128">
<h1>Planet OSM</h1>
<p>
The files found here are regularly-updated, complete copies of the OpenStreetMap.org
database, and those published before the 12 September 2012 are distributed under a Creative Commons Attribution-ShareAlike 2.0 license, those published after are Open Data Commons Open Database License 1.0 licensed. For more information, <a href="http://wiki.openstreetmap.org/wiki/Planet.osm">see the project wiki</a>.
</p>
<table id="about">
<tr>
<th>
<h2>Complete OSM Data</h2>
</th>
<th>
<h2>Using The Data</h2>
</th>
<th>
<h2>Extracts & Mirrors</h2>
</th>
</tr>
<tr>
<td>
<p>%(planet_link)s</p>
<p>%(changesets_link)s</p>
<p>
Each week, a new and complete copy of all data in OpenStreetMap is made
available as a compressed XML file, along with a smaller file with
complete metadata for all changes made since the previous week.
</p>
</td>
<td>
<p>
You are granted permission to use OpenStreetMap data by
<a href="http://osm.org/copyright">the OpenStreetMap License</a>, which also describes
your obligations.
</p>
<p>
You can <a href="http://wiki.openstreetmap.org/wiki/Planet.osm#Processing_the_File">process the file</a>
or extracts with a variety of tools. <a href="http://wiki.openstreetmap.org/wiki/Osmosis">Osmosis</a>
is a general-purpose command-line tool for converting the data among different formats
and databases, and <a href="http://wiki.openstreetmap.org/wiki/Osm2pgsql">Osm2pgsql</a>
is a tool for importing the data into a Postgis database for rendering maps.
</p>
<p>
<a href="http://wiki.openstreetmap.org/wiki/Coastline_error_checker">Processed coastline data</a>
derived from OSM data is also needed for rendering usable maps, and can be found in a
<a href="http://tile.openstreetmap.org/processed_p.tar.bz2">single shapefile</a> (360MB).
</p>
</td>
<td>
<p>
The complete planet is very large, so you may prefer to use one of
<a href="http://wiki.openstreetmap.org/wiki/Planet.osm#Downloading">several periodic extracts</a>
(individual countries or states) from third parties. <a href="http://download.geofabrik.de/openstreetmap/">GeoFabrik.de</a>
and <a href="http://download.bbbike.org/osm/">BBBike.org</a> are two providers
of extracts with up-to-date worldwide coverage.
</p>
</td>
</tr>
</table>
<p>
If you find data within OpenStreetMap that you believe is an infringement of someone else's copyright, then please make contact with the <a href="http://wiki.openstreetmap.org/wiki/Data_working_group">OpenStreetMap Data Working Group</a>.
</p>
""" % locals()