Dove posso trovare le coordinate necessarie per disegnare gli Stati Uniti nella proiezione di Mercatore?

StackOverflow https://stackoverflow.com/questions/2298769

Domanda

Quindi sto scrivendo una libreria JavaScript che prende coordinate x, y e li utilizza per disegnare una mappa degli Stati Uniti. Per fare questo, ho bisogno di trovare i dati necessari per disegnare ogni stato di coordinate. Questa mappa su Wikipedia è un grande esempio di quello che mi serve, perché il file SVG contiene le forme che compongono ogni stato ben etichettato: http://upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg

Ho anche un insieme di siti che ho bisogno di mettere su questa mappa. Dal momento che so che la latitudine e la longitudine di ogni sito, posso usarlo per disegnare ogni sito nella sua appropriata luogo sulla mappa. Purtroppo, per far funzionare la mia mappa ha bisogno di usare la proiezione di Mercatore, in modo che non ci può essere una mappatura facile di lat, long a coordinate X, Y pixel.

La mappa Wikipedia che ho citato sopra utilizza qualche altra proiezione, quindi non posso usarlo per questo scopo. Qualcuno sa dove posso trovare questo tipo di mappa di dati nella proiezione di Mercatore? Qualsiasi formato di dati è soddisfacente, finché posso programmazione ottenere le coordinate che vengono utilizzati per disegnare ogni stato e identificare quali forme comprendono ciascuno stato.

È stato utile?

Soluzione

Kevin McCurley ha creato un po 'di Mappe degli Stati Uniti, tra cui una mappa di tutti i 50 stati , nella proiezione Mercatore. Se si guarda alla fonte di tale ultimo anello, si compone di (latitudine, longitudine) coppie per i contorni degli stati, che vengono poi trasformati in (x, y) le coppie per la visualizzazione nel formato SVG. Il suo utilizzo è consentito

  

Sentitevi liberi di utilizzare questi file nella tua   proprio divertente, ma apprezzerei   che riceve il merito di aver creato   loro. Godetevi ...

Non so se questo è abbastanza buono per voi.

Altri suggerimenti

Questa è una domanda GIS e non sarebbe risolto facilmente a meno che non si sta utilizzando gli strumenti adeguati.

  • QGIS per aprire la dati degli Stati Uniti Shapefile

    Modifica Nel caso gli shapefile ho collegato non sono esattamente quelli che stavi cercando poi di Google per "shapefile degli Stati Uniti". Shapefiles sono in realtà un gruppo di geospaziale (e non solo un file).

  • Riproietta il vostro strato alla proiezione specificato

    Modifica questo può essere una seccatura, ma solo nel caso, non OGR (vedi sotto) può riproiettare. EPSG sono ottenuti da riferimento spaziale

  • ogr2ogr ( bigino ) o il plugin convertitore per convertire i dati in formato KML. Questo stamperà i dati in un Maps / Earth / formato leggibile Google che avrà le coordinate in loro

Modifica 2 Che cosa stai usando per visualizzare le mappe on-line? avete considerato OpenLayers o Google maps API o mapserver

EDIT 3 Ho testato il mio metodo su alcuni dati che ho e funziona, ecco un esempio di output per un poligono con "Stato e di equivalente (attuale)" strato:

<Placemark>
      <name>American Samoa</name>
      <styleUrl>#PolyStyle00</styleUrl>
      <Snippet></Snippet>
      <MultiGeometry>
        <Polygon>
          <tessellate>1</tessellate>
          <extrude>0</extrude>
          <altitudeMode>clampToGround</altitudeMode>
          <outerBoundaryIs><LinearRing><coordinates> -0.001536,-0.000099,0.000000 -0.001536,-0.000099,0.000000 -0.001536,-0.000100,0.000000 -0.001536,-0.000100,0.000000 -0.001536,-0.000100,0.000000 -0.001536,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000100,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001537,-0.000099,0.000000 -0.001536,-0.000099,0.000000 -0.001536,-0.000099,0.000000 -0.001536,-0.000099,0.000000 -0.001536,-0.000099,0.000000 -0.001536,-0.000099,0.000000 -0.001536,-0.000099,0.000000 -0.001536,-0.000099,0.000000 -0.001536,-0.000099,0.000000</coordinates>
            </LinearRing>
          </outerBoundaryIs>
        </Polygon>

Una nuova mappa da zero

