Fitxategi:Valeriepieris circle azimuthal equidistant.png

Orriaren edukia ez da onartzen beste hizkuntza batzuetan.
Wikipedia, Entziklopedia askea

Bereizmen handikoa((1.024 × 1.024 pixel, fitxategiaren tamaina: 1,21 MB, MIME mota: image/png))

Fitxategi hau Wikimedia Commonsekoa da. Hango deskribapen orriko informazioa behean duzu.
Commons gordailu bat da, lizentzia askea duten multimedia fitxategiena. Lagun dezakezu.

Fitxategi hau Wikimedia Commonsekoa da

Laburpena

Deskribapena
English: Danny Quah's Valerispieris circle on a globe model, centred on Mong Khet, Myanmar, rendered in azimuthal equidistant projection from the equirectangular projection from http://commons.wikimedia.org/wiki/File:Earthmap1000x500.jpg by CMG Lee.
Data upload 25. Oct. 2005
Jatorria
Earthmap1000x500.jpg
Egilea cmglee, jimht at shaw dot ca
Beste bertsioak
Valeriepieris circle azimuthal equal area.png
Mecca azimuthal equidistant.png
Cambridge azimuthal equidistant.png

Python source

#!/usr/bin/env python

import re, math, png

path_in          = 'mya/Earthmap1000x500.png'
path_out         = 'Valeriepieris_circle_azimuthal_equidistant.png'
colour_circle    = [255, 255, 0]
radius_circle    = 0.51
thickness_circle = 0.01
lat_centre       = 21.7
long_centre      = 99.383333
zoom             = 0.33
out_size         = 2048
out_size_half    = out_size * 0.5

class Png:
 def __init__(self, path_in):
  (self.width, self.height, self.pixels, self.metadata) = png.Reader(path_in).read_flat()
  self.planes = self.metadata['planes']
 def __str__(self): return str((self.width, self.height, len(self.pixels), self.metadata))
 def write(self, path_out):
  png.Writer(width=self.width, height=self.height,
             bitdepth=self.metadata['bitdepth'], interlace=self.metadata['interlace'],
             planes=self.metadata['planes'], greyscale=self.metadata['greyscale'],
             alpha=self.metadata['alpha']).write_array(open(path_out, 'wb'), self.pixels)

## Formulas from http://mathworld.wolfram.com/AzimuthalEquidistantProjection.html
def azimuthal_equidistant_to_equirectangular(x, y, lat1, long1):
 c        = math.hypot(x, y)
 if c == 0 or (abs(lat1) == 90 and y == 0): return (0, 0)
 sin_c    = math.sin(c)
 cos_c    = math.cos(c)
 lat1_rad = math.radians(lat1)
 sin_lat1 = math.sin(lat1_rad)
 cos_lat1 = math.cos(lat1_rad)
 to_asin  = cos_c * sin_lat1 + y * sin_c * cos_lat1 / c
 if abs(to_asin) > 1: return (0, 0)
 lat  =  math.degrees(math.asin(to_asin))
 long = (math.degrees(math.atan2(-x, y) if lat1 ==  90 else
                      math.atan2( x, y) if lat1 == -90 else
                      math.atan2(x * sin_c, c * cos_lat1 * cos_c - y * sin_lat1 * sin_c)) +
         long1 + 540) % 360 - 180 ## + 540 % 360 - 180 to make range [-180, 180)
 return (lat, long)

png_in  = Png(path_in)
print(png_in)
print(png_in.pixels[:20])
png_out = Png(path_in) ## copy most of original's metadata
png_out.width  = png_out.height = out_size
png_out.pixels = [0] * (png_out.width * png_out.height)
print(png_out)
for  out_y in range(out_size):
 for out_x in range(out_size):
  x = (out_x / out_size_half - 1) /  zoom
  y = (out_y / out_size_half - 1) / -zoom
  if abs(math.hypot(x,y) - radius_circle) < thickness_circle * zoom:
   colour = colour_circle
  else:
   (lat, long) = azimuthal_equidistant_to_equirectangular(x, y, lat_centre, long_centre)
   in_y = int(png_in.height * ( 90 - lat ) / 180.0)
   in_x = int(png_in.width  * (180 + long) / 360.0)
   in_offset = (in_y  * png_in.width + in_x ) * png_in .planes
   colour = png_in.pixels[in_offset :in_offset  + png_in.planes]
  out_offset = (out_y * out_size     + out_x) * png_out.planes
  png_out.pixels[out_offset:out_offset + png_out.planes] = colour
png_out.write(path_out)

Lizentzia

w:eu:Creative Commons
eskuduntza berdin partekatu
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
Askea zara:
  • partekatzeko – lana kopiatzeko, banatzeko eta bidaltzeko
  • birnahasteko – lana moldatzeko
Ondorengo baldintzen pean:
  • eskuduntza – Egiletza behar bezala aitortu behar duzu, lizentzia ikusteko esteka gehitu, eta ea aldaketak egin diren aipatu. Era egokian egin behar duzu hori guztia, baina inola ere ez egileak zure lana edo zure erabilera babesten duela irudikatuz.
  • berdin partekatu – Lan honetan oinarrituta edo aldatuta berria eraikitzen baduzu, emaitza lana hau bezalako lizentzia batekin argitaratu behar duzu.

Irudi-oineko testuak

Add a one-line explanation of what this file represents
Danny Quah's Valerispieris circle on a globe model, centred on Mong Khet, Myanmar, rendered in azimuthal equidistant projection

Fitxategi honetan agertzen diren itemak

honako hau irudikatzen du

Fitxategiaren historia

Data/orduan klik egin fitxategiak orduan zuen itxura ikusteko.

Data/OrduaIruditxoaNeurriakErabiltzaileaIruzkina
oraingoa03:02, 23 otsaila 202203:02, 23 otsaila 2022 bertsioaren iruditxoa1.024 × 1.024 (1,21 MB)CmgleeFix render
03:43, 22 urtarrila 202203:43, 22 urtarrila 2022 bertsioaren iruditxoa1.024 × 1.024 (95 KB)CmgleeUploaded a work by cmglee, jimht at shaw dot ca from {{source thumb|earthmap1000x500.jpg}} with UploadWizard

Hurrengo orrialdeek dute fitxategi honetarako lotura:

Fitxategiaren erabilera orokorra

Hurrengo beste wikiek fitxategi hau darabilte:

Metadatuak