저는 미국 국가, 카운티 및 의회 지역을 포함하는 통합 레이어 데이터로 TopoJson 파일을 만들려고했습니다.클라이언트 측 topojson이 겉으로는 잘못된 경로를 렌더링합니다.
원본 .shp 모양 파일은 인구 조사국 Cartographic Boundary Files에서 왔습니다.
이들은 ogr2ogr을 통해 GeoJson으로 변환되었습니다.
그런 다음 1e7의 양자화 및 0.15의 보유 비율로 노드 서버 측 라이브러리를 통해 TopoJson 형식으로 결합됩니다. 지금까지 문제의 징후는 없습니다.
나는 mapshaper를 사용하여 최종 topojson 파일을 볼 사물이 보이는 것 같다 OK : topojson 클라이언트 라이브러리 및 D3.geo.path()을 렌더링 할 때하지만, 좀 이상한 경로에서 발생 congressionalDist 층 : (HI 미국 대륙, AK 주위에 큰 직사각형 경로를 알 등) 페이지의 작업 버전은 여기에서 찾을 수 있습니다
: http://jsl6906.net/D3/topojson_problem/map/
관련 노트의 몇 :
내가 단순화를 제거하기 위해 내 topojson 생성 스크립트를 변경하는 경우- , 경로는 다음 topojson를 만들 때 나는 단지 congressionalDist 층을 유지하는 경우 같은 d3.js 페이지
- 를 통해 제대로 보여줄 것 같다 경로는 다음에 보인다 같은 d3.js 페이지를 통해 제대로 보여
내가 처리 할 수 있었던만큼 문제 해결을 시도 후, 나는 누군가가 유사한 경험을 한 경우 내가 보려면 여기를 사람을 물어 보곤 생각 문제. 어떤 도움을 주셔서 감사합니다.
이것은 http://stackoverflow.com/questions/23953366/d3-large-geojson-file-does-not-show-draw-map-properly-using-에서 언급 된 문제와 관련이있는 것으로 보입니다. 프로젝션/24055015 # 24055015. 거기서 경계의 계산은 큰 직사각형들로 또한 나타나는 몇몇 지역들에서 잘못되었다. 예제에서, 예를 들어,'d3.geo.bounds (cds [84])'는'[[-180, -90], [180, 90]]이되어 잘못된 것 같습니다. 나는 이것이 왜 일어나는 지 모른다. –
아직 무엇이 문제인지 모르겠지만 흥미로운 점은 문제가되는 직사각형에 바인딩 된 데이터의 id 속성이'ZZ'로 끝나는 반면 다른 모든 개체는 두 개의 숫자로 끝나는 ID를가집니다. 이드의 책임은 09ZZ, 17ZZ 및 26ZZ입니다. 예를 들어, 다음을 시도하십시오 :'d3.selectAll (d3.selectAll ('.cd') [0] .filter (function d) {return d3.select (d) .attr ('id'). slice (- 2) === 'ZZ'})). style ('stroke', 'red')'그러면 사각형 만 빨간색으로 표시됩니다. – jshanley
'ZZ'는 "정의되지 않은"국회 지구에 주어진 코드입니다. 정확히 무슨 뜻인지는 모르겠지만 CD113FP 열 아래의 [이 데이터 세트] (http://www.census.gov/geo/reference/codes/files/national_cd113.txt)에서 볼 수 있습니다. NAMELSAD 열에는 "국회 정의되지 않은 지역"이 포함되어있다. 또한 [**이 파일 **] (https://github.com/mbostock/us-atlas/blob/bf502099b48e54116c88f277e6d800836ecbc210/Makefile#L276-L279)에서 ogr2ogr을 실행할 때 해당 지구를 삭제하는 것에 대한 참조가 있습니다. ['us-atlas'] (https://github.com/mbostock/us-atlas) – jshanley