Skip to content

Commit 02589b8

Browse files
authored
Merge pull request #33 from interline-io/update-mirrors
Add support for OSM download mirrors
2 parents d083187 + 6dfce06 commit 02589b8

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

planetutils/osm_planet_update.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,23 @@ def main():
1414
parser.add_argument('--workdir', help="Osmosis replication workingDirectory.", default='.')
1515
parser.add_argument('--verbose', help="Verbose output", action='store_true')
1616
parser.add_argument('--size', help='Osmium update memory limit', default='1024')
17+
parser.add_argument('--mirror', help='Base URL for OSM mirror', default='https://planet.osm.org')
1718
args = parser.parse_args()
1819

20+
planet_source = "%s/pbf/planet-latest.osm.pbf"%args.mirror
21+
diff_source = "%s/replication/hour"%args.mirror
22+
1923
if args.verbose:
2024
log.set_verbose()
2125

2226
if not os.path.exists(args.osmpath):
2327
log.info("planet does not exist; downloading")
2428
if args.s3:
2529
d = PlanetDownloaderS3(args.osmpath)
30+
d.download_planet()
2631
else:
2732
d = PlanetDownloaderHttp(args.osmpath)
28-
d.download_planet()
33+
d.download_planet(url=planet_source)
2934

3035
if args.toolchain == 'osmosis':
3136
p = PlanetUpdaterOsmosis(args.osmpath)
@@ -34,7 +39,7 @@ def main():
3439
else:
3540
parser.error('unknown toolchain: %s'%args.toolchain)
3641

37-
p.update_planet(args.outpath, size=args.size)
42+
p.update_planet(args.outpath, size=args.size, changeset_url=diff_source)
3843

3944
if __name__ == '__main__':
4045
main()

planetutils/planet.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,9 +193,10 @@ class PlanetUpdaterOsmupdate(PlanetBase):
193193

194194
class PlanetUpdaterOsmium(PlanetBase):
195195
def update_planet(self, outpath, grain='minute', changeset_url=None, size='1024', **kw):
196+
changeset_url = changeset_url or 'https://planet.openstreetmap.org/replication/%s'%grain
196197
if not os.path.exists(self.osmpath):
197198
raise Exception('planet file does not exist: %s'%self.osmpath)
198-
self.command(['pyosmium-up-to-date', '-s', size, '-v', self.osmpath, '-o', outpath])
199+
self.command(['pyosmium-up-to-date', '-s', size, '--server', changeset_url, '-v', self.osmpath, '-o', outpath])
199200

200201
class PlanetUpdaterOsmosis(PlanetBase):
201202
def update_planet(self, outpath, grain='minute', changeset_url=None, **kw):

0 commit comments

Comments
 (0)