Я пытался создать файл TopoJson с данными консолидированного слоя, содержащими, среди прочего, штаты США, округа и избирательные округа.
Оригинальные шейп-файлы .shp взяты из картографических файлов границ Бюро переписи населения. а>.
Они были преобразованы в GeoJson через ogr2ogr.
Затем объединены в формат TopoJson через серверную библиотеку узла с квантованием 1e7 и коэффициентом сохранения 0,15. До этого момента нет никаких признаков какой-либо проблемы.
Я просматриваю окончательный файл topojson с помощью mapshaper, и все выглядит нормально:
Но при попытке рендеринга с клиентской библиотекой topojson и D3.geo.path() я столкнулся с некоторыми странными путями в слое congressionalDist: (обратите внимание на большие прямоугольные пути вокруг континентальной части США, AK и HI)
Рабочую версию страницы можно найти здесь: http://jsl6906.net/D3/topojson_problem/map/
Пара соответствующих замечаний:
- Если я изменю свой скрипт генерации topojson, чтобы удалить упрощение, пути, похоже, правильно отображаются на той же странице d3.js.
- Если я сохраняю только слой congressionalDist при создании topojson, пути, похоже, правильно отображаются на той же странице d3.js:
После стольких попыток устранения неполадок, с которыми я был в состоянии справиться, я решил попросить кого-нибудь здесь узнать, сталкивался ли кто-нибудь с подобными проблемами. Спасибо за любую помощь.
d3.geo.bounds(cds[84])
приводит к «[[-180, -90], [180, 90]]», что кажется неверным. Хотя я не знаю, почему это происходит. - person Jan van der Laan   schedule 02.07.2014id
данных, привязанных к оскорбительным прямоугольникам, заканчивается наZZ
, тогда как идентификаторы всех других объектов заканчиваются двумя числами. Ответственные идентификаторы: 09ZZ, 17ZZ и 26ZZ. Например, попробуйте следующее:d3.selectAll(d3.selectAll('.cd')[0].filter(function(d) { return d3.select(d).attr('id').slice(-2) === 'ZZ' })).style('stroke', 'red')
и вы заметите, что только эти прямоугольники окрашены в красный цвет. - person jshanley   schedule 02.08.2014ZZ
- это код, присвоенный неопределенным избирательным округам. Я не совсем уверен, что это означает, но вы можете увидеть, как это происходит в этот набор данных в столбце CD113FP, если столбец NAMELSAD содержит неопределенные избирательные округа. Также есть ссылка на удаление таких районов при запуске ogr2ogr в < b>этот файл, который является частьюus-atlas
- person jshanley   schedule 02.08.2014