Не совсем ответ, но больше, чем комментарий ..
Итак, я гуглил просто " 0x3fffffe7 " и нашел этот комментарий на случайном Github /Проект NodeJS, и, основываясь на его чтении, я чувствую, что содержимое узла и / или материал D3, который вы используете, сокращает весь ваш шейп-файл уровня ZCTA до… одной строки, хранящейся в памяти !!Это нехорошо для карты масштаба континента с такими детальными деталями.
Более того, человек, оставивший этот комментарий, предположил, что OP в этом случае потребуется другой подход, чтобы представить свой набор данных клиенту.(Какой, я полагаю, браузер?) В вашем случае, может ли он работать, если вы запрашиваете коллекцию zip каждого состояния в одном шейп-файле (ogr2ogr может сделать это, используя OGR-SQL ), что даст вам5 разных шейп-файлов.Затем для каждого из них, запустите их через ваши преобразования, чтобы получить json / geoalbers.Чтобы проверить эту концепцию, попробуйте экспортировать только одно состояние и посмотреть, все ли работает как положено.
При этом я обеспокоен тем, что ваш подход к этому проекту имеет неосуществимый интерфейс / архитектурное ожидание: я просто не надеваюНе думаю, что вы можете поместить столько геоданных в браузер DIV!Насколько большой DIV, полный экран, я надеюсь?!?
Мой совет - подумать о другом способе представления данных.Например, inset-DIV, чтобы «выбрать ваше состояние», затем щелкнув по нему, увеличивает основной DIV для просмотра этого состояния в более широком масштабе и одновременно опускает и оценивает данные уровня ZCTA, относящиеся к этому состоянию, используя 50 файлов, которые вы предварительно подготовили, используяСтратегия, которую я упомянул выше.Имеет ли это смысл?
Вот краткий пример того, как я ожидаю, что вы можете применить OGR_SQL к вашему сценарию, адаптируясь под него:
ogr2ogr idaho_zcta.shp USA_zcta.shp -sql "SELECT * FROM USA_zcta WHERE STATE_NAME = 'ID'"
Параметры следующим образом:
- idaho_zcta.shp <это ваш новый файл </li>
- USA_zcta.shp <это ваш исходный шейп-файл </li>
- -sql <это сигнализирует выражение запроса OGR_SQL </li>
Что касается самого запроса, пара советов.Сначала оберните всю строку запроса в двойные кавычки.Если происходит что-то странное, попробуйте добавить начальные и конечные пробелы в начало и конец запроса, например ..
" SELECT ... 'ID' "
Странно, я знаю, но однажды у меня была ситуация, когдаэто работало только таким образом.
Во-вторых, относительно запроса имя таблицы совпадает с именем шейп-файла, только без расширения файла ".shp".Я не могу вспомнить, есть ли чувствительность к регистру между именем шейп-файла и именем таблицы строки запроса.Если вы столкнетесь с проблемой, дайте шейп-файлу и всем строчным именам, а также используйте строчные буквы в SQL.
Что касается преобразования проекций - вы сами там.То, что geoAlbersUSA выглядит так, как будто оно не является отраслевым стандартом (то есть кодировкой EPSG) и специфично для D3 и предназначено исключительно для браузера.Так что ogr2ogr не справится с этим.Но я согласен со стратегией преобразования данных заранее.Надеемся, что конверсионный конвейер, который вы уже исследовали, сработает, если у вас есть только гораздо меньшие (то есть масштабные) наборы данных для его прохождения.
Удачи.