Ficheiro orixinal(2.000 × 1.100 píxeles; tamaño do ficheiro: 1,05 MB; tipo MIME: image/png)

Resumo

Descrición
English: Map of Capri. Uses terrain data from SRTM3 (http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N40E014.hgt.zip).

Bitmap version of File:Capri_sights_terrain.svg.

Note: An offical map of Capri (with roads, etc.) can be found at http://www.capritourism.com/imgg/download/capri_map_en.pdf
Data
Orixe Obra propia
Autoría Morn the Gorn
compass rose from Maps_template-fr.svg: Eric Gaba (Sting - fr:Sting)
Road and rail data from OpenStreetMap
Outras versións

Code

Terrain shading layer was generated with the following Python script (requires Python Imaging Library and NumPy):

# Read SRTM3 file and create shaded relief

# 2010-04-05

from struct import unpack,calcsize

from numpy import *
import numpy as np
from PIL import Image

row_length = 1201	# row_length is 1201 for SRTM3 or 3601 for SRTM1
file_name  = "N40E014.hgt"	# from http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/
hlim       = 800	# height limit for map [m]

ref_lat    = 40.55	# reference latitude
earth_eq   = 6371. * 1000. * 2. * pi
x_scale    = 1./360.*earth_eq*cos(ref_lat/180.*pi)/row_length
y_scale    = 1./360.*earth_eq/row_length

print "1 pixel = %u * %u m" % (x_scale, y_scale)
print "factor", y_scale/x_scale

h = zeros((row_length, row_length))
f = open(file_name, 'r')
li = []

for j in range(row_length):
	for i in range(row_length):
		d = f.read(2)
		(height,) = unpack('>h', d)
	        h[i,j] = height
		if height < -1000:
			li.append((i,j))

hmax = h.max()
h3 = zeros_like(h)
h3[:,:] = h[:,:]
print len(li), "missing data points"

def get_nei(z):
	h2 = h[z[0]-1:z[0]+2,z[1]-1:z[1]+2]
	nn = sum(where(h2 < -1000, 0, 1))
	av = sum(where(h2 > -1000, h2, 0)) / float(nn)
	return nn, av

# fill missing points with a nearest-neighbor averaging method:
loop = len(li)
lim = 7
while loop > 0:
	sd = False
	for q in range(len(li)):
		if h[li[q]] > -1000.: continue
		n, a = get_nei(li[q])
		if n >= lim:
			print li[q],loop, n, a, lim
			h3[li[q]] = a
			loop -= 1
			sd = True
	if not sd: lim -= 1
	h[:,:] = h3[:,:]
print "missing points done"	

def hext(a):
	"Hex color to triplet."
	r,g,b = a[0:2], a[2:4], a[4:6]
	return int(r, 16), int(g, 16), int(b, 16)

# from http://en.wikipedia.org/wiki/Wikipedia:WikiProject_Maps/Conventions/Topographic_maps:
col_sea = hext("0978ab")
cols = """
{{Mapcolor|r=245|v=244|b=242|hex=#F5F4F2|col=black}}
{{Mapcolor|r=224|v=222|b=216|hex=#E0DED8|col=black}}
{{Mapcolor|r=202|v=195|b=184|hex=#CAC3B8|col=black}}
{{Mapcolor|r=186|v=174|b=154|hex=#BAAE9A|col=black}}
{{Mapcolor|r=172|v=154|b=124|hex=#AC9A7C|col=black}}
{{Mapcolor|r=170|v=135|b=83|hex=#AA8753|col=black}}
{{Mapcolor|r=185|v=152|b=90|hex=#B9985A|col=black}}
{{Mapcolor|r=195|v=167|b=107|hex=#C3A76B|col=black}}
{{Mapcolor|r=202|v=185|b=130|hex=#CAB982|col=black}}
{{Mapcolor|r=211|v=202|b=157|hex=#D3CA9D|col=black}}
{{Mapcolor|r=222|v=214|b=163|hex=#DED6A3|col=black}}
{{Mapcolor|r=232|v=225|b=182|hex=#E8E1B6|col=black}}
{{Mapcolor|r=239|v=235|b=192|hex=#EFEBC0|col=black}}
{{Mapcolor|r=225|v=228|b=181|hex=#E1E4B5|col=black}}
{{Mapcolor|r=209|v=215|b=171|hex=#D1D7AB|col=black}}
{{Mapcolor|r=189|v=204|b=150|hex=#BDCC96|col=black}}
{{Mapcolor|r=168|v=198|b=143|hex=#A8C68F|col=black}}
{{Mapcolor|r=148|v=191|b=139|hex=#94BF8B|col=black}}
{{Mapcolor|r=172|v=208|b=165|hex=#ACD0A5|col=black}}
"""
col = []

for l in cols.splitlines():
	if len(l) < 10: continue
	i = l.find('#')
	if i > -1:
		col.append(hext(l[i+1:i+7]))

col.reverse()	# -> bottom to top

o = Image.new('RGB', h.shape)

def interp(c, f):
	"Interpolate into color table."
	r = int((1.-f) * col[c][0] + f * col[c+1][0])
	g = int((1.-f) * col[c][1] + f * col[c+1][1])
	b = int((1.-f) * col[c][2] + f * col[c+1][2])
	return r,g,b

for j in range(row_length):
	for i in range(row_length):
		c, f = divmod(h[j,i] / hmax * (len(col)-1), 1)
		if 0 < h[j,i] < hmax:
			o.putpixel((j,i), interp(int(c), f))
		elif h[i,j] == hmax:
			o.putpixel((j,i), col[-1])
		else: o.putpixel((j,i), col_sea)

