2015-01-29 2 views
0

У меня есть пользовательский файл .geo.json, который я создал из шейп-файла графства, используя ogr2ogr. Я хотел бы вручную добавить значения для каждого округа, и я изучил this jsfiddle, но я не совсем уверен, как свести их вместе. Я особенно заинтересован в следующей строке кода из jsfiddle:Получение пользовательского файла GeoJSON для работы в HighMaps

$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=germany.geo.json&callback=?', function (geojson) { 

Это где следует сосредоточить свои усилия?

Мой пользовательский файл .geojson находится here.

+0

Я до сих пор не получает карту, чтобы показать с данными ... Я преобразовал шейп в GeoJSON используя QGIS, и я считаю, что у меня правильная кодировка. (http://jsfiddle.net/axp09171/dL7nt16t/) Может ли кто-нибудь мне помочь? –

+0

Вот руководство, которое показывает, как вы можете экспортировать данные .geojson из QGis, который работает с Highmaps: [Создание пользовательских карт Geojson для Highmaps с QGis] (http://www.independent-software.com/creating-custom-geojson-maps -для-highmaps-с-QGIS /) –

ответ

1

Самый простой способ добавления свойств - когда вы все еще имеете шейп-файл, чтобы импортировать его в QGIS (http://www.qgis.org/en/site/), отредактируйте таблицу атрибутов с помощью свойств/атрибутов. Там вы можете добавлять/удалять столбцы и изменять значения и т. Д. Когда вы будете готовы, просто сохраните этот слой как GeoJSON.

Если вы хотите сделать это сложным способом, вы также можете открыть файл GeoJSON в своем любимом текстовом редакторе и отредактировать структуру JSON. Обычно featurecollection будет выглядеть примерно так:

{ 
    "type": "FeatureCollection", 
    "features": [{ 
    "type": "Feature", 
    "properties": { 
     "name": "My Point" 
    }, 
    "geometry": { 
     "type": "Point", 
     "coordinates": [-45, -45] 
    } 
    },{ 
    "type": "Feature", 
    "properties": { 
     "name": "My LineString" 
    }, 
    "geometry": { 
     "type": "LineString", 
     "coordinates": [ 
     [45, -45], 
     [45,45] 
     ] 
    } 
    } 
} 

В там вы видите две особенности, точку и функцию LINESTRING. Функции содержат объект свойств, там вы можете добавить нужные свойства. Так, например, изменения:

"properties": { 
    "name": "My Point" 
}, 

To:

"properties": { 
    "name": "My Point", 
    "description": "Awesome feature", 
    "number": 1, 
    "array":, ["a", "b"] 
}, 

Затем сохраните файл, когда вы закончите, и если вы не уверены, вы можете даже проверить всю коллекцию или одиночные функции, используя нечто вроде GeoJSON ворс: http://geojsonlint.com/

по этой линии вы были заинтересованы в это метод из jQuery называется $.getJSON, который загружает файл в формате JSON в текущий сценарий из локального или внешнего расположения. Чтобы использовать его, дайте ему два параметра. Первым является URL-адрес для загрузки данных от //example.org/data.geo.json или /my/local/folder/data.geo.json, а второй - функция, которая выполняется после загрузки данных, поэтому вы можете обрабатывать свои данные, назначать их чему-то или тому. Например:

$.getJSON('//example.org/data.geo.json', function (data) { 
    // here 'data' contains the geojson object for you to use 
}); 

Более подробную информацию о методе getJSON можно найти здесь: http://api.jquery.com/jquery.getjson/