E 'facile creare una mappa dei shapefile che è previsto piuttosto alta risoluzione dal USGS . In realtà, qualche ragazzo ha già creato un href="http://egb13.net/2009/07/shapefile-to-svg-translator-project/" rel="nofollow noreferrer"> shapefile-> svg sceneggiatura traduzione che fa proprio questo per voi, ma notare che rel="nofollow il progetto è stato spostato GitHub .

Sfortunatamente shapefile è nella NAD83 proiezione quindi deve essere riproiettato a Mercator prima di eseguire lo script. Ancora una volta, questo è un problema già risolto e una cosa molto comune da fare in essere fatto una volta. Per questo ho intenzione di suggerire MapWindow perché è banale da fare in questo.

Per riproiettare gli shapefile a Mercator è necessario scaricare e installare MapWindow . Quando si esegue il programma è possibile vedere un Plug-in menu nella finestra principale e si sta andando ad avere bisogno di abilitare i Strumenti GIS plugin. Poi si fa clic sul simbolo verde "plus" per aggiungere lo shapefile in MapWindow e dovrebbe rendere gli Stati Uniti sullo schermo.

Una volta importato lo shapefile in MapWindow si sta andando a riproiettare esso. Per fare questo si fa clic su Strumenti GIS -> Vector -.> riproiettare uno Shapefile e dovrebbe aprire una finestra di dialogo

La prima finestra di dialogo che si vede chiede su cosa si vuole di proiezione:

  • Categoria: proiettata sistemi di coordinate
  • Gruppo: Mondo
  • Nome: Mercator (mondo)

Il secondo potrebbe non presentarsi, ma se lo fa è chiedere circa la proiezione corrente:

  • Categoria: di coordinate geografiche Sistemi
  • Gruppo: America del Nord
  • Nome: North American Datum 1983

Questo processo dovrebbe creare un nuovo shapefile chiamato statesp020_reprojected o qualcosa di simile.

A questo punto è necessario tradurre lo shpaefile per SVG utilizzando lo script di cui sopra. Non ho intenzione di perdere tempo con le istruzioni di scrittura su questo perché non ho provato prima, ma sono sicuro che si può capire!

Qui: http: //www.nws.noaa .gov / geodati / catalogo / nazionali / html / us_state.htm
è possibile scaricare un file shp con i dati. Il formato shape include un dbf con alcuni attributi, comprese le coordinate per ogni stato.

Inoltre, è possibile utilizzare shp2text per estrarre tutte le informazioni.

Modifica I dati nella mappa è in North American Datum del 1983 , ma è possibile utilizzare il foglio di calcolo e le formule qui convertire in Mercatore (UTM).

Hai guardato NIMA prodotti? http://egsc.usgs.gov/nimamaps/ e https://www1.nga.mil/ProductsServices/Pages/default.aspx hanno una varietà di mappe, formati, ecc e tutto pagato da noi contribuenti, tanto è a disposizione del pubblico. Buona prima tappa per le mappe.

Non ho mai fatto il tipo di lavoro che stai chiedendo, ma sembra a me come questi i dati del US Army Corps of Engineers saranno utili per voi:

http://crunch.tec.army.mil/software/corpscon /corpscon.html

visokio.com ha collezioni scaricabili di mappe vettoriali qui: http://www.visokio.com/maps la maggior parte di loro sostengono di latitudine decimale / longitudine.

tuttavia sembra che tutti sono in un formato propetiary visibile soltanto con il proprio software. un software di prova è disponibile, tho.

hth.

modifica : imbattersi in questi durante la navigazione in giro per Wikipedia:

Ecco una risposta StackOverflow con la matematica JS dalla lunga lat a Mercator

Converti latitudine / longitudine per X / Y Coordinate

scaricare una di quelle sopra elencate shapefile e poi usare OGR fare ogr2ogr per la conversione in formato CSV

ottenere OGR qui

http://www.gdal.org/ogr/index.html

Ecco il doc per OGR

http://www.gdal.org/ogr2ogr.html

Ecco il nome dei formati di output

http://www.gdal.org/ogr/ogr_formats.html

Data la tua reputazione So che si può gestire una volta che si arriva a CSV

Indieprojector dovrebbe essere in grado di generare i file necessari. E 'uno strumento online gratuito che riproietta qualsiasi shapefile ed esporta di nuovo per .svg. Hanno anche degli Stati Uniti inclusi online in modo che non sarà necessario fare confusione con lo shapefile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top