У меня есть пользовательский файл JSON, который клиент экспортировал из ESRI.Я все еще относительно новичок в работе с картографическими функциями D3, и у меня возникли проблемы с выяснением того, как привести эту карту в соответствие с моей базовой картой.Для базы я использую файл US.json в следующем формате:
{"type":"FeatureCollection","features":[
{"type":"Feature",
"id":"09",
"properties": {
"name":"Connecticut"
},
"geometry":{
"type":"Polygon",
"coordinates": [[[-73.053528,42.039048],[-71.799309,42.022617]...
Пользовательские данные, которые мне дали, отформатированы по-разному, и я не совсем уверен, как с этим обращаться.Вот как это выглядит:
{"displayFieldName":"","fieldAliases":{"FID":"FID","WSA9":"WSA9","WSA9_NAME":"WSA9_NAME"},"geometryType":"esriGeometryPolygon","spatialReference":{"wkt":"PROJCS[\"Albers\"GEOGCS[\"GCS_North_American_1983\",DATUM[\"D_North_American_1983\",SPHEROID[\"GRS_1980\",6378137.0,298.257222101]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Albers\"],PARAMETER[\"false_easting\",0.0],PARAMETER[\"false_northing\",0.0],PARAMETER[\"central_meridian\",-96.0],PARAMETER[\"standard_parallel_1\",29.5],PARAMETER[\"standard_parallel_2\",45.5],PARAMETER[\"latitude_of_origin\",23.0],UNIT[\"Meter\",1.0]]"},"fields":[{"name":"FID","type":"esriFieldTypeOID","alias":"FID"},{"name":"WSA9","type":"esriFieldTypeString","alias":"WSA9","length":80},{"name":"WSA9_NAME","type":"esriFieldTypeString","alias":"WSA9_NAME","length":80}],"features":[{"attributes":{"FID":0,"WSA9":"NAP","WSA9_NAME":"Northern Appalachians"},"geometry":{"rings":[[[1664894.6557,2097277.5137],[1665737.7609000001,2097197.3818000001]...
Я вижу, что в файле есть объекты и свойства геометрии, поэтому я подумал, что должен работать с данными, однако заметил, что вики D3Не включайте тип геометрии «кольца» в список объектов геометрии.Могу ли я использовать эти данные?Если так, как бы я поступил так?Я попытался переформатировать данные в ту же структуру, что и приведенные выше данные us.json, используя следующий блок, чтобы попытаться отобразить их, но безуспешно:
var projection = d3.geoMercator(),
path = d3.geoPath().projection(projection);
d3.json("data/NAP_Ecoregion_Merc.json")
.then(function (data) {
var region = map.append("g")
.selectAll("path")
.data(data.features)
}
Мысли?Любая помощь с благодарностью!