o.save("map_height.png")	# save height map
o2 = o.crop((0,0,942,603))
o2.save("map_height_cropped.png")

# taken from hillshade.py:
#def illumination(idata,azdeg=315.0,altdeg=45.):
def illumination(idata,azdeg=225.0,altdeg=45.):
    # convert alt, az to radians
    az = azdeg*np.pi/180.0
    alt = altdeg*np.pi/180.0
    # gradient in x and y directions
    dx, dy = np.gradient(idata)
    slope = 0.5*np.pi - np.arctan(np.hypot(dx, dy))
    aspect = np.arctan2(dx, dy)
    odata = np.sin(alt)*np.sin(slope) + np.cos(alt)*np.cos(slope)*np.cos(-az -\
             aspect - 0.5*np.pi)
    # rescale to interval -1,1
    # 1 means maximum sun exposure and 0 means complete shade.
    odata = (odata - odata.min())/(odata.max() - odata.min())
    return odata

il = 255 * illumination(h)

o4 = Image.new('RGBA', il.shape)
for j in range(row_length-1):
	for i in range(row_length-1):
		v = int(il[j,i])
		if 0 <= v < 128:
			alpha = (255 - 2*v)
			o4.putpixel((j,i), (0,0,0,alpha))
		elif v == 128:
			o4.putpixel((j,i), (0,0,0,0))
		elif 128 < v < 256:
			alpha = 2*(v-128)
			o4.putpixel((j,i), (255,255,255,alpha))
		else:
			o4.putpixel((j,i), (255,255,255,0))
o4.save("il_NW_alpha.png")	# NW-illuminated (alpha transparency for use with Inkscape)

Licenza

Eu, como posuidor dos dereitos de autor desta obra, pola presente publícoa baixo as seguintes licenzas:
w:gl:Creative Commons
recoñecemento compartir igual
Este ficheiro está licenciado baixo a licenza Creative Commons recoñecemento compartir igual 3.0 sen adaptar.
Vostede é libre de:
  • compartir – copiar, distribuír e difundir a obra
  • facer obras derivadas – adaptar a obra
Baixo as seguintes condicións:
  • recoñecemento – Debe indicar a debida atribución de autoría, fornecer unha ligazón á licenza e indicar se se realizaron cambios. Pode facer isto de calquera forma razoable, mais non nunha forma que indique que quen posúe a licenza apoia ou subscribe o seu uso da obra.
  • compartir igual – Se altera, transforma ou amplía este contido, debe publicar as súas contribucións baixo a mesma licenza ou outra compatible á orixinal.
GNU head Autorízase a copia, distribución e/ou modificación deste documento baixo os termos da licenza de documentación libre GNU, versión 1.2 ou calquera outra que posteriormente publique a Free Software Foundation; sen seccións invariables, textos de portada, nin textos de contraportada. Inclúese unha copia da devandita licenza na sección titulada GNU Free Documentation License.
Pode seleccionar a licenza que desexe.

Pés de foto

Engada unha explicación dunha liña do representa este ficheiro

Elementos retratados neste ficheiro

representa a

dd052a2b31b71693be103e2d85c8a0c6f50ea7ad

tamanho dos dados portugués

1.105.800 Byte

1.100 píxel

2.000 píxel

Historial do ficheiro

Prema nunha data/hora para ver o ficheiro tal e como estaba nese momento.

(as máis novas | as máis antigas) Ver as (10 posteriores | ) (10 | 20 | 50 | 100 | 250 | 500)
Data/HoraMiniaturaDimensiónsUsuarioComentario
actual30 de setembro de 2010 ás 22:15Miniatura da versión ás 22:15 do 30 de setembro de 20102.000 × 1.100 (1,05 MB)Mornadded OpenStreetMap layer
7 de abril de 2010 ás 22:55Miniatura da versión ás 22:55 do 7 de abril de 20102.000 × 1.100 (951 kB)Mornadded scale in feet
7 de abril de 2010 ás 18:44Miniatura da versión ás 18:44 do 7 de abril de 20102.049 × 1.154 (956 kB)Mornmore mountains
7 de abril de 2010 ás 13:47Miniatura da versión ás 13:47 do 7 de abril de 20102.000 × 1.100 (935 kB)Mornmountain heights
6 de abril de 2010 ás 21:48Miniatura da versión ás 21:48 do 6 de abril de 20102.000 × 1.100 (914 kB)MornPhilosophical Park as area
5 de abril de 2010 ás 18:58Miniatura da versión ás 18:58 do 5 de abril de 20102.000 × 1.100 (909 kB)Mornimproved terrain
4 de abril de 2010 ás 18:59Miniatura da versión ás 18:59 do 4 de abril de 20102.000 × 1.100 (857 kB)Morncompass rose
4 de abril de 2010 ás 15:45Miniatura da versión ás 15:45 do 4 de abril de 20102.000 × 1.100 (818 kB)Mornhypsometric colors
4 de abril de 2010 ás 00:32Miniatura da versión ás 00:32 do 4 de abril de 20102.000 × 1.127 (670 kB)Mornslightly stronger colors
3 de abril de 2010 ás 19:44Miniatura da versión ás 19:44 do 3 de abril de 20102.000 × 1.100 (655 kB)Mornterrain shading from SRTM 3 data
(as máis novas | as máis antigas) Ver as (10 posteriores | ) (10 | 20 | 50 | 100 | 250 | 500)

A seguinte páxina usa este ficheiro:

Uso global do ficheiro

Os seguintes wikis empregan esta imaxe:

Ollar o uso global deste ficheiro.