Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import { geoPath, geoConicConformal, geoAzimuthalEqualArea, GeoPath, } from "d3-geo" import { geoRobinson, geoPatterson } from "d3-geo-projection" // https://github.com/d3/d3-geo-projection/issues/202 // todo: would be nice to get propert types for this and not have to run different code during testing const projectionToUseDuringJestTesting = geoConicConformal() export enum MapProjectionName { World = "World", Africa = "Africa", NorthAmerica = "NorthAmerica", SouthAmerica = "SouthAmerica", Asia = "Asia", Europe = "Europe", Oceania = "Oceania", } export const MapProjectionLabels: Record<MapProjectionName, string> = { World: "World", Africa: "Africa", NorthAmerica: "North America", SouthAmerica: "South America", Asia: "Asia", Europe: "Europe", Oceania: "Oceania", } export const MapProjectionGeos: { [key in MapProjectionName]: GeoPath } = { World: geoPath().projection( typeof geoRobinson === "undefined" ? projectionToUseDuringJestTesting : geoRobinson() ), Africa: geoPath().projection( geoConicConformal().rotate([-25, 0]).center([0, 0]).parallels([30, -20]) ), NorthAmerica: geoPath().projection( geoConicConformal() .rotate([98, 0]) .center([0, 38]) .parallels([29.5, 45.5]) ), SouthAmerica: geoPath().projection( geoConicConformal() .rotate([68, 0]) .center([0, -14]) .parallels([10, -30]) ), // From http://bl.ocks.org/dhoboy/ff8448ace9d5d567390a Asia: geoPath().projection( (typeof geoPatterson === "undefined" ? projectionToUseDuringJestTesting : geoPatterson() ) .center([58, 54]) .scale(150) .translate([0, 0]) .precision(0.1) ), // From http://bl.ocks.org/espinielli/10587361 Europe: geoPath().projection( geoAzimuthalEqualArea() .scale(200) .translate([262, 1187]) .clipAngle(180 - 1e-3) .precision(1) ), Oceania: geoPath().projection( geoConicConformal() .rotate([-135, 0]) .center([0, -20]) .parallels([-10, -30]) ), } as const |