ГИС проектный совет - PullRequest
       39

ГИС проектный совет

2 голосов
/ 18 ноября 2010

Hello:
У меня есть следующее:
1. Шейп-файл мира с границами каждой страны
- Успешно импортированный шейп-файл в базу данных PostGIS
- Может отображать карту мира в браузере через Openlayers.

2 Файл данных (CSV), в котором каждая запись имеет
а. страна рождения,
б. пола,
с. lat и long страны рождения (которая соответствует lat & long в шейп-файле)

Я пытаюсь найти лучший подход к отображению карты, на которой в каждой стране (на основе данных CSV) 100 или более человек с цветом, скажем красным или зеленым ....

Итак, мой вопрос:
Если я создаю отдельную таблицу с данными CSV, есть ли способ связать эту таблицу с таблицей шейп-файлов, чтобы выполнить вышеуказанное?

OR

Нужно ли объединять данные CSV в таблицу шейп-файлов, чтобы выполнить вышеуказанное

Я использую PostGIS, mapserver и Openlayers

Спасибо
Chris

Ответы [ 3 ]

1 голос
/ 21 ноября 2010

Я бы импортировал данные из CSV-файла в ту же базу данных PostGIS, а затем создал бы представление для двух таблиц, в которых было бы название страны и количество людей (рассчитанных по данным в CSV-файле).создайте WMS в Mapserver из этого представления с SLD, где я указываю, какой цвет получает каждая страна в зависимости от количества людей.

0 голосов
/ 01 декабря 2010

@ chris. Файл .dbf должен содержать негеографические данные, такие как данные о стране рождения и поле.

Другим хорошим примером является шейп-файл из Бюро переписей США.Обычно файл dbf будет содержать данные переписи / демографические данные;но не географические данные.

0 голосов
/ 18 ноября 2010

Вы можете импортировать Sharefile в геосервер, и геосервер предоставит WMS-ресурс, который OpenLayers может читать.

Я не слишком уверен в том, как интегрировать данные CSV, поскольку это было давно.Возможно, вы можете просто заставить каждую страну иметь свой собственный идентификатор DOM и просто изменить CSS с другим цветом фона после рендеринга карты с использованием javascript.

...