Где я могу найти координаты, необходимые для рисования США в проекции Меркатора?
Итак, я пишу библиотеку Javascript, которая принимает координаты x, y и использует их для рисования карты США. Для этого мне нужно найти данные координат, необходимые для рисования каждого состояния. Эта карта в Википедии - отличный пример того, что мне нужно, потому что файл SVG содержит фигуры, которые составляют каждое состояние, красиво помеченное: http://upload.wikimedia.org/wikipedia/commons/3/32/Blank_US_Map.svg
У меня также есть набор сайтов, которые мне нужно разместить на этой карте. Поскольку я знаю широту и долготу каждого сайта, я могу использовать это, чтобы нарисовать каждый сайт в соответствующем месте на карте. К сожалению, для этого для работы моей карты необходимо использовать проекцию Меркатора, чтобы можно было легко отображать координаты координат lat, long to x, y.
В карте Википедии, о которой я упоминал выше, используется другая проекция, поэтому я не могу использовать ее для этой цели. Кто-нибудь знает, где я могу найти этот тип данных карты в проекции Меркатора? Любой формат данных хорош, если я могу программно получить координаты, которые используются для рисования каждого состояния, и определить, какие фигуры состоят из каждого состояния.
Ответы
Ответ 1
Кевин МакКерли создал несколько карт United Государства, включая карту всех 50 состояний, в проекции Меркатора. Если вы посмотрите на источник этой последней ссылки, она состоит из пар (широты, долготы) для контуров состояний, которые затем преобразуются в пары (x, y) для отображения в формате svg. Его разрешенное использование
Не стесняйтесь использовать эти файлы в своем собственного удовольствия, но я был бы признателен получение кредита за создание их. Наслаждайтесь...
Я не знаю, достаточно ли это для вас.
Ответ 2
Это вопрос с ГИС и не будет легко решен, если вы не используете надлежащие инструменты.
-
Используйте QGIS, чтобы открыть US Данные файла Shapefile
РЕДАКТИРОВАТЬ. В случае, когда файлы shapefiles, с которыми я связан, не являются именно теми, которые вы искали, а затем Google для "шейп файлов США". Shapefiles на самом деле представляют собой группу геопространственных (а не только одного файла).
-
Перепроектируйте свой слой к указанной проекции
EDIT, это может быть проблемой, но на всякий случай, это не ogr (см. ниже) может быть перепрограммировано. EPSG получены из пространственной ссылки
- Используйте ogr2ogr (cheatsheet) или плагин конвертера для преобразования ваших данных в KML. Это будет выводить ваши данные в формате Google maps/earth/human readable, который будет иметь координаты в них.
РЕДАКТИРОВАТЬ 2
Что вы используете для отображения онлайн-карт? вы считали openlayers или API карт Google или 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>
Ответ 3
Новая карта с нуля
Легко создать карту из бесплатного shapefile, который представленный в довольно высоком разрешении USGS. На самом деле, какой-то парень уже создал shapefile- > svg translation script, который делает именно это для вас, но обратите внимание, что проект перенесен в GitHub.
К сожалению, шейп файл находится в проекции NAD83, поэтому перед запуском script он должен быть перепрограммирован в Mercator. Опять же, это уже решена проблема и очень распространенная вещь сделать в ГИС и только нужно сделать один раз. Для этого я собираюсь предложить MapWindow, потому что в этом тривиально.
Чтобы перепрофилировать шейп файлы в Mercator, вам необходимо загрузить и установить MapWindow. Когда вы запускаете программу, вы можете увидеть меню плагинов в главном окне, и вам нужно будет включить плагин GIS Tools. Затем вы нажимаете зеленый символ "плюс", чтобы добавить шейп файл в MapWindow, и он должен отображать США на экране.
Когда вы импортируете шейп файл в MapWindow, вы собираетесь его перепрограммировать. Для этого вы нажимаете на GIS Tools → Vector → Reproject Shapefile и открываете диалоговое окно.
В первом диалоговом окне вы спросите о том, какую проекцию вы хотите:
- Категория: Проецируемые системы координат
- Группа: Мир
- Имя: Меркатор (мир)
Второй может не отображаться, но если он спрашивает о текущей проекции:
- Категория: Географические системы координат
- Группа: Северная Америка
- Название: Североамериканское Datum 1983
Этот процесс должен создать новый шейп файл с именем statesp020_reprojected или что-то в этом роде.
Теперь вам нужно перевести shpaefile в SVG с помощью script выше. Я не собираюсь беспокоиться о написании инструкций, потому что раньше я этого не пробовал, но я уверен, что вы можете это понять!
Ответ 4
Здесь: http://www.nws.noaa.gov/geodata/catalog/national/html/us_state.htm
вы можете загрузить файл shp
с данными. Формат shape
включает dbf
с некоторыми атрибутами, включая координаты для каждого состояния.
Кроме того, вы можете использовать shp2text, чтобы извлечь всю информацию.
Edit:
Данные на карте представлены в Северной Америке Datum 1983 года, но вы можете использовать Таблицу и формулы здесь для преобразования в Mercator (UTM).
Ответ 5
Вы рассматривали продукты NIMA? http://egsc.usgs.gov/nimamaps/ и https://www1.nga.mil/ProductsServices/Pages/default.aspx У них есть разнообразие карт, форматов и т.д., и все, за которые платят наши налогоплательщики, так много доступно для общественности. Хорошая первая остановка для карт.
Ответ 6
Я никогда не занимался той работой, о которой вы просите, но мне кажется, что эти данные из Инженерного корпуса армии США будут вам полезны:
http://crunch.tec.army.mil/software/corpscon/corpscon.html
Ответ 7
visokio.com имеет загружаемые коллекции векторных карт здесь: http://www.visokio.com/maps
большинство из них поддерживают десятичные координаты широты/долготы.
однако, похоже, что все они находятся в проетитарном формате, видимом только с помощью собственного программного обеспечения. доступно пробное программное обеспечение, tho.
НТН.
изменить: встретите их при просмотре википедии:
Ответ 8
Indieprojector должен иметь возможность генерировать нужные вам файлы. Это бесплатный онлайн-инструмент, который перепрограммирует любой шейп файл и экспортирует его снова в .svg. У них даже есть штаты США, включенные в онлайн, поэтому вам не нужно будет возиться с Shapefile.
Ответ 9
Вот ответ stackoverflow с математикой JS от lat long to mercator
Преобразование Lat/Longs в координаты X/Y
загрузите один из этих шейп файлов, перечисленных выше, а затем используйте OGR для выполнения ogr2ogr для преобразования в CSV
получить OGR здесь
http://www.gdal.org/ogr/index.html
Вот документ для OGR
http://www.gdal.org/ogr2ogr.html
Вот имя выходных форматов
http://www.gdal.org/ogr/ogr_formats.html
Учитывая вашу репутацию, я знаю, что вы можете справиться с ней, как только получите ее в CSV