Где я могу найти координаты, необходимые для рисования США в проекции Меркатора?

поэтому я пишу библиотеку Javascript,которая принимает координаты x, y и использует их для рисования карты США. Для этого мне нужно найти координатные данные, необходимые для рисования каждого состояния. Эта карта в Википедии-отличный пример того, что мне нужно, потому что файл SVG содержит фигуры, которые составляют каждое состояние с красивой надписью:http://upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg

У меня тоже есть набор сайтов, которые нужно разместить на этой карте. Так как я знаю широту и долготу каждого участка, я могу использовать это, чтобы нарисовать каждый участок в соответствующем месте на карте. К сожалению,для этого моя карта должна использовать проекцию Меркатора, чтобы можно было легко отобразить координаты LAT,long to x, y pixel.

карта Википедии, о которой я упоминал выше, использует другую проекцию, поэтому я не могу использовать ее для этой цели. Кто-нибудь знает, где я могу найти этот тип картографических данных в проекции Меркатора? Любой формат данных хорошо, пока я могу программно получить координаты, которые используются для рисования каждого состояния и определить, какие формы составляют каждое состояние.

9 ответов


Кевин McCurley создал карты Соединенных Штатов, включая карту все 50 состояний, в проекции Меркатора. Если вы посмотрите на источник этой конечной ссылки, она состоит из пар (широта, долгота) для контуров состояний, которые затем преобразуются в пары (x, y) для отображения в формате svg. Его допустимое использование

Не стесняйтесь использовать эти файлы в собственное удовольствие, но я был бы признателен получение кредита за создание их. Наслаждаться...

Я не знаю, достаточно ли этого для вас.


это вопрос ГИС и не будет легко решен, если вы не используете соответствующие инструменты.

  • использовать в QGIS открыть данные Шейп-файла США

    редактировать в случае, если шейп-файлы, с которыми я связан, не совсем те, которые вы искали, то Google для "US shapefiles". Шейп-файлы на самом деле являются группой геопространственных (а не только один файл).

  • перепроектировать слой в указанная проекция

    редактировать это может быть хлопот, но на всякий случай, это не ogr (см. ниже) может перепроектировать. EPSG получены от пространственной привязки

  • использовать ogr2ogr (cheatsheet) или плагин конвертера для преобразования ваших данных в KML. Это выведет ваши данные в формате Google maps/earth/human readable, который будет иметь координаты в них

изменить 2 Что вы используете для отображения онлайн-карт? вы подумали openlayers или Google maps API или mapserver

правка 3 Я тестировал свой метод на некоторых данных, которые у меня есть, и он работает, вот пример вывода для одного полигона, используя слой" состояние и эквивалент (текущий)":

<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>

новая карта с нуля

легко создать карту из свободного шейп - что это при условии в довольно высоком разрешении USGS. На самом деле, какой-то парень уже создал шейп-файл - > SVG Translation script что делает это для вас, но обратите внимание, что проект перенесен в GitHub.

к сожалению шейп в проекция nad83 в поэтому ему нужно быть перепроектированным в Mercator перед запуском сценария. Опять же, это уже проблема и очень распространенная вещь, чтобы сделать в ГИС и только нужно сделать один раз. Для этого я собираюсь предложить MapWindow потому что это тривиально, чтобы сделать это.

для перепроектирования шейп-файлов в Mercator необходимо скачать и установить MapWindow. При запуске программы вы можете увидеть Плагины меню в главном окне, и вы нужно будет включить ГИС плагин. Затем вы нажимаете зеленый символ "плюс", чтобы добавить шейп-файл в MapWindow, и он должен отображать США на экране.

когда вы импортировали шейп-файл в MapWindow, вы собираетесь его перепроектировать. Для этого вы нажимаете на ГИС ->вектор ->Перепроецирование Шейп и он должен открыть диалоговое окно.

первый диалог, который вы видите, спрашивает о какую проекцию вы хотите:

  • категория: Системы Координат Проекции
  • группа: мир
  • название: Меркатора (мир)

второй может не отображаться, но если это так, он спрашивает о текущей проекции:

  • категория: Географические Системы Координат
  • группа: Север Америка!--44-->
  • название: Североамериканские Данные 1983

этот процесс должен создать новый шейп-файл с именем statesp020_reprojected или что-то в этом роде.

вам нужно перевести файл shpaefile в SVG используя указанный выше сценарий. Я не собираюсь утруждать себя написанием инструкций на этом, потому что я не пробовал это раньше, но я уверен, что вы можете понять это!


здесь:http://www.nws.noaa.gov/geodata/catalog/national/html/us_state.htm
вы можете скачать shp файл с данными. The включает в себя dbf С некоторыми атрибутами, включая координаты для каждого государства.

кроме того, вы можете использовать shp2text для извлечения всей информации.

Edit: Данные на карте находятся в североамериканские данные 1983, но вы можете использовать таблица и формулы здесь преобразовать в Меркатор (UTM).


вы смотрели на продукты NIMA? http://egsc.usgs.gov/nimamaps/ и https://www1.nga.mil/ProductsServices/Pages/default.aspx они имеют различные карты, форматы и т.д. и все оплачено американскими налогоплательщиками, так много доступно общественности. Хорошая первая остановка для карт.


Я никогда не делал ту работу, о которой вы спрашиваете, но мне кажется, что эти данные из Инженерного корпуса армии США будут полезны для вас:

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


visokio.com имеет загружаемые коллекции векторных карт здесь:http://www.visokio.com/maps большинство из них поддерживают десятичные координаты широты/долготы.

однако похоже, что все они находятся в формате propetiary, видимом только с их собственным программным обеспечением. пробное программное обеспечение доступно, tho.

hth.

редактировать: попадаются эти при просмотре вокруг Википедия:


вот ответ stackoverflow с математикой JS от lat long до mercator

преобразовать Lat / Longs в X / Y координаты

загрузите один из этих шейп-файлов, перечисленных выше, а затем используйте OGR для преобразования ogr2ogr в CSV

получить OGR здесь

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

вот документ для Огр!--1-->

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

вот название выходных форматов

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

учитывая вашу репутацию, я знаю, что вы можете справиться с этим, как только вы получите его в CSV


Indieprojector должен быть в состоянии генерировать файлы, которые вам нужны. Это бесплатный онлайн инструмент, который reprojects любой шейп и экспортирует его снова .формат SVG. У них даже есть штаты США, включенные онлайн, поэтому вам не нужно будет возиться с Шейп-файлом.