@mailwoman/tiger 1.0.0

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.
Files changed (103) hide show
  1. package/README.md +3 -0
  2. package/block-group.ts +151 -0
  3. package/class-code.ts +1026 -0
  4. package/constants.ts +252 -0
  5. package/county-subdivision.ts +154 -0
  6. package/county.ts +135 -0
  7. package/files.ts +251 -0
  8. package/functional-status.ts +64 -0
  9. package/geoid.ts +678 -0
  10. package/index.ts +18 -0
  11. package/legal-statistical-area.ts +222 -0
  12. package/out/block-group.d.ts +135 -0
  13. package/out/block-group.d.ts.map +1 -0
  14. package/out/block-group.js +7 -0
  15. package/out/block-group.js.map +1 -0
  16. package/out/class-code.d.ts +863 -0
  17. package/out/class-code.d.ts.map +1 -0
  18. package/out/class-code.js +864 -0
  19. package/out/class-code.js.map +1 -0
  20. package/out/constants.d.ts +220 -0
  21. package/out/constants.d.ts.map +1 -0
  22. package/out/constants.js +98 -0
  23. package/out/constants.js.map +1 -0
  24. package/out/county-subdivision.d.ts +139 -0
  25. package/out/county-subdivision.d.ts.map +1 -0
  26. package/out/county-subdivision.js +7 -0
  27. package/out/county-subdivision.js.map +1 -0
  28. package/out/county.d.ts +120 -0
  29. package/out/county.d.ts.map +1 -0
  30. package/out/county.js +9 -0
  31. package/out/county.js.map +1 -0
  32. package/out/files.d.ts +118 -0
  33. package/out/files.d.ts.map +1 -0
  34. package/out/files.js +142 -0
  35. package/out/files.js.map +1 -0
  36. package/out/functional-status.d.ts +64 -0
  37. package/out/functional-status.d.ts.map +1 -0
  38. package/out/functional-status.js +65 -0
  39. package/out/functional-status.js.map +1 -0
  40. package/out/geoid.d.ts +438 -0
  41. package/out/geoid.d.ts.map +1 -0
  42. package/out/geoid.js +255 -0
  43. package/out/geoid.js.map +1 -0
  44. package/out/index.d.ts +18 -0
  45. package/out/index.d.ts.map +1 -0
  46. package/out/index.js +18 -0
  47. package/out/index.js.map +1 -0
  48. package/out/legal-statistical-area.d.ts +222 -0
  49. package/out/legal-statistical-area.d.ts.map +1 -0
  50. package/out/legal-statistical-area.js +223 -0
  51. package/out/legal-statistical-area.js.map +1 -0
  52. package/out/sdk/fetch.d.ts.map +1 -0
  53. package/out/sdk/fetch.js.map +1 -0
  54. package/out/sdk/index.d.ts +7 -0
  55. package/out/sdk/index.d.ts.map +1 -0
  56. package/out/sdk/index.js +7 -0
  57. package/out/sdk/index.js.map +1 -0
  58. package/out/sdk/redistricting.d.ts.map +1 -0
  59. package/out/sdk/redistricting.js.map +1 -0
  60. package/out/sdk/schema.d.ts.map +1 -0
  61. package/out/sdk/schema.js.map +1 -0
  62. package/out/sdk/state/TIGERTabulatedBlockEntity.d.ts +13 -0
  63. package/out/sdk/state/TIGERTabulatedBlockEntity.d.ts.map +1 -0
  64. package/out/sdk/state/TIGERTabulatedBlockEntity.js +22 -0
  65. package/out/sdk/state/TIGERTabulatedBlockEntity.js.map +1 -0
  66. package/out/sdk/state/TIGERTractEntity.d.ts +31 -0
  67. package/out/sdk/state/TIGERTractEntity.d.ts.map +1 -0
  68. package/out/sdk/state/TIGERTractEntity.js +7 -0
  69. package/out/sdk/state/TIGERTractEntity.js.map +1 -0
  70. package/out/sdk/state/block-operations.d.ts +36 -0
  71. package/out/sdk/state/block-operations.d.ts.map +1 -0
  72. package/out/sdk/state/block-operations.js +37 -0
  73. package/out/sdk/state/block-operations.js.map +1 -0
  74. package/out/sdk/state/index.d.ts +9 -0
  75. package/out/sdk/state/index.d.ts.map +1 -0
  76. package/out/sdk/state/index.js +9 -0
  77. package/out/sdk/state/index.js.map +1 -0
  78. package/out/state.d.ts +595 -0
  79. package/out/state.d.ts.map +1 -0
  80. package/out/state.js +384 -0
  81. package/out/state.js.map +1 -0
  82. package/out/tabulation-block.d.ts +43 -0
  83. package/out/tabulation-block.d.ts.map +1 -0
  84. package/out/tabulation-block.js +9 -0
  85. package/out/tabulation-block.js.map +1 -0
  86. package/out/tract.d.ts +36 -0
  87. package/out/tract.d.ts.map +1 -0
  88. package/out/tract.js +8 -0
  89. package/out/tract.js.map +1 -0
  90. package/out/tsconfig.tsbuildinfo +1 -0
  91. package/package.json +41 -0
  92. package/sdk/data/nation/index.json +14642 -0
  93. package/sdk/index.ts +7 -0
  94. package/sdk/initialize.sql +161 -0
  95. package/sdk/state/TIGERTabulatedBlockEntity.ts +25 -0
  96. package/sdk/state/TIGERTractEntity.ts +34 -0
  97. package/sdk/state/block-operations.ts +69 -0
  98. package/sdk/state/index.ts +9 -0
  99. package/state.ts +553 -0
  100. package/tabulation-block.ts +68 -0
  101. package/tract.ts +52 -0
  102. package/tsconfig.json +16 -0
  103. package/typedoc.json +5 -0
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @copyright Sister Software.
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ */
6
+ import { smartSnakeCase } from "@mailwoman/core";
7
+ import { TIGERProperty } from "@mailwoman/tiger";
8
+ /**
9
+ * Default column selections for TIGER tabulated block entities.
10
+ *
11
+ * @internal
12
+ */
13
+ export const TIGERTabulatedBlockEntitySelections = [
14
+ TIGERProperty.GeoID,
15
+ TIGERProperty.UrbanizedAreaCode,
16
+ TIGERProperty.UrbanRuralCode,
17
+ TIGERProperty.HousingUnitCount,
18
+ TIGERProperty.LandAreaSqm,
19
+ TIGERProperty.WaterAreaSqm,
20
+ TIGERProperty.Population,
21
+ ].map((columnName) => smartSnakeCase(columnName));
22
+ //# sourceMappingURL=TIGERTabulatedBlockEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TIGERTabulatedBlockEntity.js","sourceRoot":"","sources":["../../../sdk/state/TIGERTabulatedBlockEntity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAC/C;IACC,aAAa,CAAC,KAAK;IACnB,aAAa,CAAC,iBAAiB;IAC/B,aAAa,CAAC,cAAc;IAC5B,aAAa,CAAC,gBAAgB;IAC9B,aAAa,CAAC,WAAW;IACzB,aAAa,CAAC,YAAY;IAC1B,aAAa,CAAC,UAAU;CAEzB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @copyright Sister Software.
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ */
6
+ import { AdminLevel1Code, type FIPSCountyCode, type FIPSTractCode } from "@mailwoman/tiger";
7
+ /**
8
+ * @internal
9
+ */
10
+ export interface TIGERTractShapeAttributes {
11
+ /**
12
+ * @title State FIPS Code
13
+ */
14
+ STATEFP: AdminLevel1Code;
15
+ /**
16
+ * @title County FIPS Code
17
+ * @minLength 3
18
+ * @maxLength 3
19
+ * @pattern ^\d{3}$
20
+ */
21
+ COUNTYFP: FIPSCountyCode;
22
+ /**
23
+ * @title Tract FIPS Code
24
+ *
25
+ * @minLength 6
26
+ * @maxLength 6
27
+ * @pattern ^\d{6}$
28
+ */
29
+ TRACTCE: FIPSTractCode;
30
+ }
31
+ //# sourceMappingURL=TIGERTractEntity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TIGERTractEntity.d.ts","sourceRoot":"","sources":["../../../sdk/state/TIGERTractEntity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAE3F;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACzC;;OAEG;IACH,OAAO,EAAE,eAAe,CAAA;IAExB;;;;;OAKG;IACH,QAAQ,EAAE,cAAc,CAAA;IAExB;;;;;;OAMG;IACH,OAAO,EAAE,aAAa,CAAA;CACtB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @copyright Sister Software.
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ */
6
+ import { AdminLevel1Code } from "@mailwoman/tiger";
7
+ //# sourceMappingURL=TIGERTractEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TIGERTractEntity.js","sourceRoot":"","sources":["../../../sdk/state/TIGERTractEntity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAA2C,MAAM,kBAAkB,CAAA"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @copyright Sister Software.
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ */
6
+ import type { GeometryLiteral } from "@mailwoman/spatial";
7
+ import { FIPSStateCode, type FIPSBlockGeoID, type FIPSTractCode, type TIGERBlockFeature, type TIGERBlockFeatureCollection, type TIGERTabulatedBlockProperties } from "@mailwoman/tiger";
8
+ export interface StateBlockIntersectionCriteria {
9
+ stateCode: FIPSStateCode;
10
+ geometry: GeometryLiteral;
11
+ tractCodes?: FIPSTractCode[];
12
+ }
13
+ /**
14
+ * @internal
15
+ */
16
+ export interface TIGERBlockRow extends TIGERTabulatedBlockProperties {
17
+ GEOID: FIPSBlockGeoID;
18
+ /**
19
+ * @format hex
20
+ */
21
+ serializedGeometry: string;
22
+ }
23
+ /**
24
+ * Given a row from the TIGER tabulated block table, parses it into a GeoJSON feature.
25
+ *
26
+ * @internal
27
+ */
28
+ export declare function parseTIGERBlockFromRow({ serializedGeometry, ...properties }: TIGERBlockRow): TIGERBlockFeature;
29
+ /**
30
+ * Given a collection of rows from the TIGER tabulated block table, parses them into a GeoJSON
31
+ * feature collection.
32
+ *
33
+ * @internal
34
+ */
35
+ export declare function parseTIGERBlockFeatureCollectionFromRows(rows: TIGERBlockRow[]): TIGERBlockFeatureCollection;
36
+ //# sourceMappingURL=block-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-operations.d.ts","sourceRoot":"","sources":["../../../sdk/state/block-operations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAuB,MAAM,oBAAoB,CAAA;AAE9E,OAAO,EACN,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,6BAA6B,EAClC,MAAM,kBAAkB,CAAA;AAEzB,MAAM,WAAW,8BAA8B;IAC9C,SAAS,EAAE,aAAa,CAAA;IACxB,QAAQ,EAAE,eAAe,CAAA;IACzB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAA;CAC5B;AAID;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,6BAA6B;IACnE,KAAK,EAAE,cAAc,CAAA;IACrB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAA;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,kBAAkB,EAAE,GAAG,UAAU,EAAE,EAAE,aAAa,GAAG,iBAAiB,CAS9G;AAED;;;;;GAKG;AACH,wBAAgB,wCAAwC,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,2BAA2B,CAQ3G"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @copyright Sister Software.
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ */
6
+ import { wellKnownGeometryToGeoJSON } from "@mailwoman/spatial/sdk";
7
+ import { FIPSStateCode, } from "@mailwoman/tiger";
8
+ /**
9
+ * Given a row from the TIGER tabulated block table, parses it into a GeoJSON feature.
10
+ *
11
+ * @internal
12
+ */
13
+ export function parseTIGERBlockFromRow({ serializedGeometry, ...properties }) {
14
+ const feature = {
15
+ type: "Feature",
16
+ id: properties.GEOID,
17
+ geometry: wellKnownGeometryToGeoJSON(Buffer.from(serializedGeometry, "hex")),
18
+ properties,
19
+ };
20
+ return feature;
21
+ }
22
+ /**
23
+ * Given a collection of rows from the TIGER tabulated block table, parses them into a GeoJSON
24
+ * feature collection.
25
+ *
26
+ * @internal
27
+ */
28
+ export function parseTIGERBlockFeatureCollectionFromRows(rows) {
29
+ const features = rows.map(parseTIGERBlockFromRow);
30
+ const featureCollection = {
31
+ type: "FeatureCollection",
32
+ features,
33
+ };
34
+ return featureCollection;
35
+ }
36
+ //#endregion
37
+ //# sourceMappingURL=block-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-operations.js","sourceRoot":"","sources":["../../../sdk/state/block-operations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EACN,aAAa,GAMb,MAAM,kBAAkB,CAAA;AAqBzB;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAE,kBAAkB,EAAE,GAAG,UAAU,EAAiB;IAC1F,MAAM,OAAO,GAAsB;QAClC,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,UAAU,CAAC,KAAK;QACpB,QAAQ,EAAE,0BAA0B,CAAsB,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACjG,UAAU;KACV,CAAA;IAED,OAAO,OAAO,CAAA;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wCAAwC,CAAC,IAAqB;IAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IACjD,MAAM,iBAAiB,GAAgC;QACtD,IAAI,EAAE,mBAAmB;QACzB,QAAQ;KACR,CAAA;IAED,OAAO,iBAAiB,CAAA;AACzB,CAAC;AAED,YAAY"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @copyright Sister Software.
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ */
6
+ export * from "./block-operations.js";
7
+ export * from "./TIGERTabulatedBlockEntity.js";
8
+ export * from "./TIGERTractEntity.js";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../sdk/state/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,uBAAuB,CAAA;AACrC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @copyright Sister Software.
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ */
6
+ export * from "./block-operations.js";
7
+ export * from "./TIGERTabulatedBlockEntity.js";
8
+ export * from "./TIGERTractEntity.js";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../sdk/state/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,uBAAuB,CAAA;AACrC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,uBAAuB,CAAA"}