开发者

shell script to generate a map

开发者 https://www.devze.com 2023-02-24 06:00 出处:网络
I\'d like to have a script (bash) to generate an img (gif, jpg, etc.) of a (openstreetmap or googlemap) map given a location, like this:

I'd like to have a script (bash) to generate an img (gif, jpg, etc.) of a (openstreetmap or googlemap) map given a location, like this:

$ gen开发者_开发技巧map.sh 45.5 9.5

(parameters are lat & long)

or:

$ genmap.sh 45.5 9.5 12

(parameters are lat & long and zoom)

etc. etc.

can you point me to something on the net?

thank you


Google Maps provides an API you can use for generating maps. See their documentation on the API for static maps.

  • Latitudes and Longitudes
  • Zoom Levels

A basic example script which accept lat as first, long as second and an optional zoom as third. It outputs an PNG image with a filename like lat-long-zoom-width-height.png and echo's the filename:

#!/bin/bash
width=400
height=400
lat="$1"
long="$2"
zoom=12
if [ -n "$3" ]; then
    zoom="$3"
fi
filename="$lat-$long-$zoom-${width}x$height.png"
wget "http://maps.google.com/maps/api/staticmap?center=$lat,$long&zoom=$zoom&size=${width}x${height}&sensor=false" -O "$filename"
# small error checking
if [ $? -ne 0 ]; then
    echo "An error occured" >&2
    exit 1
fi
echo "$filename"

You might need to add additional tweaks to check the error response.


OpenStreetMap has an exporting API, which you could use with, say, wget:

http://tile.openstreetmap.org/cgi-bin/export?bbox=-3.296,58.906,-2.781,59.139&scale=435000&format=png

Currently though, it gives over-load errors.

0

精彩评论

暂无评论...
验证码 换一张
取 消