Calcolatore della proiezione cilindrica di Miller
Il calcolatore della proiezione cilindrica di Miller converte una coordinata di latitudine e longitudine in valori piani x e y su una sfera.
Esegui gratis nel browser
Modifica la formula della latitudine di Mercator affinché i poli nord e sud restino a un’altezza finita anziché tendere all’infinito. Lei può scegliere un raggio per controllare la scala del risultato oppure mantenere la sfera unitaria predefinita per coordinate normalizzate. I risultati sono deterministici, vengono arrotondati soltanto alla precisione finale richiesta e sono disponibili nel browser o tramite API da $0.002 per elemento.
Come funziona la proiezione cilindrica di Miller
La proiezione cilindrica di Miller parte dalla geometria familiare di una normale carta cilindrica: la longitudine controlla la posizione orizzontale, il meridiano centrale corrisponde a x uguale a zero e l’equatore a y uguale a zero. La modifica che la distingue riguarda la formula verticale. Il calcolatore converte anzitutto latitudine e longitudine da gradi a radianti. Calcola quindi x come il raggio della sfera moltiplicato per la longitudine, mentre y è pari a cinque quarti del raggio moltiplicati per il logaritmo naturale della tangente di pi greco su quattro più due quinti della latitudine. Ridimensionare la latitudine prima di applicare il logaritmo simile a quello di Mercator attenua l’espansione verticale estrema. Presso un polo geografico la tangente riceve un angolo di ottantuno gradi anziché novanta, quindi il risultato rimane finito. La proiezione resta cilindrica e non è né conforme né equivalente. Questo compromesso è utile per planisferi in cui una forma riconoscibile e un’altezza limitata contano più della conservazione esatta di una proprietà geometrica ovunque.
Scelga input, scala e precisione
Inserisca una latitudine compresa tra meno novanta e novanta gradi e una longitudine compresa tra meno centottanta e centottanta gradi. Entrambi devono essere valori numerici finiti; le stringhe che sembrano numeri vengono rifiutate intenzionalmente, così un errore di formattazione precedente non può cambiare il calcolo senza essere rilevato. Il raggio è facoltativo e il valore predefinito è uno. Con tale impostazione, x e y sono coordinate sferiche normalizzate. Imposti il raggio terrestre medio in metri quando occorrono valori proiettati in metri, oppure usi un altro raggio positivo per una sfera diversa o una scala di disegno personalizzata. Il calcolatore non deduce datum, ellissoide, falsa origine est, falsa origine nord né spostamento del meridiano centrale. La longitudine zero è sempre il meridiano centrale. L’opzione dei decimali controlla esclusivamente l’arrotondamento dei valori x e y restituiti, da zero a dodici cifre. Le formule operano con la precisione in virgola mobile di JavaScript prima dell’arrotondamento finale; i valori originali e il raggio scelto vengono riportati per garantire la tracciabilità.
Interpreti il risultato e ne conosca i limiti
Legga x come lo spostamento orizzontale dal meridiano di Greenwich e y come lo spostamento verticale dall’equatore. La loro unità coincide esattamente con quella del raggio: un raggio in chilometri produce chilometri, un raggio in metri produce metri e un raggio pari a uno genera valori normalizzati adimensionali. Un valore x positivo si trova a est e uno negativo a ovest; un valore y positivo è a nord e uno negativo a sud. L’origine rappresenta quindi latitudine zero e longitudine zero. Un valore y finito a novanta gradi è previsto e costituisce una differenza fondamentale rispetto alla comune proiezione sferica di Mercator, non un segnale che la coordinata sia stata tagliata. Tuttavia, finito non significa privo di distorsione. Le distorsioni di scala e area aumentano comunque alle alte latitudini e il risultato non sostituisce direttamente un sistema di riferimento locale accurato per ingegneria o catasto. Lo usi per planisferi di Miller, confronti didattici, flussi di visualizzazione e verifiche riproducibili delle formule. Se servono conversione inversa, parametri ellissoidali, gestione dell’antimeridiano o una trasformazione EPSG, abbini il risultato a una libreria geospaziale idonea.
Casi d'uso
Posizioni un punto su un planisfero di Miller
Converta una coordinata geografica in valori piani coerenti prima di collocare un indicatore in un SVG, una tela o un grafico personalizzato per relazioni.
Confronti proiezioni cilindriche
Calcoli una coordinata di Miller accanto ai risultati di Mercator o di una proiezione equivalente per mostrare come cambia la spaziatura verticale verso i poli.
Convalidi un’implementazione cartografica
Usi l’output deterministico e arrotondato come riferimento nel collaudo del codice di proiezione in un flusso dati, un’applicazione o un esercizio didattico.
Domande frequenti
Perché i poli sono finiti in questa proiezione?
Miller moltiplica la latitudine per 0.8 in una formula simile a quella di Mercator, quindi un polo viene valutato a 81 gradi nella tangente e non al suo angolo singolare di 90 gradi.
In quali unità vengono restituiti x e y?
Usano la stessa unità del raggio. Il raggio predefinito pari a uno produce coordinate normalizzate; un raggio in metri produce x e y in metri.
La proiezione cilindrica di Miller è equivalente o conforme?
No. Modera l’aspetto e l’altezza polare illimitata di Mercator, ma non conserva esattamente né le aree né gli angoli locali.
Questo calcolatore usa un modello ellissoidale della Terra?
No. Applica la formula sferica di Miller al raggio positivo fornito da Lei e non esegue trasformazioni di datum o ellissoide.
Quanto costa una proiezione tramite API?
Il prezzo base è $0.002 per elemento. Il calcolatore nel browser può eseguire direttamente la stessa formula deterministica.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/geo/miller-project \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"latitude":40.7128,"longitude":-74.006}'const res = await fetch("https://api.kit.forhosting.com/geo/miller-project", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"latitude": 40.7128,
"longitude": -74.006
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/miller-project",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"latitude": 40.7128,
"longitude": -74.006
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/miller-project", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"latitude":40.7128,"longitude":-74.006}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"latitude":40.7128,"longitude":-74.006}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/miller-project", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"latitude": 40.7128,
"longitude": -74.006
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.miller_project",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |