Risposte:
C'è sempre il metodo "forza bruta":
Prendi un livello con un sistema di coordinate noto che dovrebbe sovrapporsi al tuo livello sconosciuto.
Ora fai alcune ipotesi plausibili su quale proiezione potrebbe essere lo strato sconosciuto. (UTM, Plate Carree, ecc.). Proietta il tuo livello di sistema di coordinate noto in ogni proiezione fino a quando non ne trovi uno che corrisponda il più possibile al livello sconosciuto.
Sto promuovendo i commenti di Mapperz e Brandon Copeland aggiungendo una risposta che utilizza la loro tecnica.
Questa tecnica sfrutta il fatto che ArcMap può convertire i dati in un nuovo sistema di coordinate in memoria. I dati senza un Coordsys noto non possono essere convertiti, quindi vengono semplicemente visualizzati. Proiettando i dati noti in memoria, possiamo vedere rapidamente quali coordinate ha nei vari possibili sistemi di coordinate.
Dal momento che questa domanda non invecchia mai, ho creato un sito che utilizza il metodo Brute Force . Se trascini uno shp + shx zippato sulla mappa, verrà mappato in ogni sistema di coordinate disponibile in PostGIS. Supponendo che tu sappia che aspetto ha "corretto", puoi ingrandire l'area e fare clic sul poligono per ottenere il file .prj da epsg.io.
Ci sono due grandi collegamenti da Esri che approfondiscono questo aspetto:
Nel mio ultimo lavoro, avevo un livello di dati Geologia (poligono) chiamato "FSU_Geol.shp". Il mio capo me lo ha dato e mi ha chiesto di scoprire una serie di cose. Prima di tutto, gli è stato consegnato questo file di forma dal client e non c'era alcun file .prj, quindi voleva che lo capissi. Voleva anche che capissi quali fossero le categorie di geologia. Potrei andare avanti all'infinito, ma lasciamo andare all'inseguimento ... L'ho cercato su Google e sono finito QUI .
L'acronimo nella convenzione di denominazione stava per "geologia di superficie dell'ex Unione Sovietica" e la ricerca di Google mi ha portato "direttamente" alla fonte (USGS). Tutto quello che potrei mai aver bisogno di sapere su questo shapefile era nel link in alto che ho colpito. Non sto dicendo che Google possa trovare qualsiasi cosa , ma ero appena uscito dall'università e stavo solo facendo uno "scatto al buio", e guarda il feedback che ho ricevuto!
In un altro caso, qualcuno in ufficio aveva scaricato un certo numero di shapefile usando una funzione batch. Al momento non ricordo il nome del pacchetto software, ma mancavano i file .prj. Sono semplicemente andato ai metadati in ArcCatalog e in realtà ho trovato la mia risposta lì. Ancora una volta, non citarmi, ma penso che ci fosse un URL per la fonte lì dentro.
Da quel giorno "inizio" con una ricerca su Google se non ci sono indizi nei metadati!
Adoro questo strumento Web: http://projfinder.com/ . Controlla il tuo file e cerca alcune coordinate. Ingrandisci approssimativamente lo stesso punto del globo e lascialo indovinare.
Non uno strumento (non ne conosco uno esistente che ti permetterebbe di farlo), ma dai un'occhiata alla risposta di @mkennedy a Come potrei convertire questo punto in WKID 4326? . Spiega come è arrivata al riferimento spaziale corretto. SpatialReference.org e la pazienza saranno i tuoi amici.
Inoltre, Esri fornisce una guida su come indovinare un sistema di coordinate (anche se preferisco il metodo di mkennedy se sai qualcosa di più sui dati).
La migliore risposta che ho trovato a questa domanda non è tecnica: scopri da dove provengono i tuoi dati. Le agenzie e le organizzazioni tendono ad essere coerenti con il loro uso delle proiezioni. Sai che è venuto dal tuo stato DOT? Guarda il resto dei loro dati e vedi cosa ti dice. Non sai da dove viene? Un'ipotesi istruita è altrettanto probabile che ti mandi lungo la strada giusta.
Almeno rende un po 'più fattibile affrontare il problema con la forza bruta!
Seriamente obsoleto a questo punto, ma Werner Flacke e Birgit Klaus hanno pubblicato Find Projection su ArcScripts nel 2007. Purtroppo non credo che il codice sorgente sia lì. È basato su VBA quindi utilizzabile solo in ArcGIS Desktop v9.2 e possibilmente 9.3. Comprende due shapefile con le aree di interesse dal set di dati dei parametri geodetici EPSG che potrebbero essere utilizzati per restringere le possibilità.
Blue Marble Geographic Calculator e Geographic Transformer dispongono di strumenti di recupero del sistema di coordinate.
Prova il programma ogrinfo fornito come parte di GDAL.
Vedi Come accedere ai metadati di Shapefile usando OGR?
Quindi ogrinfo potrebbe non fornirti le informazioni di proiezione senza un file .prj, ma è comunque uno strumento utile per aiutarti a esaminare l'elenco di potenziali proiezioni.
Per esempio:
Geometry: Polygon
Feature Count: 269
Extent: (320000.000000, 505000.000000) - (323000.000000, 511000.000000)
Questa risposta mi suggerisce che lo shapefile sta usando un sistema di riferimento basato su metri e non su gradi.
Supponendo che tu sappia da dove provengono i dati, ora hai un elenco più breve di possibili proiezioni.
Altre buone pratiche potrebbero essere:
Probabilmente è meglio iniziare da qualche posizione di noti, piuttosto che cercare di forzare la forza bruta da zero.
Per aggiungere alle altre risposte in questo post, aggiungerei quanto segue:
Procedura: identificare un sistema di coordinate proiettate sconosciuto utilizzando ArcMap
Fornire un controllo specifico su NAD1927
Se le coordinate sono in gradi decimali, ad esempio tra la longitudine -180 e +180 e la latitudine -90 e +90, identificare il sistema di coordinate geografiche (dato) utilizzato per i dati. Prima della versione 9.2, ArcMap assegna GCS_Assumed_Geographic_1 ai dati, per impostazione predefinita. Ciò posiziona i dati sul dato NAD_1927
Inoltre
Se i dati si trovano negli Stati Uniti e mostrano in che misura le coordinate a sinistra del decimale sono 6, 7 o 8 cifre, i dati vengono probabilmente proiettati sul piano di stato o sui sistemi di coordinate UTM.
FAQ: Nozioni di base sulla proiezione: cosa deve sapere il professionista GIS
Questa pagina fornisce numerosi controlli su come determinare le proiezioni che sono importanti per aiutare a cercare di identificare un sistema di coordinate sconosciuto.
I seguenti concetti sono fondamentali per comprendere l'uso delle proiezioni cartografiche in ArcGIS. Si noti tuttavia che l'argomento delle proiezioni è estremamente ampio e questo articolo non può fare altro che toccare alcuni argomenti importanti.
I sistemi di coordinate, noti anche come proiezioni cartografiche, sono designazioni arbitrarie di dati spaziali. Il loro scopo è di fornire una base comune per la comunicazione su un particolare luogo o area sulla superficie terrestre. Il problema più critico nella gestione delle proiezioni delle mappe è sapere qual è la proiezione e avere le informazioni corrette sul sistema di coordinate associate a un set di dati.
Quando furono concepite le prime proiezioni cartografiche, si presumeva, erroneamente, che la terra fosse piatta. Più tardi l'assunzione fu rivista e la terra fu considerata una sfera perfetta. Nel 18 ° secolo, le persone iniziarono a rendersi conto che la terra non era perfettamente rotonda. Questo è stato l'inizio del concetto di sferoide cartografico.
Per rappresentare più accuratamente le posizioni sulla superficie terrestre, i creatori di mappe hanno studiato la forma della terra (geodesia) e creato il concetto di sferoide. Quindi sono stati ideati i sistemi di coordinate geografiche (GCS), che includono un dato, unità di misura e un meridiano primo. Un dato collega uno sferoide a una particolare porzione della superficie terrestre. I dati recenti sono progettati per adattarsi bene all'intera superficie terrestre.
I datum più utilizzati in Nord America sono:
• NAD 1927 (North American Datum 1927) utilizzando lo sferoide Clarke 1866
• NAD 1983 (North American Datum 1983) utilizzando lo sferoide GRS 1980
• WGS 1984 (World Geodetic Survey 1984) utilizzando lo sferoide WGS 1984I nuovi sferoidi sono sviluppati dalle misurazioni satellitari e sono più precisi di quelli sviluppati da Clarke nel 1866. I termini "sistema di coordinate geografiche" e "dato" sono usati in modo intercambiabile, ma come notato sopra, un GCS include un dato, sferoide, unità di misura e un meridiano primo.
- Le coordinate per i dati cambiano in base al dato e allo sferoide su cui si basano tali coordinate, anche se utilizzano la stessa proiezione e parametri della mappa.
Ad esempio, le coordinate geografiche di seguito si riferiscono a un singolo punto situato all'interno della città di Bellingham, Washington, utilizzando 3 diversi riferimenti:
Codice: DATUM X-Coordinate Y-Coordinate NAD_1927 -122.466903686523 48.7440490722656 NAD_1983 -122.46818353793 48.7438798543649 WGS_1984 -122.46818353793 48.7438798534299
- Un principio di buona gestione dei dati è quello di ottenere i parametri di proiezione dall'origine dati che fornisce i dati. Non fare congetture sulla proiezione dei dati, perché il risultato sarà un database GIS impreciso. I parametri necessari sono i seguenti:
• Proiezione
• Unità di misura
• ZONA (per UTM)
• Zona FIPS (per piano di stato)
• RiferimentoPossono essere richiesti altri parametri, a seconda della proiezione. Ad esempio, le proiezioni di Albers e Lambert richiedono i seguenti parametri:
• 1 ° parallelo standard, in gradi, minuti e secondi (DMS)
• 2 ° parallelo standard (DMS)
• Meridiano centrale (DMS)
• Latitudine dell'origine delle proiezioni (DMS)
• Falso est e unità di misura
• Falso nord e unità di misura
• X-shift e unità di misura
• Y-shift e unità di misura
Ho avuto lo stesso problema mentre stavo lavorando al mio progetto (DEM). Una delle DEM era coordinate sconosciute e non può essere proiettata, quindi ho fatto il "georeferenziamento" utilizzando lo strumento di georeferenziazione in ArcMap . Dopo il georeferenziamento, otterrai il tuo file prj.
Guarda questo sito Web:
http://www.egger-gis.at/shapefile-projectionfinder/
Sono lo sviluppatore di questo strumento gratuito. Forse questo strumento può aiutarti a trovare e definire la corretta proiezione del tuo shapefile. Si basa sull'idea di http://projfinder.com/ di Aaron Racicot.
Puoi anche provare queste soluzioni speciali per:
Austria (tedesco): https://www.data.gv.at/anwendungen/checkaustrianprojection/
Australia: https://maegger.github.io/map_australia.html
UTM - Zone: https://maegger.github.io/map_utm.html
Puoi farlo con Fiona.
import fiona as f
a = fiona.open("C:\QGIS_ShapeFile\qgis\shafile_XXX.shp")
print(a.crs)
Riceverai risposta come
{'init': 'epsg:4326'}