@dra2020/district-analytics 1.0.9 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -11,7 +11,6 @@ let sr = {} as DA.SessionRequest;
11
11
  sr['title'] = "NC 2016 Contingent Corrected Map";
12
12
  sr['stateXX'] = "NC";
13
13
  sr['nDistricts'] = 13;
14
- sr['legislativeDistricts'] = false;
15
14
  sr['data'] = data as T.GeoFeatureCollection;
16
15
  sr['counties'] = counties as T.GeoFeatureCollection;
17
16
  sr['graph'] = graph as T.ContiguityGraph;
@@ -19,14 +18,15 @@ sr['plan'] = planByGeoID as DA.PlanByGeoID;
19
18
  sr['districtShapes'] = districtShapes as T.GeoFeatureCollection;
20
19
  sr['config'] = config as T.Dict;
21
20
 
21
+ let text: any;
22
+ let score: DA.GradedTest | DA.PassFailTest;
22
23
  let s = new DA.AnalyticsSession(sr);
23
24
 
24
- let bLog = false;
25
25
  s.analyzePlan();
26
+ text = s.prepareScorecard();
27
+ text = s.prepareTestLog();
26
28
 
27
- let pa: DA.PlanAnalytics = s.getPlanAnalytics(bLog);
28
- let ds: DA.DistrictStatistics = s.getDistrictStatistics(bLog);
29
-
29
+ s.getTest(DA.Tests.Contiguous)
30
30
  ```
31
31
 
32
32
  ## License
package/dist/_api.d.ts ADDED
@@ -0,0 +1,27 @@
1
+ import { Scorecard } from './report';
2
+ import * as D from './_data';
3
+ import * as T from './types';
4
+ export declare class AnalyticsSession {
5
+ title: string;
6
+ legislativeDistricts: boolean;
7
+ config: T.Dict;
8
+ bOneTimeProcessingDone: boolean;
9
+ bPlanAnalyzed: boolean;
10
+ bPostProcessingDone: boolean;
11
+ testScales: T.TestScales;
12
+ tests: T.TestEntries;
13
+ scorecard: Scorecard;
14
+ state: D.State;
15
+ counties: D.Counties;
16
+ graph: D.Graph;
17
+ features: D.Features;
18
+ plan: D.Plan;
19
+ districts: D.Districts;
20
+ constructor(SessionRequest: T.SessionRequest);
21
+ processConfig(config: T.Dict): T.Dict;
22
+ analyzePlan(bLog?: boolean): boolean;
23
+ getTest(testID: T.Test): T.TestEntry;
24
+ prepareScorecard(): any;
25
+ prepareTestLog(): any;
26
+ populationDeviationThreshold(): number;
27
+ }
@@ -0,0 +1,130 @@
1
+ import * as T from './types';
2
+ import { AnalyticsSession } from './_api';
3
+ export declare enum DistrictField {
4
+ TotalPop = 0,
5
+ PopDevPct = 1,
6
+ bEqualPop = 2,
7
+ bNotEmpty = 3,
8
+ bContiguous = 4,
9
+ bNotEmbedded = 5,
10
+ CountySplits = 6,
11
+ DemVotes = 7,
12
+ RepVotes = 8,
13
+ TwoPartyVote = 9,
14
+ DemPct = 10,
15
+ RepPct = 11,
16
+ DemSeat = 12,
17
+ TotalVAP = 13,
18
+ MinorityPop = 14,
19
+ WhitePop = 15,
20
+ BlackPop = 16,
21
+ HispanicPop = 17,
22
+ PacificPop = 18,
23
+ AsianPop = 19,
24
+ NativePop = 20,
25
+ WhitePct = 21,
26
+ MinorityPct = 22,
27
+ BlackPct = 23,
28
+ HispanicPct = 24,
29
+ PacificPct = 25,
30
+ AsianPct = 26,
31
+ NativePct = 27
32
+ }
33
+ export declare const DisplayFields: DistrictField[];
34
+ export declare class Districts {
35
+ _session: AnalyticsSession;
36
+ _shapes: T.GeoFeatureCollection;
37
+ _geoProperties: T.DistrictProperties;
38
+ statistics: any[][];
39
+ constructor(s: AnalyticsSession, ds: T.GeoFeatureCollection);
40
+ getShape(i: number): T.GeoFeature;
41
+ getGeoProperties(i: number): any;
42
+ setGeoProperties(i: number, p: T.DistrictShapeProperties): void;
43
+ numberOfColumns(): number;
44
+ numberOfRows(): number;
45
+ numberOfWorkingDistricts(): number;
46
+ initStatistics(): any[][];
47
+ recalcStatistics(bLog?: boolean): void;
48
+ extractDistrictShapeProperties(bLog?: boolean): void;
49
+ getCountyIndex(geoID: string): number;
50
+ }
51
+ export declare const enum Dataset {
52
+ CENSUS = "CENSUS",
53
+ VAP = "VAP",
54
+ ELECTION = "ELECTION"
55
+ }
56
+ export declare type DatasetKeys = {
57
+ CENSUS: string;
58
+ VAP: string;
59
+ ELECTION: string;
60
+ };
61
+ export declare const DatasetDescriptions: any;
62
+ export declare const enum FeatureField {
63
+ TotalPop = "Tot",
64
+ WhitePop = "Wh",
65
+ BlackPop = "BlC",
66
+ HispanicPop = "His",
67
+ AsianPop = "AsnC",
68
+ PacificPop = "PacC",
69
+ NativePop = "NatC",
70
+ DemVotes = "D",
71
+ RepVotes = "R",
72
+ TotalVotes = "Tot"
73
+ }
74
+ export declare class Features {
75
+ _session: AnalyticsSession;
76
+ _data: T.GeoFeatureCollection;
77
+ _keys: DatasetKeys;
78
+ _featureIDs: T.FeaturesByGeoID;
79
+ constructor(s: AnalyticsSession, data: T.GeoFeatureCollection, keys: DatasetKeys);
80
+ nFeatures(): number;
81
+ featureByIndex(i: number): T.GeoFeature;
82
+ geoIDForFeature(f: any): string;
83
+ fieldForFeature(f: any, dt: Dataset, fk: string): any;
84
+ resetDataset(d: Dataset, k: string): void;
85
+ mapGeoIDsToFeatureIDs(): void;
86
+ featureID(i: string): number;
87
+ }
88
+ export declare class Counties {
89
+ _session: AnalyticsSession;
90
+ _data: T.GeoFeatureCollection;
91
+ _countyNameLookup: T.FIPSCodeToCountyNameMap;
92
+ nCounties: number;
93
+ index: T.FIPSToOrdinalMap;
94
+ constructor(s: AnalyticsSession, data: T.GeoFeatureCollection);
95
+ countyByIndex(i: number): T.GeoFeature;
96
+ propertyForCounty(f: any, pk: string): any;
97
+ mapFIPSToName(fips: string, name: string): void;
98
+ nameFromFIPS(fips: string): string;
99
+ indexFromFIPS(fips: string): number;
100
+ }
101
+ export declare class State {
102
+ _session: AnalyticsSession;
103
+ xx: string;
104
+ nDistricts: number;
105
+ totalPop: number;
106
+ tooBigFIPS: string[];
107
+ tooBigName: string[];
108
+ expectedSplits: number;
109
+ expectedAffected: number;
110
+ constructor(s: AnalyticsSession, xx: string, n: number);
111
+ }
112
+ export declare class Plan {
113
+ _session: AnalyticsSession;
114
+ _planByGeoID: T.PlanByGeoID;
115
+ _planByDistrictID: T.PlanByDistrictID;
116
+ districtIDs: number[];
117
+ constructor(s: AnalyticsSession, p: T.PlanByGeoID);
118
+ invertPlan(): void;
119
+ initializeDistrict(i: number): void;
120
+ byGeoID(): T.PlanByGeoID;
121
+ byDistrictID(): T.PlanByDistrictID;
122
+ districtForGeoID(i: string): number;
123
+ geoIDsForDistrictID(i: number): Set<string>;
124
+ }
125
+ export declare class Graph {
126
+ _session: AnalyticsSession;
127
+ _graph: T.ContiguityGraph;
128
+ constructor(s: AnalyticsSession, graph: T.ContiguityGraph);
129
+ peerNeighbors(node: string): string[];
130
+ }
@@ -0,0 +1,4 @@
1
+ import { AnalyticsSession } from './_api';
2
+ export declare function doAnalyzeDistricts(s: AnalyticsSession, bLog?: boolean): void;
3
+ export declare function doAnalyzePlan(s: AnalyticsSession, bLog?: boolean): void;
4
+ export declare function doDeriveSecondaryTests(s: AnalyticsSession): void;